xref: /csrg-svn/usr.bin/ftp/ftp_var.h (revision 10298)
1*10298Ssam /*	ftp_var.h	4.1	83/01/15	*/
2*10298Ssam 
3*10298Ssam /*
4*10298Ssam  * FTP global variables.
5*10298Ssam  */
6*10298Ssam 
7*10298Ssam /*
8*10298Ssam  * Options and other state info.
9*10298Ssam  */
10*10298Ssam int	trace;			/* trace packets exchanged */
11*10298Ssam int	verbose;		/* print messages coming back from server */
12*10298Ssam int	connected;		/* connected to server */
13*10298Ssam int	fromatty;		/* input is from a terminal */
14*10298Ssam int	interactive;		/* interactively prompt on m* cmds */
15*10298Ssam int	debug;			/* debugging level */
16*10298Ssam int	bell;			/* ring bell on cmd completion */
17*10298Ssam int	autologin;		/* establish user account on connection */
18*10298Ssam 
19*10298Ssam char	typename[32];		/* name of file transfer type */
20*10298Ssam int	type;			/* file transfer type */
21*10298Ssam char	structname[32];		/* name of file transfer structure */
22*10298Ssam int	stru;			/* file transfer structure */
23*10298Ssam char	formname[32];		/* name of file transfer format */
24*10298Ssam int	form;			/* file transfer format */
25*10298Ssam char	modename[32];		/* name of file transfer mode */
26*10298Ssam int	mode;			/* file transfer mode */
27*10298Ssam 
28*10298Ssam char	*hostname;		/* name of host connected to */
29*10298Ssam 
30*10298Ssam struct	servent *sp;		/* service spec for tcp/ftp */
31*10298Ssam 
32*10298Ssam #include <setjmp.h>
33*10298Ssam jmp_buf	toplevel;		/* non-local goto stuff for cmd scanner */
34*10298Ssam 
35*10298Ssam char	line[200];		/* input line buffer */
36*10298Ssam char	*stringbase;		/* current scan point in line buffer */
37*10298Ssam char	argbuf[200];		/* argument storage buffer */
38*10298Ssam char	*argbase;		/* current storage point in arg buffer */
39*10298Ssam int	margc;			/* count of arguments on input line */
40*10298Ssam char	*margv[20];		/* args parsed from input line */
41*10298Ssam 
42*10298Ssam int	options;		/* used during socket creation */
43*10298Ssam 
44*10298Ssam /*
45*10298Ssam  * Format of command table.
46*10298Ssam  */
47*10298Ssam struct cmd {
48*10298Ssam 	char	*c_name;	/* name of command */
49*10298Ssam 	char	*c_help;	/* help string */
50*10298Ssam 	char	c_bell;		/* give bell when command completes */
51*10298Ssam 	int	(*c_handler)();	/* function to call */
52*10298Ssam };
53*10298Ssam 
54*10298Ssam extern	char *tail();
55*10298Ssam extern	char *index();
56*10298Ssam extern	char *rindex();
57*10298Ssam extern	int errno;
58