ReactOS 0.4.16-dev-297-gc569aee
main.c File Reference
#include "precomp.h"
#include <fcntl.h>
Include dependency graph for main.c:

Go to the source code of this file.

Macros

#define HELPINDENT   (sizeof ("directory"))
 

Functions

uid_t getuid (void)
 
void intr (void)
 
void lostpeer (void)
 
chargetlogin (void)
 
static const charslurpstring ()
 
int main (int argc, const char *argv[])
 
void cmdscanner (int top)
 
struct cmdgetcmd (const char *name)
 
void makeargv (void)
 
void help (int argc, const char *argv[])
 

Variables

char copyright []
 
static char sccsid [] = "@(#)main.c based on 5.13 (Berkeley) 3/14/89"
 
short portnum
 
char home [128]
 
chargloberr
 
int autologin
 
int trace
 
int hash
 
int verbose
 
int connected
 
int fromatty
 
int interactive
 
int debug
 
int bell
 
int doglob
 
int proxy
 
int passivemode
 
int proxflag
 
int sunique
 
int runique
 
int mcase
 
int ntflag
 
int mapflag
 
int code
 
int crflag
 
char pasv [64]
 
charaltarg
 
char ntin [17]
 
char ntout [17]
 
char mapin [MAXPATHLEN]
 
char mapout [MAXPATHLEN]
 
char typename [32]
 
int type
 
char structname [32]
 
int stru
 
char formname [32]
 
int form
 
char modename [32]
 
int mode
 
char bytename [32]
 
int bytesize
 
jmp_buf toplevel
 
char line [200]
 
charstringbase
 
char argbuf [200]
 
charargbase
 
int margc
 
const charmargv [20]
 
int cpend
 
int mflag
 
int options
 
int macnum
 
struct macel macros [16]
 
char macbuf [4096]
 
int sendport = -1
 
int slrflag
 

Macro Definition Documentation

◆ HELPINDENT

#define HELPINDENT   (sizeof ("directory"))

Definition at line 529 of file main.c.

Function Documentation

◆ cmdscanner()

void cmdscanner ( int  top)

Definition at line 311 of file main.c.

312{
313 register struct cmd *c;
314
315 if (!top)
316 (void) putchar('\n');
317 for (;;) {
318 (void) fflush(stdout);
319 if (fromatty) {
320 printf("ftp> ");
321 (void) fflush(stdout);
322 }
323 if (gets(line) == 0) {
324 if (feof(stdin) || ferror(stdin))
325 quit(0, NULL);
326 break;
327 }
328 if (line[0] == 0)
329 break;
330 makeargv();
331 if (margc == 0) {
332 continue;
333 }
334 c = getcmd(margv[0]);
335 if (c == (struct cmd *)-1) {
336 printf("?Ambiguous command\n");
337 continue;
338 }
339 if (c == 0) {
340 printf("?Invalid command\n");
341 continue;
342 }
343 if (c->c_conn && !connected) {
344 printf ("Not connected.\n");
345 continue;
346 }
347 (*c->c_handler)(margc, margv);
348 if (bell && c->c_bell)
349 (void) putchar('\007');
350 if (c->c_handler != help)
351 break;
352 }
353 (void) fflush(stdout);
354// (void) signal(SIGINT, intr);
355// (void) signal(SIGPIPE, lostpeer);
356}
int help
Definition: sort.c:20
void quit(int argc, const char *argv[])
Definition: cmds.c:1606
const char * margv[20]
Definition: main.c:102
int bell
Definition: main.c:65
struct cmd * getcmd(const char *name)
Definition: main.c:359
int connected
Definition: main.c:61
int fromatty
Definition: main.c:62
int margc
Definition: main.c:101
void makeargv(void)
Definition: main.c:393
int putchar(int c)
Definition: crtsupp.c:12
#define NULL
Definition: types.h:112
#define printf
Definition: freeldr.h:97
const GLubyte * c
Definition: glext.h:8905
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
#define stdout
Definition: stdio.h:99
_Check_return_ _CRTIMP int __cdecl ferror(_In_ FILE *_File)
_Check_return_ _CRTIMP int __cdecl feof(_In_ FILE *_File)
_Check_return_opt_ _CRTIMP int __cdecl fflush(_Inout_opt_ FILE *_File)
#define stdin
Definition: stdio.h:98
_CRTIMP char *__cdecl gets(char *_Buffer)
Definition: file.c:3645
#define c
Definition: ke_i.h:80
Definition: ftp_var.h:139
Definition: parser.c:49

