root/crypto/heimdal/appl/ftp/ftp/globals.c
#include "ftp_locl.h"
RCSID("$Id$");

/*
 * Options and other state info.
 */
int     trace;                  /* trace packets exchanged */
int     hash;                   /* print # for each buffer transferred */
int     sendport;               /* use PORT cmd for each data connection */
int     verbose;                /* print messages coming back from server */
int     connected;              /* connected to server */
int     fromatty;               /* input is from a terminal */
int     interactive;            /* interactively prompt on m* cmds */
int     lineedit;               /* use line-editing */
int     debug;                  /* debugging level */
int     bell;                   /* ring bell on cmd completion */
int     doglob;                 /* glob local file names */
int     doencrypt;              /* try to use encryption */
int     autologin;              /* establish user account on connection */
int     proxy;                  /* proxy server connection active */
int     proxflag;               /* proxy connection exists */
int     sunique;                /* store files on server with unique name */
int     runique;                /* store local files with unique name */
int     mcase;                  /* map upper to lower case for mget names */
int     ntflag;                 /* use ntin ntout tables for name translation */
int     mapflag;                /* use mapin mapout templates on file names */
int     code;                   /* return/reply code for ftp command */
int     crflag;                 /* if 1, strip car. rets. on ascii gets */
char    pasv[64];               /* passive port for proxy data connection */
int     passivemode;            /* passive mode enabled */
char    *altarg;                /* argv[1] with no shell-like preprocessing  */
char    ntin[17];               /* input translation table */
char    ntout[17];              /* output translation table */
char    mapin[MaxPathLen];      /* input map template */
char    mapout[MaxPathLen];     /* output map template */
char    typename[32];           /* name of file transfer type */
int     type;                   /* requested file transfer type */
int     curtype;                /* current file transfer type */
char    structname[32];         /* name of file transfer structure */
int     stru;                   /* file transfer structure */
char    formname[32];           /* name of file transfer format */
int     form;                   /* file transfer format */
char    modename[32];           /* name of file transfer mode */
int     mode;                   /* file transfer mode */
char    bytename[32];           /* local byte size in ascii */
int     bytesize;               /* local byte size in binary */

char    *hostname;              /* name of host connected to */
int     unix_server;            /* server is unix, can use binary for ascii */
int     unix_proxy;             /* proxy is unix, can use binary for ascii */

jmp_buf toplevel;               /* non-local goto stuff for cmd scanner */

char    line[200];              /* input line buffer */
char    *stringbase;            /* current scan point in line buffer */
char    argbuf[200];            /* argument storage buffer */
char    *argbase;               /* current storage point in arg buffer */
int     margc;                  /* count of arguments on input line */
char    **margv;                /* args parsed from input line */
int     margvlen;               /* how large margv is currently */
int     cpend;                  /* flag: if != 0, then pending server reply */
int     mflag;                  /* flag: if != 0, then active multi command */

int     options;                /* used during socket creation */
int     use_kerberos;           /* use Kerberos authentication */

/*
 * Format of command table.
 */

int macnum;                     /* number of defined macros */
struct macel macros[16];
char macbuf[4096];

char username[32];

/* these are set in ruserpassword */
char myhostname[MaxHostNameLen];
char *mydomain;