file, but you are not obligated to do so. If you do not wish to do
so, delete this exception statement from your version. */
-/* Needed for FDP. */
-#include <stdio.h>
-
struct options
{
int verbose; /* Are we verbose? */
int no_dirstruct; /* Do we hate dirstruct? */
int cut_dirs; /* Number of directory components to cut. */
int add_hostdir; /* Do we add hostname directory? */
+ int protocol_directories; /* Whether to prepend "http"/"ftp" to dirs. */
int noclobber; /* Disables clobbering of existing
data. */
char *dir_prefix; /* The top of directory tree */
FTP. */
char *output_document; /* The output file to which the
documents will be printed. */
- int od_known_regular; /* whether output_document is a
- regular file we can manipulate,
- i.e. not `-' or a device file. */
- FILE *dfp; /* The file pointer to the output
- document. */
int always_rest; /* Always use REST. */
char *ftp_acc; /* FTP username */
char *http_user; /* HTTP user. */
char *http_passwd; /* HTTP password. */
- char *user_header; /* User-defined header(s). */
+ char **user_headers; /* User-defined header(s). */
int http_keep_alive; /* whether we use keep-alive */
int use_proxy; /* Do we use proxy? */
char *progress_type; /* progress indicator type. */
char *proxy_user; /*oli*/
char *proxy_passwd;
-#ifdef HAVE_SELECT
- long timeout; /* The value of read timeout in
- seconds. */
-#endif
+
+ double read_timeout; /* The read/write timeout. */
+ double dns_timeout; /* The DNS timeout. */
+ double connect_timeout; /* The connect timeout. */
+
int random_wait; /* vary from 0 .. wait secs by random()? */
- long wait; /* The wait period between retrievals. */
- long waitretry; /* The wait period between retries. - HEH */
+ double wait; /* The wait period between retrievals. */
+ double waitretry; /* The wait period between retries. - HEH */
int use_robots; /* Do we heed robots.txt? */
long limit_rate; /* Limit the download rate to this
many bps. */
- long quota; /* Maximum number of bytes to
- retrieve. */
- VERY_LONG_TYPE downloaded; /* How much we downloaded already. */
- int downloaded_overflow; /* Whether the above overflowed. */
+ LARGE_INT quota; /* Maximum file size to download and
+ store. */
int numurls; /* Number of successfully downloaded
URLs */
int save_headers; /* Do we save headers together with
file? */
-#ifdef DEBUG
+#ifdef ENABLE_DEBUG
int debug; /* Debugging on/off */
-#endif /* DEBUG */
+#endif
int timestamping; /* Whether to use time-stamping. */
int sslprotocol; /* 0 = auto / 1 = v2 / 2 = v3 / 3 = TLSv1 */
#endif /* HAVE_SSL */
- int cookies;
- char *cookies_input;
- char *cookies_output;
+ int cookies; /* whether cookies are used. */
+ char *cookies_input; /* file we're loading the cookies from. */
+ char *cookies_output; /* file we're saving the cookies to. */
+ int keep_session_cookies; /* whether session cookies should be
+ saved and loaded. */
char *post_data; /* POST query string */
char *post_file_name; /* File to post */
enum {
- restrict_none,
- restrict_shell,
+ restrict_unix,
restrict_windows
- } restrict_file_names; /* whether we restrict file name chars. */
+ } restrict_files_os; /* file name restriction ruleset. */
+ int restrict_files_ctrl; /* non-zero if control chars in URLs
+ are restricted from appearing in
+ generated file names. */
+
+ int strict_comments; /* whether strict SGML comments are
+ enforced. */
+
+ int preserve_perm; /* whether remote permissions are used
+ or that what is set by umask. */
+
+#ifdef ENABLE_IPV6
+ int ipv4_only; /* IPv4 connections have been requested. */
+ int ipv6_only; /* IPv4 connections have been requested. */
+#endif
};
extern struct options opt;