Referenced by main().

◆ getcmd()

struct cmd * getcmd ( const char name)

Definition at line 359 of file main.c.

360{
361 extern struct cmd cmdtab[];
362 const char *p, *q;
363 struct cmd *c, *found;
364 int nmatches, longest;
365
366 longest = 0;
367 nmatches = 0;
368 found = 0;
369 for (c = cmdtab; (p = c->c_name); c++) {
370 for (q = name; *q == *p++; q++)
371 if (*q == 0) /* exact match? */
372 return (c);
373 if (!*q) { /* the name was a prefix */
374 if (q - name > longest) {
375 longest = q - name;
376 nmatches = 1;
377 found = c;
378 } else if (q - name == longest)
379 nmatches++;
380 }
381 }
382 if (nmatches > 1)
383 return ((struct cmd *)-1);
384 return (found);
385}
struct cmd cmdtab[]
Definition: cmdtab.c:95
GLdouble GLdouble GLdouble GLdouble q
Definition: gl.h:2063
GLfloat GLfloat p
Definition: glext.h:8902
Definition: name.c:39

Referenced by cmdscanner(), domacro(), doproxy(), and help().

◆ getlogin()

char * getlogin ( void  )

Referenced by GetPwByName(), gl_set_home_dir(), and main().

◆ getuid()

uid_t getuid ( void  )

Definition at line 27 of file uid.c.

28{
29 return (0);
30}

Referenced by main().

◆ help()

void help ( int  argc,
const char argv[] 
)

Definition at line 535 of file main.c.

536{
537 extern struct cmd cmdtab[];
538 struct cmd *c;
539
540 if (argc == 1) {
541 register int i, j, w, k;
542 int columns, width = 0, lines;
543 extern int NCMDS;
544
545 printf("Commands may be abbreviated. Commands are:\n\n");
546 for (c = cmdtab; c < &cmdtab[NCMDS]; c++) {
547 int len = strlen(c->c_name);
548
549 if (len > width)
550 width = len;
551 }
552 width = (width + 8) &~ 7;
553 columns = 80 / width;
554 if (columns == 0)
555 columns = 1;
556 lines = (NCMDS + columns - 1) / columns;
557 for (i = 0; i < lines; i++) {
558 for (j = 0; j < columns; j++) {
559 c = cmdtab + j * lines + i;
560 if (c->c_name && (!proxy || c->c_proxy)) {
561 printf("%s", c->c_name);
562 }
563 else if (c->c_name) {
564 for (k=0; k < (int) strlen(c->c_name); k++) {
565 (void) putchar(' ');
566 }
567 }
568 if (c + lines >= &cmdtab[NCMDS]) {
569 printf("\n");
570 break;
571 }
572 w = strlen(c->c_name);
573 while (w < width) {
574 w = (w + 8) &~ 7;
575 (void) putchar('\t');
576 }
577 }
578 }
579 (void) fflush(stdout);
580 return;
581 }
582 while (--argc > 0) {
583 const char *arg;
584 arg = *++argv;
585 c = getcmd(arg);
586 if (c == (struct cmd *)-1)
587 printf("?Ambiguous help command %s\n", arg);
588 else if (c == (struct cmd *)0)
589 printf("?Invalid help command %s\n", arg);
590 else
591 printf("%-*s\t%s\n", (int)HELPINDENT,
592 c->c_name, c->c_help);
593 }
594 (void) fflush(stdout);
595}
static int argc
Definition: ServiceArgs.c:12
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
int proxy
Definition: main.c:67
#define HELPINDENT
Definition: main.c:529
int NCMDS
Definition: cmdtab.c:171
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum GLsizei len
Definition: glext.h:6722
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
int k
Definition: mpi.c:3369
#define argv
Definition: mplay32.c:18
eMaj lines
Definition: tritemp.h:206
void * arg
Definition: msvc.h:10

◆ intr()

void intr ( void  )

Definition at line 258 of file main.c.

