X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fftp.h;h=3b0fba59215763a8ea4fd5bd674d104f461f1c80;hp=02cd85e865d187afa92556eca304684906ab3cde;hb=320cfdcb658e8d6556ae9dfd902c2db1db866a6b;hpb=caae3b70f46bd519857b595f7f06ea0179551336 diff --git a/src/ftp.h b/src/ftp.h index 02cd85e8..3b0fba59 100644 --- a/src/ftp.h +++ b/src/ftp.h @@ -1,6 +1,7 @@ /* Declarations for FTP support. - Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, + Inc. This file is part of GNU Wget. @@ -44,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 **); @@ -60,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 *); -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 *); @@ -87,6 +96,13 @@ enum GLOB_GLOBALL, GLOB_GETALL, GLOB_GETONE }; +/* Used by to test if time parsed includes hours and minutes. */ +enum parsetype +{ + TT_HOUR_MIN, TT_DAY +}; + + /* Information about one filename in a linked list. */ struct fileinfo { @@ -94,6 +110,7 @@ struct fileinfo 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... */ @@ -115,12 +132,27 @@ 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 + 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); -uerr_t ftp_loop (struct url *, int *, struct url *, bool, bool); +uerr_t ftp_loop (struct url *, char **, int *, struct url *, bool, bool); uerr_t ftp_index (const char *, struct url *, struct fileinfo *);