/* Declarations for FTP support.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007 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.
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 **);
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 *);
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
{
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... */
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 *);