X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fftp.h;h=78b5270ccab85e4aa11c460189bb95cd22220cc3;hp=be00d8806e2e7c551e3f24ea6b3e1107be1bde01;hb=8624553a31b148f9051cc11725bc01d9760fa07b;hpb=2f6aa1d7417df1dfc58597777686fbd77179b9fd diff --git a/src/ftp.h b/src/ftp.h index be00d880..78b5270c 100644 --- a/src/ftp.h +++ b/src/ftp.h @@ -45,6 +45,14 @@ enum stype ST_OTHER }; +/* Extensions of the ST_UNIX */ +enum ustype +{ + UST_TYPE_L8, + UST_MULTINET, + UST_OTHER +}; + extern char ftp_last_respline[]; uerr_t ftp_response (int, char **); @@ -61,8 +69,8 @@ uerr_t ftp_type (int, int); uerr_t ftp_cwd (int, const char *); uerr_t ftp_retr (int, const char *); uerr_t ftp_rest (int, wgint); -uerr_t ftp_list (int, const char *, enum stype); -uerr_t ftp_syst (int, enum stype *); +uerr_t ftp_list (int, const char *, bool, bool, bool *); +uerr_t ftp_syst (int, enum stype *, enum ustype *); uerr_t ftp_pwd (int, char **); uerr_t ftp_size (int, const char *, wgint *); @@ -98,34 +106,49 @@ enum parsetype /* Information about one filename in a linked list. */ struct fileinfo { - enum ftype type; /* file type */ - char *name; /* file name */ - wgint size; /* file size */ - long tstamp; /* time-stamp */ - enum parsetype ptype; /* time parsing */ - int perms; /* file permissions */ - char *linkto; /* link to which file points */ - struct fileinfo *prev; /* previous... */ - struct fileinfo *next; /* ...and next structure. */ + enum ftype type; /* file type */ + char *name; /* file name */ + wgint size; /* file size */ + long tstamp; /* time-stamp */ + enum parsetype ptype; /* time parsing */ + int perms; /* file permissions */ + char *linkto; /* link to which file points */ + struct fileinfo *prev; /* previous... */ + struct fileinfo *next; /* ...and next structure. */ }; /* Commands for FTP functions. */ enum wget_ftp_command { - DO_LOGIN = 0x0001, /* Connect and login to the server. */ - DO_CWD = 0x0002, /* Change current directory. */ - DO_RETR = 0x0004, /* Retrieve the file. */ - DO_LIST = 0x0008, /* Retrieve the directory list. */ - LEAVE_PENDING = 0x0010 /* Do not close the socket. */ + DO_LOGIN = 0x0001, /* Connect and login to the server. */ + DO_CWD = 0x0002, /* Change current directory. */ + DO_RETR = 0x0004, /* Retrieve the file. */ + DO_LIST = 0x0008, /* Retrieve the directory list. */ + LEAVE_PENDING = 0x0010 /* Do not close the socket. */ }; enum wget_ftp_fstatus { - NOTHING = 0x0000, /* Nothing done yet. */ - ON_YOUR_OWN = 0x0001, /* The ftp_loop_internal sets the - defaults. */ - DONE_CWD = 0x0002 /* The current working directory is - correct. */ + NOTHING = 0x0000, /* Nothing done yet. */ + ON_YOUR_OWN = 0x0001, /* The ftp_loop_internal sets the + defaults. */ + DONE_CWD = 0x0002, /* The current working directory is + correct. */ + + /* 2013-10-17 Andrea Urbani (matfanjol) + For more information about the following entries, please, + look at ftp.c, function getftp, text "__LIST_A_EXPLANATION__". */ + AVOID_LIST_A = 0x0004, /* It tells us if during this + session we have to avoid the use + of "LIST -a".*/ + AVOID_LIST = 0x0008, /* It tells us if during this + session we have to avoid to use + "LIST". */ + LIST_AFTER_LIST_A_CHECK_DONE = 0x0010 + /* It tells us if we have already + checked "LIST" after the first + "LIST -a" to handle the case of + file/folders named "-a". */ }; struct fileinfo *ftp_parse_ls (const char *, const enum stype);