dirlist
char **volatile dirlist;
dirlist = gl.gl_pathv;
dirlist = onefile;
while ((dirname = *dirlist++) != NULL) {
if (dirname[0] == '-' && *dirlist == NULL &&
struct dirlist *dirp;
struct dirlist *dirp;
static StringList *dirlist;
if (dirchange || dirlist == NULL ||
if (dirlist != NULL)
sl_free(dirlist, 1);
dirlist = ftp_sl_init();
ftp_sl_add(dirlist, tcp);
for (i = 0; i < dirlist->sl_cur; i++) {
cp = dirlist->sl_str[i];
struct dirlist *dirhead;
struct dirlist *dp_left;
struct dirlist *dp_right;
struct dirlist *ex_dirl;
struct dirlist *ex_defdir;
add_expdir(struct dirlist **dpp, char *cp, int len)
struct dirlist *dp;
dp = emalloc(sizeof(struct dirlist) + len);
hang_dirp(struct dirlist *dp, struct grouplist *grp, struct exportlist *ep,
struct dirlist *dp2;
add_dlist(struct dirlist **dpp, struct dirlist *newdp, struct grouplist *grp,
struct dirlist *dp;
static struct dirlist *
dirp_search(struct dirlist *dp, char *dirp)
chk_host(struct dirlist *dp, struct sockaddr *saddr, int *defsetp,
scan_tree(struct dirlist *dp, struct sockaddr *saddr)
free_dir(struct dirlist *dp)
static char *add_expdir(struct dirlist **, char *, int);
static void add_dlist(struct dirlist **, struct dirlist *,
static int check_options(const char *, size_t, struct dirlist *);
static int chk_host(struct dirlist *, struct sockaddr *, int *, int *);
static struct dirlist *dirp_search(struct dirlist *, char *);
static void free_dir(struct dirlist *);
static void hang_dirp(struct dirlist *, struct grouplist *,
static int put_exlist(struct dirlist *, XDR *, struct dirlist *, int *);
static int scan_tree(struct dirlist *, struct sockaddr *);
check_options(const char *line, size_t lineno, struct dirlist *dp)
struct dirlist *dp;
put_exlist(struct dirlist *dp, XDR *xdrsp, struct dirlist *adp, int *putdefp)