259{
260 longjmp(toplevel, 1);
261}
jmp_buf toplevel
Definition: main.c:95

Referenced by UhciInterruptService().

◆ lostpeer()

void lostpeer ( void  )

Definition at line 263 of file main.c.

264{
265 extern SOCKET cout;
266 extern int data;
267
268 if (connected) {
269 if (cout) {
271 cout = 0;
272 }
273 if (data >= 0) {
274 (void) shutdown(data, 1+1);
275 (void) close(data);
276 data = -1;
277 }
278 connected = 0;
279 }
280 pswitch(1);
281 if (connected) {
282 if (cout) {
284 cout = 0;
285 }
286 connected = 0;
287 }
288 proxflag = 0;
289 pswitch(0);
290}
#define close
Definition: acwin.h:98
void pswitch(int flag)
Definition: ftp.c:1310
int proxflag
Definition: main.c:69
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define cout
Definition: iostream.cpp:38
#define closesocket
Definition: ncftp.h:477
INT WSAAPI shutdown(IN SOCKET s, IN INT how)
Definition: sockctrl.c:506
UINT_PTR SOCKET
Definition: winsock.h:47

Referenced by getreply(), proxtrans(), recvrequest(), and reset().

◆ main()

int main ( int argc  ,
const char argv[] 
)

Definition at line 122 of file main.c.

123{
124 const char *cp;
125 int top;
126#if 0
127 char homedir[MAXPATHLEN];
128#endif
129
130 int err;
131 WORD wVerReq;
132
134 struct servent *sp; /* service spec for tcp/ftp */
135
136 /* Disable output buffering, for the benefit of Emacs. */
137 //setbuf(stdout, NULL);
138
139 _fmode = O_BINARY; // This causes an error somewhere.
140
141 wVerReq = MAKEWORD(1,1);
142
143 err = WSAStartup(wVerReq, &WSAData);
144 if (err != 0)
145 {
146 fprintf(stderr, "Could not initialize Windows socket interface.");
147 exit(1);
148 }
149
150 sp = getservbyname("ftp", "tcp");
151 if (sp == 0) {
152 fprintf(stderr, "ftp: ftp/tcp: unknown service\n");
153 exit(1);
154 }
155
156 portnum = sp->s_port;
157
158
159 doglob = 1;
160 interactive = 1;
161 autologin = 1;
162 argc--, argv++;
163 while (argc > 0 && **argv == '-') {
164 for (cp = *argv + 1; *cp; cp++)
165 switch (*cp) {
166
167 case 'd':
168 options |= SO_DEBUG;
169 debug++;
170 break;
171
172 case 'v':
173 verbose++;
174 break;
175
176 case 't':
177 trace++;
178 break;
179
180 case 'i':
181 interactive = 0;
182 break;
183
184 case 'n':
185 autologin = 0;
186 break;
187
188 case 'g':
189 doglob = 0;
190 break;
191
192 default:
194 "ftp: %c: unknown option\n", *cp);
195 exit(1);
196 }
197 argc--, argv++;
198 }
199// fromatty = isatty(fileno(stdin));
200 fromatty = 1; // Strengthen this test
201 /*
202 * Set up defaults for FTP.
203 */
204 (void) strcpy(typename, "ascii"), type = TYPE_A;
205 (void) strcpy(formname, "non-print"), form = FORM_N;
206 (void) strcpy(modename, "stream"), mode = MODE_S;
207 (void) strcpy(structname, "file"), stru = STRU_F;
208 (void) strcpy(bytename, "8"), bytesize = 8;
209 if (fromatty)
210 verbose++;
211 cpend = 0; /* no pending replies */
212 proxy = 0; /* proxy not active */
213 passivemode = 1; /* passive mode *is* active */
214 crflag = 1; /* strip c.r. on ascii gets */
215 /*
216 * Set up the home directory in case we're globbing.
217 */
218#if 0
219 cp = getlogin();
220 if (cp != NULL) {
221 pw = getpwnam(cp);
222 }
223 if (pw == NULL)
224 pw = getpwuid(getuid());
225 if (pw != NULL) {
226 home = homedir;
227 (void) strcpy(home, pw->pw_dir);
228 }
229#endif
230 cp = getenv("SystemDrive");
231 if (cp != NULL && *cp != 0)
232 {
233 strcpy(home, cp);
234 strcat(home, "/");
235 }
236 else
237 {
238 strcpy(home, "C:/");
239 }
240 if (argc > 0) {
241 if (setjmp(toplevel))
242 exit(0);
243// (void) signal(SIGINT, intr);
244// (void) signal(SIGPIPE, lostpeer);
245 setpeer(argc + 1, argv - 1);
246 }
247 top = setjmp(toplevel) == 0;
248 if (top) {
249// (void) signal(SIGINT, intr);
250// (void) signal(SIGPIPE, lostpeer);
251 }
252 for (;;) {
254 top = 1;
255 }
256}
char * strcat(char *DstString, const char *SrcString)
Definition: utclib.c:568
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
#define O_BINARY
Definition: acwin.h:109
void setpeer(int argc, const char *argv[])
Definition: cmds.c:49
char formname[32]
Definition: main.c:88
int verbose
Definition: main.c:60
void cmdscanner(int top)
Definition: main.c:311
int passivemode
Definition: main.c:68
uid_t getuid(void)
Definition: uid.c:27
int crflag
Definition: main.c:76
int form
Definition: main.c:89
int autologin
Definition: main.c:49
int stru
Definition: main.c:87
int trace
Definition: main.c:57
int cpend
Definition: main.c:103
int debug
Definition: main.c:64
int bytesize
Definition: main.c:93
char modename[32]
Definition: main.c:90
int doglob
Definition: main.c:66
char structname[32]
Definition: main.c:86
int interactive
Definition: main.c:63
short portnum
Definition: main.c:45
char * getlogin(void)
char bytename[32]
Definition: main.c:92
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
Definition: startup.c:113
unsigned short WORD
Definition: ntddk_ex.h:93
#define STRU_F
Definition: ftp_var.h:50
#define MODE_S
Definition: ftp_var.h:46
#define TYPE_A
Definition: ftp_var.h:36
#define FORM_N
Definition: ftp_var.h:54
#define MAXPATHLEN
Definition: ftp_var.h:35
PSERVENT WSAAPI getservbyname(IN const char FAR *name, IN const char FAR *proto)
Definition: getxbyxx.c:500
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLenum mode
Definition: glext.h:6217
#define stderr
Definition: stdio.h:100
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
_CRTIMP int _fmode
Definition: fmode.c:4
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
POINT cp
Definition: magnifier.c:59
static const WCHAR sp[]
Definition: suminfo.c:287
#define err(...)
#define exit(n)
Definition: config.h:202
Definition: tftpd.h:38
#define MAKEWORD(a, b)
Definition: typedefs.h:248
#define setjmp
Definition: setjmp.h:209
#define SO_DEBUG
Definition: winsock.h:178

