1 #ifdef CINIT
2 #undef CINIT
3 #endif
4 
5 #define CINIT(a,b,c) {#a, CURLOPT_##a}
6 
7 NameValue CurlOptionNames[] = {
8 
9 #if 1
10 #include "CURLOptTable.h"
11 #else
12   CINIT(FILE, OBJECTPOINT, 1),
13   CINIT(URL,  OBJECTPOINT, 2),
14   CINIT(PORT, LONG, 3),
15   CINIT(PROXY, OBJECTPOINT, 4),
16   CINIT(USERPWD, OBJECTPOINT, 5),
17   CINIT(PROXYUSERPWD, OBJECTPOINT, 6),
18   CINIT(RANGE, OBJECTPOINT, 7),
19   CINIT(INFILE, OBJECTPOINT, 9),
20   CINIT(ERRORBUFFER, OBJECTPOINT, 10),
21   CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),
22   CINIT(READFUNCTION, FUNCTIONPOINT, 12),
23   CINIT(TIMEOUT, LONG, 13),
24   CINIT(INFILESIZE, LONG, 14),
25   CINIT(POSTFIELDS, OBJECTPOINT, 15),
26   CINIT(REFERER, OBJECTPOINT, 16),
27   CINIT(FTPPORT, OBJECTPOINT, 17),
28   CINIT(USERAGENT, OBJECTPOINT, 18),
29   CINIT(LOW_SPEED_LIMIT, LONG , 19),
30   CINIT(LOW_SPEED_TIME, LONG, 20),
31   CINIT(RESUME_FROM, LONG, 21),
32   CINIT(COOKIE, OBJECTPOINT, 22),
33   CINIT(HTTPHEADER, OBJECTPOINT, 23),
34   CINIT(HTTPPOST, OBJECTPOINT, 24),
35   CINIT(SSLCERT, OBJECTPOINT, 25),
36   CINIT(SSLCERTPASSWD, OBJECTPOINT, 26),
37   CINIT(SSLKEYPASSWD, OBJECTPOINT, 26),
38   CINIT(CRLF, LONG, 27),
39   CINIT(QUOTE, OBJECTPOINT, 28),
40   CINIT(WRITEHEADER, OBJECTPOINT, 29),
41   CINIT(COOKIEFILE, OBJECTPOINT, 31),
42   CINIT(SSLVERSION, LONG, 32),
43   CINIT(TIMECONDITION, LONG, 33),
44   CINIT(TIMEVALUE, LONG, 34),
45   CINIT(CUSTOMREQUEST, OBJECTPOINT, 36),
46   CINIT(STDERR, OBJECTPOINT, 37),
47   CINIT(POSTQUOTE, OBJECTPOINT, 39),
48   CINIT(WRITEINFO, OBJECTPOINT, 40),
49   CINIT(VERBOSE, LONG, 41),      /* talk a lot */
50   CINIT(HEADER, LONG, 42),       /* throw the header out too */
51   CINIT(NOPROGRESS, LONG, 43),   /* shut off the progress meter */
52   CINIT(NOBODY, LONG, 44),       /* use HEAD to get http document */
53   CINIT(FAILONERROR, LONG, 45),  /* no output on http error codes >= 300 */
54   CINIT(UPLOAD, LONG, 46),       /* this is an upload */
55   CINIT(POST, LONG, 47),         /* HTTP POST method */
56   CINIT(FTPLISTONLY, LONG, 48),  /* Use NLST when listing ftp dir */
57   CINIT(FTPAPPEND, LONG, 50),    /* Append instead of overwrite on upload! */
58 
59   CINIT(NETRC, LONG, 51),
60   CINIT(FOLLOWLOCATION, LONG, 52),  /* use Location: Luke! */
61   CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */
62   CINIT(PUT, LONG, 54),          /* PUT the input file */
63   CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56),
64   CINIT(PROGRESSDATA, OBJECTPOINT, 57),
65   CINIT(AUTOREFERER, LONG, 58),
66   CINIT(PROXYPORT, LONG, 59),
67   CINIT(POSTFIELDSIZE, LONG, 60),
68   CINIT(HTTPPROXYTUNNEL, LONG, 61),
69   CINIT(INTERFACE, OBJECTPOINT, 62),
70   CINIT(KRB4LEVEL, OBJECTPOINT, 63),
71   CINIT(SSL_VERIFYPEER, LONG, 64),
72   CINIT(CAINFO, OBJECTPOINT, 65),
73   CINIT(MAXREDIRS, LONG, 68),
74   CINIT(FILETIME, OBJECTPOINT, 69),
75   CINIT(TELNETOPTIONS, OBJECTPOINT, 70),
76   CINIT(MAXCONNECTS, LONG, 71),
77   CINIT(CLOSEPOLICY, LONG, 72),
78   CINIT(FRESH_CONNECT, LONG, 74),
79 
80   /* Set to explicitly forbid the upcoming transfer's connection to be re-used
81      when done. Do not use this unless you're absolutely sure of this, as it
82      makes the operation slower and is less friendly for the network. */
83   CINIT(FORBID_REUSE, LONG, 75),
84 
85   /* Set to a file name that contains random data for libcurl to use to
86      seed the random engine when doing SSL connects. */
87   CINIT(RANDOM_FILE, OBJECTPOINT, 76),
88 
89   /* Set to the Entropy Gathering Daemon socket pathname */
90   CINIT(EGDSOCKET, OBJECTPOINT, 77),
91 
92   /* Time-out connect operations after this amount of seconds, if connects
93      are OK within this time, then fine... This only aborts the connect
94      phase. [Only works on unix-style/SIGALRM operating systems] */
95   CINIT(CONNECTTIMEOUT, LONG, 78),
96 
97   /* Function that will be called to store headers (instead of fwrite). The
98    * parameters will use fwrite() syntax, make sure to follow them. */
99   CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79),
100 
101   /* Set this to force the HTTP request to get back to GET. Only really usable
102      if POST, PUT or a custom request have been used first.
103    */
104   CINIT(HTTPGET, LONG, 80),
105 
106   /* Set if we should verify the Common name from the peer certificate in ssl
107    * handshake, set 1 to check existence, 2 to ensure that it matches the
108    * provided hostname. */
109   CINIT(SSL_VERIFYHOST, LONG, 81),
110 
111   /* Specify which file name to write all known cookies in after completed
112      operation. Set file name to "-" (dash) to make it go to stdout. */
113   CINIT(COOKIEJAR, OBJECTPOINT, 82),
114 
115   /* Specify which SSL ciphers to use */
116   CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83),
117 
118   /* Specify which HTTP version to use! This must be set to one of the
119      CURL_HTTP_VERSION* enums set below. */
120   CINIT(HTTP_VERSION, LONG, 84),
121 
122   /* Specificly switch on or off the FTP engine's use of the EPSV command. By
123      default, that one will always be attempted before the more traditional
124      PASV command. */
125   CINIT(FTP_USE_EPSV, LONG, 85),
126 
127   /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */
128   CINIT(SSLCERTTYPE, OBJECTPOINT, 86),
129 
130   /* name of the file keeping your private SSL-key */
131   CINIT(SSLKEY, OBJECTPOINT, 87),
132 
133   /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */
134   CINIT(SSLKEYTYPE, OBJECTPOINT, 88),
135 
136   /* crypto engine for the SSL-sub system */
137   CINIT(SSLENGINE, OBJECTPOINT, 89),
138 
139   /* set the crypto engine for the SSL-sub system as default
140      the param has no meaning...
141    */
142   CINIT(SSLENGINE_DEFAULT, LONG, 90),
143 
144   /* Non-zero value means to use the global dns cache */
145   CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* To become OBSOLETE soon */
146 
147   /* DNS cache timeout */
148   CINIT(DNS_CACHE_TIMEOUT, LONG, 92),
149 
150   /* send linked-list of pre-transfer QUOTE commands (Wesley Laxton)*/
151   CINIT(PREQUOTE, OBJECTPOINT, 93),
152 
153   /* set the debug function */
154   CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94),
155 
156   /* set the data for the debug function */
157   CINIT(DEBUGDATA, OBJECTPOINT, 95),
158 
159   /* mark this as start of a cookie session */
160   CINIT(COOKIESESSION, LONG, 96),
161 
162   /* The CApath directory used to validate the peer certificate
163      this option is used only if SSL_VERIFYPEER is true */
164   CINIT(CAPATH, OBJECTPOINT, 97),
165 
166   /* Instruct libcurl to use a smaller receive buffer */
167   CINIT(BUFFERSIZE, LONG, 98),
168 
169   /* Instruct libcurl to not use any signal/alarm handlers, even when using
170      timeouts. This option is useful for multi-threaded applications.
171      See libcurl-the-guide for more background information. */
172   CINIT(NOSIGNAL, LONG, 99),
173 
174   /* Provide a CURLShare for mutexing non-ts data */
175   CINIT(SHARE, OBJECTPOINT, 100),
176 
177   /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default),
178      CURLPROXY_SOCKS4 and CURLPROXY_SOCKS5. */
179   CINIT(PROXYTYPE, LONG, 101),
180 
181   /* Set the Accept-Encoding string. Use this to tell a server you would like
182      the response to be compressed. */
183   CINIT(ENCODING, OBJECTPOINT, 102),
184 
185   /* Set pointer to private data */
186   CINIT(PRIVATE, OBJECTPOINT, 103),
187 
188   /* Set aliases for HTTP 200 in the HTTP Response header */
189   CINIT(HTTP200ALIASES, OBJECTPOINT, 104),
190 
191   /* Continue to send authentication (user+password) when following locations,
192      even when hostname changed. This can potentionally send off the name
193      and password to whatever host the server decides. */
194   CINIT(UNRESTRICTED_AUTH, LONG, 105),
195 
196   /* Specificly switch on or off the FTP engine's use of the EPRT command ( it
197      also disables the LPRT attempt). By default, those ones will always be
198      attempted before the good old traditional PORT command. */
199   CINIT(FTP_USE_EPRT, LONG, 106),
200 
201   /* Set this to a bitmask value to enable the particular authentications
202      methods you like. Use this in combination with CURLOPT_USERPWD.
203      Note that setting multiple bits may cause extra network round-trips. */
204   CINIT(HTTPAUTH, LONG, 107),
205 
206   /* Set the ssl context callback function, currently only for OpenSSL ssl_ctx
207      in second argument. The function must be matching the
208      curl_ssl_ctx_callback proto. */
209   CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108),
210 
211   /* Set the userdata for the ssl context callback function's third
212      argument */
213   CINIT(SSL_CTX_DATA, OBJECTPOINT, 109),
214 
215   /* FTP Option that causes missing dirs to be created on the remote server */
216   CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110),
217 
218   /* Set this to a bitmask value to enable the particular authentications
219      methods you like. Use this in combination with CURLOPT_PROXYUSERPWD.
220      Note that setting multiple bits may cause extra network round-trips. */
221   CINIT(PROXYAUTH, LONG, 111),
222 
223   /* FTP option that changes the timeout, in seconds, associated with
224      getting a response.  This is different from transfer timeout time and
225      essentially places a demand on the FTP server to acknowledge commands
226      in a timely manner. */
227   CINIT(FTP_RESPONSE_TIMEOUT, LONG , 112),
228 
229   /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to
230      tell libcurl to resolve names to those IP versions only. This only has
231      affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */
232   CINIT(IPRESOLVE, LONG, 113),
233 
234   /* Set this option to limit the size of a file that will be downloaded from
235      an HTTP or FTP server.
236 
237      Note there is also _LARGE version which adds large file support for
238      platforms which have larger off_t sizes.  See MAXFILESIZE_LARGE below. */
239   CINIT(MAXFILESIZE, LONG, 114),
240   CINIT(INFILESIZE_LARGE, OFF_T, 115),
241   CINIT(RESUME_FROM_LARGE, OFF_T, 116),
242   CINIT(MAXFILESIZE_LARGE, OFF_T, 117),
243   CINIT(NETRC_FILE, OBJECTPOINT, 118),
244   CINIT(FTP_SSL, LONG, 119),
245   CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120),
246   CINIT(TCP_NODELAY, LONG, 121),
247 
248     /* Collect certificate chain info and allow it to get retrievable with
249      CURLINFO_CERTINFO after the transfer is complete. (Unfortunately) only
250      working with OpenSSL-powered builds. */
251   CINIT(CERTINFO, LONG, 172),
252 #endif
253 };
254