]> sjero.net Git - wget/blobdiff - src/options.h
[svn] Add --random-file option. Bail out in case of error during
[wget] / src / options.h
index 00d89c349312ad1da002649fc0fe2c112bdf09b5..6e968aac331de239cb5e82480f2e6364032c3407 100644 (file)
@@ -27,9 +27,6 @@ modify this file, you may extend this exception to your version of the
 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? */
@@ -53,6 +50,7 @@ struct options
   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 */
@@ -81,11 +79,6 @@ struct options
                                   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 */
@@ -96,7 +89,7 @@ struct options
 
   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? */
@@ -117,7 +110,7 @@ struct options
   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
+  wgint limit_rate;            /* Limit the download rate to this
                                   many bps. */
   LARGE_INT quota;             /* Maximum file size to download and
                                   store. */
@@ -151,7 +144,7 @@ struct options
                                   listings? */
 
   char *dot_style;
-  long dot_bytes;              /* How many bytes in a printing
+  wgint dot_bytes;             /* How many bytes in a printing
                                   dot. */
   int dots_in_line;            /* How many dots in one line. */
   int dot_spacing;             /* How many dots between spacings. */
@@ -164,17 +157,30 @@ struct options
   int page_requisites;         /* Whether we need to download all files
                                   necessary to display a page properly. */
   char *bind_address;          /* What local IP address to bind to. */
+
 #ifdef HAVE_SSL
-  char *sslcadir;              /* CA directory (hash files) */
-  char *sslcafile;             /* CA File to use */
-  char *sslcertfile;           /* external client cert to use. */
-  char *sslcertkey;            /* the keyfile for this certificate
-                                  (if not internal) included in the
-                                  certfile. */
-  int   sslcerttype;           /* 0 = PEM / 1=ASN1 (DER) */
-  int   sslcheckcert;          /* 0 do not check / 1 check server cert */
-  char *sslegdsock;             /* optional socket of the egd daemon */
-  int   sslprotocol;           /* 0 = auto / 1 = v2 / 2 = v3 / 3 = TLSv1 */
+  enum {
+    secure_protocol_auto,
+    secure_protocol_sslv2,
+    secure_protocol_sslv3,
+    secure_protocol_tlsv1
+  } secure_protocol;           /* type of secure protocol to use. */
+  int check_cert;              /* whether to validate the server's cert */
+  char *cert_file;             /* external client certificate to use. */
+  char *private_key;           /* private key file (if not internal). */
+  enum keyfile_type {
+    keyfile_pem,
+    keyfile_asn1
+  } cert_type;                 /* type of client certificate file */
+  enum keyfile_type
+    private_key_type;          /* type of private key file */
+
+  char *ca_directory;          /* CA directory (hash files) */
+  char *ca_cert;               /* CA certificate file to use */
+
+
+  char *random_file;           /* file with random data to seed the PRNG */
+  char *egd_file;              /* file name of the egd daemon socket */
 #endif /* HAVE_SSL */
 
   int   cookies;               /* whether cookies are used. */
@@ -204,6 +210,12 @@ struct options
   int ipv4_only;               /* IPv4 connections have been requested. */
   int ipv6_only;               /* IPv4 connections have been requested. */
 #endif
+  enum {
+    prefer_ipv4,
+    prefer_ipv6,
+    prefer_none
+  } prefer_family;             /* preferred address family when more
+                                  than one type is available */
 };
 
 extern struct options opt;