◆ makeargv()

void makeargv ( void  )

Definition at line 393 of file main.c.

394{
395 const char **argp;
396
397 margc = 0;
398 argp = margv;
399 stringbase = line; /* scan from first of buffer */
400 argbase = argbuf; /* store from first of buffer */
401 slrflag = 0;
402 while ((*argp++ = slurpstring()))
403 margc++;
404}
char argbuf[200]
Definition: main.c:99
char line[200]
Definition: main.c:97
char * argbase
Definition: main.c:100
static const char * slurpstring()
Definition: main.c:412
char * stringbase
Definition: main.c:98
int slrflag
Definition: main.c:391

Referenced by cd(), cmdscanner(), delete(), do_chmod(), domacro(), doproxy(), getit(), login(), macdef(), makedir(), mdelete(), mget(), mls(), modtime(), mput(), put(), quote(), removedir(), renamefile(), setnmap(), setpeer(), site(), sizecmd(), and user().

◆ slurpstring()

static const char * slurpstring ( void  )
static

Definition at line 412 of file main.c.

413{
414 int got_one = 0;
415 register char *sb = stringbase;
416 register char *ap = argbase;
417 char *tmp = argbase; /* will return this if token found */
418
419 if (*sb == '!' || *sb == '$') { /* recognize ! as a token for shell */
420 switch (slrflag) { /* and $ as token for macro invoke */
421 case 0:
422 slrflag++;
423 stringbase++;
424 return ((*sb == '!') ? "!" : "$");
425 /* NOTREACHED */
426 case 1:
427 slrflag++;
429 break;
430 default:
431 break;
432 }
433 }
434
435S0:
436 switch (*sb) {
437
438 case '\0':
439 goto OUT1;
440
441 case ' ':
442 case '\t':
443 sb++; goto S0;
444
445 default:
446 switch (slrflag) {
447 case 0:
448 slrflag++;
449 break;
450 case 1:
451 slrflag++;
452 altarg = sb;
453 break;
454 default:
455 break;
456 }
457 goto S1;
458 }
459
460S1:
461 switch (*sb) {
462
463 case ' ':
464 case '\t':
465 case '\0':
466 goto OUT1; /* end of token */
467
468 case '\\':
469 sb++; goto S2; /* slurp next character */
470
471 case '"':
472 sb++; goto S3; /* slurp quoted string */
473
474 default:
475 *ap++ = *sb++; /* add character to token */
476 got_one = 1;
477 goto S1;
478 }
479
480S2:
481 switch (*sb) {
482
483 case '\0':
484 goto OUT1;
485
486 default:
487 *ap++ = *sb++;
488 got_one = 1;
489 goto S1;
490 }
491
492S3:
493 switch (*sb) {
494
495 case '\0':
496 goto OUT1;
497
498 case '"':
499 sb++; goto S1;
500
501 default:
502 *ap++ = *sb++;
503 got_one = 1;
504 goto S3;
505 }
506
507OUT1:
508 if (got_one)
509 *ap++ = '\0';
510 argbase = ap; /* update storage pointer */
511 stringbase = sb; /* update scan pointer */
512 if (got_one) {
513 return(tmp);
514 }
515 switch (slrflag) {
516 case 0:
517 slrflag++;
518 break;
519 case 1:
520 slrflag++;
521 altarg = (char *) 0;
522 break;
523 default:
524 break;
525 }
526 return((char *)0);
527}
char * altarg
Definition: main.c:78
void got_one(struct protocol *l)
Definition: dispatch.c:194
superblock * sb
Definition: btrfs.c:4261
#define S2(x)
Definition: test.h:222
#define S1(x)
Definition: test.h:221
#define S3(x)
Definition: test.h:223
void int int ULONGLONG int va_list * ap
Definition: winesup.h:36

