]> sjero.net Git - wget/blob - src/options.h
[svn] Replace opt.no_flush with a function to disable/enable flushing.
[wget] / src / options.h
1 /* struct options.
2    Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
3
4 This file is part of GNU Wget.
5
6 GNU Wget is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 GNU Wget is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with Wget; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
19
20 /* Needed for FDP.  */
21 #include <stdio.h>
22
23 struct options
24 {
25   int verbose;                  /* Are we verbose? */
26   int quiet;                    /* Are we quiet? */
27   int ntry;                     /* Number of tries per URL */
28   int background;               /* Whether we should work in background. */
29   int kill_longer;              /* Do we reject messages with *more*
30                                    data than specified in
31                                    content-length? */
32   int ignore_length;            /* Do we heed content-length at all?  */
33   int recursive;                /* Are we recursive? */
34   int spanhost;                 /* Do we span across hosts in
35                                    recursion? */
36   int relative_only;            /* Follow only relative links. */
37   int no_parent;                /* Restrict access to the parent
38                                    directory.  */
39   int simple_check;             /* Should we use simple checking
40                                    (strcmp) or do we create a host
41                                    hash and call gethostbyname? */
42   int reclevel;                 /* Maximum level of recursion */
43   int dirstruct;                /* Do we build the directory structure
44                                   as we go along? */
45   int no_dirstruct;             /* Do we hate dirstruct? */
46   int cut_dirs;                 /* Number of directory components to cut. */
47   int add_hostdir;              /* Do we add hostname directory? */
48   int noclobber;                /* Disables clobbering of existing
49                                    data. */
50   char *dir_prefix;             /* The top of directory tree */
51   char *lfilename;              /* Log filename */
52   char *input_filename;         /* Input filename */
53   int force_html;               /* Is the input file an HTML file? */
54
55   int spider;                   /* Is Wget in spider mode? */
56
57   char **accepts;               /* List of patterns to accept. */
58   char **rejects;               /* List of patterns to reject. */
59   char **excludes;              /* List of excluded FTP directories. */
60   char **includes;              /* List of FTP directories to
61                                    follow. */
62
63   char **domains;               /* See host.c */
64   char **exclude_domains;
65
66   char **follow_tags;           /* List of HTML tags to recursively follow. */
67   char **ignore_tags;           /* List of HTML tags to ignore if recursing. */
68
69   int follow_ftp;               /* Are FTP URL-s followed in recursive
70                                    retrieving? */
71   int retr_symlinks;            /* Whether we retrieve symlinks in
72                                    FTP. */
73   char *output_document;        /* The output file to which the
74                                    documents will be printed.  */
75   int od_known_regular;         /* whether output_document is a
76                                    regular file we can manipulate,
77                                    i.e. not `-' or a device file. */
78   FILE *dfp;                    /* The file pointer to the output
79                                    document. */
80
81   int always_rest;              /* Always use REST. */
82   char *ftp_acc;                /* FTP username */
83   char *ftp_pass;               /* FTP password */
84   int netrc;                    /* Whether to read .netrc. */
85   int ftp_glob;                 /* FTP globbing */
86   int ftp_pasv;                 /* Passive FTP. */
87
88   char *http_user;              /* HTTP user. */
89   char *http_passwd;            /* HTTP password. */
90   char *user_header;            /* User-defined header(s). */
91   int http_keep_alive;          /* whether we use keep-alive */
92
93   int use_proxy;                /* Do we use proxy? */
94   int allow_cache;              /* Do we allow server-side caching? */
95   char *http_proxy, *ftp_proxy, *https_proxy;
96   char **no_proxy;
97   char *base_href;
98   char *proxy_user; /*oli*/
99   char *proxy_passwd;
100 #ifdef HAVE_SELECT
101   long timeout;                 /* The value of read timeout in
102                                    seconds. */
103 #endif
104   long wait;                    /* The wait period between retrievals. */
105   long waitretry;               /* The wait period between retries. - HEH */
106   int use_robots;               /* Do we heed robots.txt? */
107
108   long quota;                   /* Maximum number of bytes to
109                                    retrieve. */
110   VERY_LONG_TYPE downloaded;    /* How much we downloaded already. */
111   int downloaded_overflow;      /* Whether the above overflowed. */
112   int numurls;                  /* Number of successfully downloaded
113                                    URLs */
114
115   int server_response;          /* Do we print server response? */
116   int save_headers;             /* Do we save headers together with
117                                    file? */
118
119 #ifdef DEBUG
120   int debug;                    /* Debugging on/off */
121 #endif /* DEBUG */
122
123   int timestamping;             /* Whether to use time-stamping. */
124
125   int backup_converted;         /* Do we save pre-converted files as *.orig? */
126   int backups;                  /* Are numeric backups made? */
127
128   char *useragent;              /* Naughty User-Agent, which can be
129                                    set to something other than
130                                    Wget. */
131   char *referer;                /* Naughty Referer, which can be
132                                    set to something other than
133                                    NULL. */
134   int convert_links;            /* Will the links be converted
135                                    locally? */
136   int remove_listing;           /* Do we remove .listing files
137                                    generated by FTP? */
138   int htmlify;                  /* Do we HTML-ify the OS-dependent
139                                    listings? */
140
141   long dot_bytes;               /* How many bytes in a printing
142                                    dot. */
143   int dots_in_line;             /* How many dots in one line. */
144   int dot_spacing;              /* How many dots between spacings. */
145
146   int delete_after;             /* Whether the files will be deleted
147                                    after download. */
148
149   int html_extension;           /* Use ".html" extension on all text/html? */
150
151   int page_requisites;          /* Whether we need to download all files
152                                    necessary to display a page properly. */
153
154   struct sockaddr_in *bind_address; /* What local IP address to bind to. */
155
156 #ifdef HAVE_SSL
157   char *sslcertfile;            /* external client cert to use. */
158   char *sslcertkey;             /* the keyfile for this certificate
159                                    (if not internal) included in the
160                                    certfile. */
161 #endif /* HAVE_SSL */
162
163   int   cookies;
164   char *cookies_input;
165   char *cookies_output;
166 };
167
168 #ifndef OPTIONS_DEFINED_HERE
169 extern struct options opt;
170 #endif