Referenced by makeargv().

Variable Documentation

◆ altarg

char* altarg

Definition at line 78 of file main.c.

Referenced by setnmap(), shell(), and slurpstring().

◆ argbase

char* argbase

Definition at line 100 of file main.c.

Referenced by makeargv(), and slurpstring().

◆ argbuf

char argbuf[200]

Definition at line 99 of file main.c.

Referenced by makeargv().

◆ autologin

int autologin

Definition at line 49 of file main.c.

Referenced by main(), and setpeer().

◆ bell

int bell

Definition at line 65 of file main.c.

Referenced by cmdscanner(), domacro(), setbell(), and status().

◆ bytename

char bytename[32]

Definition at line 92 of file main.c.

Referenced by main().

◆ bytesize

int bytesize

Definition at line 93 of file main.c.

Referenced by main().

◆ code

Definition at line 75 of file main.c.

◆ connected

int connected

Definition at line 61 of file main.c.

Referenced by cmdscanner(), and lostpeer().

◆ copyright

char copyright[]
Initial value:
=
"@(#) Copyright (c) 1985, 1989 Regents of the University of California.\n\
All rights reserved.\n"

Definition at line 27 of file main.c.

Referenced by pvd_write().

◆ cpend

int cpend

Definition at line 103 of file main.c.

Referenced by command(), getreply(), main(), proxtrans(), pswitch(), recvrequest(), and sendrequest().

◆ crflag

int crflag

Definition at line 76 of file main.c.

Referenced by main(), recvrequest(), setcr(), and status().

◆ debug

int debug

Definition at line 64 of file main.c.

Referenced by main().

◆ doglob

int doglob

Definition at line 66 of file main.c.

Referenced by globulize(), main(), mput(), remglob(), setglob(), and status().

◆ form

◆ formname

char formname[32]

Definition at line 88 of file main.c.

Referenced by main(), setform(), and status().

◆ fromatty

int fromatty

Definition at line 62 of file main.c.

Referenced by cmdscanner(), main(), mdelete(), mget(), mls(), and mput().

◆ globerr

char* globerr

Definition at line 48 of file main.c.

Referenced by globulize(), and mput().

◆ hash

Definition at line 58 of file main.c.

Referenced by CRYPTDLG_IsCertAllowed().

◆ home

char home[128]

Definition at line 47 of file main.c.

Referenced by lcd().

◆ interactive

int interactive

Definition at line 63 of file main.c.

Referenced by main(), and WinMain().

◆ line

char line[200]

Definition at line 97 of file main.c.

Referenced by makeargv().

◆ macbuf

char macbuf[4096]

Definition at line 110 of file main.c.

Referenced by macdef(), and ruserpass().

◆ macnum

int macnum

Definition at line 108 of file main.c.

Referenced by disconnect(), domacro(), login(), macdef(), ruserpass(), and status().

◆ macros

struct macel macros[16]

Definition at line 109 of file main.c.

Referenced by domacro(), login(), macdef(), ruserpass(), and status().

◆ mapflag

int mapflag

Definition at line 74 of file main.c.

Referenced by getit(), mget(), mput(), pswitch(), put(), setnmap(), and status().

◆ mapin

char mapin[MAXPATHLEN]

Definition at line 82 of file main.c.

Referenced by domap(), pswitch(), setnmap(), and status().

◆ mapout

char mapout[MAXPATHLEN]

Definition at line 83 of file main.c.

Referenced by domap(), pswitch(), setnmap(), and status().

◆ margc

◆ margv

◆ mcase

int mcase

Definition at line 72 of file main.c.

Referenced by getit(), mget(), mput(), pswitch(), setcase(), and status().

◆ mflag

int mflag

Definition at line 104 of file main.c.

◆ mode

Definition at line 91 of file main.c.

◆ modename

char modename[32]

Definition at line 90 of file main.c.

Referenced by fsetmode(), main(), and status().

◆ ntflag

int ntflag

Definition at line 73 of file main.c.

Referenced by getit(), mget(), mput(), pswitch(), put(), setntrans(), and status().

◆ ntin

char ntin[17]

Definition at line 79 of file main.c.

Referenced by dotrans(), pswitch(), setntrans(), and status().

◆ ntout

char ntout[17]

Definition at line 80 of file main.c.

Referenced by dotrans(), pswitch(), setntrans(), and status().

◆ options

Definition at line 106 of file main.c.

◆ passivemode

int passivemode

Definition at line 68 of file main.c.

Referenced by dataconn(), initconn(), main(), and setpassive().

◆ pasv

char pasv[64]

Definition at line 77 of file main.c.

Referenced by getreply(), initconn(), and proxtrans().

◆ portnum

short portnum

Definition at line 45 of file main.c.

Referenced by main(), and setpeer().

◆ proxflag

int proxflag

Definition at line 69 of file main.c.

Referenced by doproxy(), getreply(), and lostpeer().

◆ proxy

◆ runique

int runique

Definition at line 71 of file main.c.

Referenced by proxtrans(), pswitch(), recvrequest(), setrunique(), and status().

◆ sccsid

char sccsid[] = "@(#)main.c based on 5.13 (Berkeley) 3/14/89"
static

Definition at line 33 of file main.c.

◆ sendport

int sendport = -1

Definition at line 117 of file main.c.

Referenced by initconn(), setport(), and status().

◆ slrflag

int slrflag

Definition at line 391 of file main.c.

Referenced by makeargv(), and slurpstring().

◆ stringbase

char* stringbase

Definition at line 98 of file main.c.

Referenced by makeargv(), and slurpstring().

◆ stru

int stru

Definition at line 87 of file main.c.

Referenced by main().

◆ structname

char structname[32]

Definition at line 86 of file main.c.

Referenced by main(), setstruct(), and status().

◆ sunique

int sunique

Definition at line 70 of file main.c.

Referenced by mput(), pswitch(), put(), setsunique(), and status().

◆ toplevel

jmp_buf toplevel

◆ trace

◆ type

Definition at line 85 of file main.c.

◆ typename

char typename[32]

Definition at line 84 of file main.c.

Referenced by of_type().

◆ verbose

int verbose

Definition at line 60 of file main.c.

Referenced by main().