1 /***************************************************************************
2 * _ _ ____ _
3 * Project ___| | | | _ \| |
4 * / __| | | | |_) | |
5 * | (__| |_| | _ <| |___
6 * \___|\___/|_| \_\_____|
7 *
8 * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
9 *
10 * This software is licensed as described in the file COPYING, which
11 * you should have received as part of this distribution. The terms
12 * are also available at https://curl.se/docs/copyright.html.
13 *
14 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15 * copies of the Software, and permit persons to whom the Software is
16 * furnished to do so, under the terms of the COPYING file.
17 *
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
20 *
21 * SPDX-License-Identifier: curl
22 *
23 ***************************************************************************/
24
25 /* This source code is generated by optiontable.pl - DO NOT EDIT BY HAND */
26
27 #include "curl_setup.h"
28 #include "easyoptions.h"
29
30 /* all easy setopt options listed in alphabetical order */
31 struct curl_easyoption Curl_easyopts[] = {
32 {"ABSTRACT_UNIX_SOCKET", CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOT_STRING, 0},
33 {"ACCEPTTIMEOUT_MS", CURLOPT_ACCEPTTIMEOUT_MS, CURLOT_LONG, 0},
34 {"ACCEPT_ENCODING", CURLOPT_ACCEPT_ENCODING, CURLOT_STRING, 0},
35 {"ADDRESS_SCOPE", CURLOPT_ADDRESS_SCOPE, CURLOT_LONG, 0},
36 {"ALTSVC", CURLOPT_ALTSVC, CURLOT_STRING, 0},
37 {"ALTSVC_CTRL", CURLOPT_ALTSVC_CTRL, CURLOT_LONG, 0},
38 {"APPEND", CURLOPT_APPEND, CURLOT_LONG, 0},
39 {"AUTOREFERER", CURLOPT_AUTOREFERER, CURLOT_LONG, 0},
40 {"AWS_SIGV4", CURLOPT_AWS_SIGV4, CURLOT_STRING, 0},
41 {"BUFFERSIZE", CURLOPT_BUFFERSIZE, CURLOT_LONG, 0},
42 {"CAINFO", CURLOPT_CAINFO, CURLOT_STRING, 0},
43 {"CAINFO_BLOB", CURLOPT_CAINFO_BLOB, CURLOT_BLOB, 0},
44 {"CAPATH", CURLOPT_CAPATH, CURLOT_STRING, 0},
45 {"CA_CACHE_TIMEOUT", CURLOPT_CA_CACHE_TIMEOUT, CURLOT_LONG, 0},
46 {"CERTINFO", CURLOPT_CERTINFO, CURLOT_LONG, 0},
47 {"CHUNK_BGN_FUNCTION", CURLOPT_CHUNK_BGN_FUNCTION, CURLOT_FUNCTION, 0},
48 {"CHUNK_DATA", CURLOPT_CHUNK_DATA, CURLOT_CBPTR, 0},
49 {"CHUNK_END_FUNCTION", CURLOPT_CHUNK_END_FUNCTION, CURLOT_FUNCTION, 0},
50 {"CLOSESOCKETDATA", CURLOPT_CLOSESOCKETDATA, CURLOT_CBPTR, 0},
51 {"CLOSESOCKETFUNCTION", CURLOPT_CLOSESOCKETFUNCTION, CURLOT_FUNCTION, 0},
52 {"CONNECTTIMEOUT", CURLOPT_CONNECTTIMEOUT, CURLOT_LONG, 0},
53 {"CONNECTTIMEOUT_MS", CURLOPT_CONNECTTIMEOUT_MS, CURLOT_LONG, 0},
54 {"CONNECT_ONLY", CURLOPT_CONNECT_ONLY, CURLOT_LONG, 0},
55 {"CONNECT_TO", CURLOPT_CONNECT_TO, CURLOT_SLIST, 0},
56 {"CONV_FROM_NETWORK_FUNCTION", CURLOPT_CONV_FROM_NETWORK_FUNCTION,
57 CURLOT_FUNCTION, 0},
58 {"CONV_FROM_UTF8_FUNCTION", CURLOPT_CONV_FROM_UTF8_FUNCTION,
59 CURLOT_FUNCTION, 0},
60 {"CONV_TO_NETWORK_FUNCTION", CURLOPT_CONV_TO_NETWORK_FUNCTION,
61 CURLOT_FUNCTION, 0},
62 {"COOKIE", CURLOPT_COOKIE, CURLOT_STRING, 0},
63 {"COOKIEFILE", CURLOPT_COOKIEFILE, CURLOT_STRING, 0},
64 {"COOKIEJAR", CURLOPT_COOKIEJAR, CURLOT_STRING, 0},
65 {"COOKIELIST", CURLOPT_COOKIELIST, CURLOT_STRING, 0},
66 {"COOKIESESSION", CURLOPT_COOKIESESSION, CURLOT_LONG, 0},
67 {"COPYPOSTFIELDS", CURLOPT_COPYPOSTFIELDS, CURLOT_OBJECT, 0},
68 {"CRLF", CURLOPT_CRLF, CURLOT_LONG, 0},
69 {"CRLFILE", CURLOPT_CRLFILE, CURLOT_STRING, 0},
70 {"CURLU", CURLOPT_CURLU, CURLOT_OBJECT, 0},
71 {"CUSTOMREQUEST", CURLOPT_CUSTOMREQUEST, CURLOT_STRING, 0},
72 {"DEBUGDATA", CURLOPT_DEBUGDATA, CURLOT_CBPTR, 0},
73 {"DEBUGFUNCTION", CURLOPT_DEBUGFUNCTION, CURLOT_FUNCTION, 0},
74 {"DEFAULT_PROTOCOL", CURLOPT_DEFAULT_PROTOCOL, CURLOT_STRING, 0},
75 {"DIRLISTONLY", CURLOPT_DIRLISTONLY, CURLOT_LONG, 0},
76 {"DISALLOW_USERNAME_IN_URL", CURLOPT_DISALLOW_USERNAME_IN_URL,
77 CURLOT_LONG, 0},
78 {"DNS_CACHE_TIMEOUT", CURLOPT_DNS_CACHE_TIMEOUT, CURLOT_LONG, 0},
79 {"DNS_INTERFACE", CURLOPT_DNS_INTERFACE, CURLOT_STRING, 0},
80 {"DNS_LOCAL_IP4", CURLOPT_DNS_LOCAL_IP4, CURLOT_STRING, 0},
81 {"DNS_LOCAL_IP6", CURLOPT_DNS_LOCAL_IP6, CURLOT_STRING, 0},
82 {"DNS_SERVERS", CURLOPT_DNS_SERVERS, CURLOT_STRING, 0},
83 {"DNS_SHUFFLE_ADDRESSES", CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOT_LONG, 0},
84 {"DNS_USE_GLOBAL_CACHE", CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOT_LONG, 0},
85 {"DOH_SSL_VERIFYHOST", CURLOPT_DOH_SSL_VERIFYHOST, CURLOT_LONG, 0},
86 {"DOH_SSL_VERIFYPEER", CURLOPT_DOH_SSL_VERIFYPEER, CURLOT_LONG, 0},
87 {"DOH_SSL_VERIFYSTATUS", CURLOPT_DOH_SSL_VERIFYSTATUS, CURLOT_LONG, 0},
88 {"DOH_URL", CURLOPT_DOH_URL, CURLOT_STRING, 0},
89 {"ECH", CURLOPT_ECH, CURLOT_STRING, 0},
90 {"EGDSOCKET", CURLOPT_EGDSOCKET, CURLOT_STRING, 0},
91 {"ENCODING", CURLOPT_ACCEPT_ENCODING, CURLOT_STRING, CURLOT_FLAG_ALIAS},
92 {"ERRORBUFFER", CURLOPT_ERRORBUFFER, CURLOT_OBJECT, 0},
93 {"EXPECT_100_TIMEOUT_MS", CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOT_LONG, 0},
94 {"FAILONERROR", CURLOPT_FAILONERROR, CURLOT_LONG, 0},
95 {"FILE", CURLOPT_WRITEDATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS},
96 {"FILETIME", CURLOPT_FILETIME, CURLOT_LONG, 0},
97 {"FNMATCH_DATA", CURLOPT_FNMATCH_DATA, CURLOT_CBPTR, 0},
98 {"FNMATCH_FUNCTION", CURLOPT_FNMATCH_FUNCTION, CURLOT_FUNCTION, 0},
99 {"FOLLOWLOCATION", CURLOPT_FOLLOWLOCATION, CURLOT_LONG, 0},
100 {"FORBID_REUSE", CURLOPT_FORBID_REUSE, CURLOT_LONG, 0},
101 {"FRESH_CONNECT", CURLOPT_FRESH_CONNECT, CURLOT_LONG, 0},
102 {"FTPAPPEND", CURLOPT_APPEND, CURLOT_LONG, CURLOT_FLAG_ALIAS},
103 {"FTPLISTONLY", CURLOPT_DIRLISTONLY, CURLOT_LONG, CURLOT_FLAG_ALIAS},
104 {"FTPPORT", CURLOPT_FTPPORT, CURLOT_STRING, 0},
105 {"FTPSSLAUTH", CURLOPT_FTPSSLAUTH, CURLOT_VALUES, 0},
106 {"FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT, CURLOT_STRING, 0},
107 {"FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER,
108 CURLOT_STRING, 0},
109 {"FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS,
110 CURLOT_LONG, 0},
111 {"FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD, CURLOT_VALUES, 0},
112 {"FTP_RESPONSE_TIMEOUT", CURLOPT_SERVER_RESPONSE_TIMEOUT,
113 CURLOT_LONG, CURLOT_FLAG_ALIAS},
114 {"FTP_SKIP_PASV_IP", CURLOPT_FTP_SKIP_PASV_IP, CURLOT_LONG, 0},
115 {"FTP_SSL", CURLOPT_USE_SSL, CURLOT_VALUES, CURLOT_FLAG_ALIAS},
116 {"FTP_SSL_CCC", CURLOPT_FTP_SSL_CCC, CURLOT_LONG, 0},
117 {"FTP_USE_EPRT", CURLOPT_FTP_USE_EPRT, CURLOT_LONG, 0},
118 {"FTP_USE_EPSV", CURLOPT_FTP_USE_EPSV, CURLOT_LONG, 0},
119 {"FTP_USE_PRET", CURLOPT_FTP_USE_PRET, CURLOT_LONG, 0},
120 {"GSSAPI_DELEGATION", CURLOPT_GSSAPI_DELEGATION, CURLOT_VALUES, 0},
121 {"HAPPY_EYEBALLS_TIMEOUT_MS", CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,
122 CURLOT_LONG, 0},
123 {"HAPROXYPROTOCOL", CURLOPT_HAPROXYPROTOCOL, CURLOT_LONG, 0},
124 {"HAPROXY_CLIENT_IP", CURLOPT_HAPROXY_CLIENT_IP, CURLOT_STRING, 0},
125 {"HEADER", CURLOPT_HEADER, CURLOT_LONG, 0},
126 {"HEADERDATA", CURLOPT_HEADERDATA, CURLOT_CBPTR, 0},
127 {"HEADERFUNCTION", CURLOPT_HEADERFUNCTION, CURLOT_FUNCTION, 0},
128 {"HEADEROPT", CURLOPT_HEADEROPT, CURLOT_VALUES, 0},
129 {"HSTS", CURLOPT_HSTS, CURLOT_STRING, 0},
130 {"HSTSREADDATA", CURLOPT_HSTSREADDATA, CURLOT_CBPTR, 0},
131 {"HSTSREADFUNCTION", CURLOPT_HSTSREADFUNCTION, CURLOT_FUNCTION, 0},
132 {"HSTSWRITEDATA", CURLOPT_HSTSWRITEDATA, CURLOT_CBPTR, 0},
133 {"HSTSWRITEFUNCTION", CURLOPT_HSTSWRITEFUNCTION, CURLOT_FUNCTION, 0},
134 {"HSTS_CTRL", CURLOPT_HSTS_CTRL, CURLOT_LONG, 0},
135 {"HTTP09_ALLOWED", CURLOPT_HTTP09_ALLOWED, CURLOT_LONG, 0},
136 {"HTTP200ALIASES", CURLOPT_HTTP200ALIASES, CURLOT_SLIST, 0},
137 {"HTTPAUTH", CURLOPT_HTTPAUTH, CURLOT_VALUES, 0},
138 {"HTTPGET", CURLOPT_HTTPGET, CURLOT_LONG, 0},
139 {"HTTPHEADER", CURLOPT_HTTPHEADER, CURLOT_SLIST, 0},
140 {"HTTPPOST", CURLOPT_HTTPPOST, CURLOT_OBJECT, 0},
141 {"HTTPPROXYTUNNEL", CURLOPT_HTTPPROXYTUNNEL, CURLOT_LONG, 0},
142 {"HTTP_CONTENT_DECODING", CURLOPT_HTTP_CONTENT_DECODING, CURLOT_LONG, 0},
143 {"HTTP_TRANSFER_DECODING", CURLOPT_HTTP_TRANSFER_DECODING, CURLOT_LONG, 0},
144 {"HTTP_VERSION", CURLOPT_HTTP_VERSION, CURLOT_VALUES, 0},
145 {"IGNORE_CONTENT_LENGTH", CURLOPT_IGNORE_CONTENT_LENGTH, CURLOT_LONG, 0},
146 {"INFILE", CURLOPT_READDATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS},
147 {"INFILESIZE", CURLOPT_INFILESIZE, CURLOT_LONG, 0},
148 {"INFILESIZE_LARGE", CURLOPT_INFILESIZE_LARGE, CURLOT_OFF_T, 0},
149 {"INTERFACE", CURLOPT_INTERFACE, CURLOT_STRING, 0},
150 {"INTERLEAVEDATA", CURLOPT_INTERLEAVEDATA, CURLOT_CBPTR, 0},
151 {"INTERLEAVEFUNCTION", CURLOPT_INTERLEAVEFUNCTION, CURLOT_FUNCTION, 0},
152 {"IOCTLDATA", CURLOPT_IOCTLDATA, CURLOT_CBPTR, 0},
153 {"IOCTLFUNCTION", CURLOPT_IOCTLFUNCTION, CURLOT_FUNCTION, 0},
154 {"IPRESOLVE", CURLOPT_IPRESOLVE, CURLOT_VALUES, 0},
155 {"ISSUERCERT", CURLOPT_ISSUERCERT, CURLOT_STRING, 0},
156 {"ISSUERCERT_BLOB", CURLOPT_ISSUERCERT_BLOB, CURLOT_BLOB, 0},
157 {"KEEP_SENDING_ON_ERROR", CURLOPT_KEEP_SENDING_ON_ERROR, CURLOT_LONG, 0},
158 {"KEYPASSWD", CURLOPT_KEYPASSWD, CURLOT_STRING, 0},
159 {"KRB4LEVEL", CURLOPT_KRBLEVEL, CURLOT_STRING, CURLOT_FLAG_ALIAS},
160 {"KRBLEVEL", CURLOPT_KRBLEVEL, CURLOT_STRING, 0},
161 {"LOCALPORT", CURLOPT_LOCALPORT, CURLOT_LONG, 0},
162 {"LOCALPORTRANGE", CURLOPT_LOCALPORTRANGE, CURLOT_LONG, 0},
163 {"LOGIN_OPTIONS", CURLOPT_LOGIN_OPTIONS, CURLOT_STRING, 0},
164 {"LOW_SPEED_LIMIT", CURLOPT_LOW_SPEED_LIMIT, CURLOT_LONG, 0},
165 {"LOW_SPEED_TIME", CURLOPT_LOW_SPEED_TIME, CURLOT_LONG, 0},
166 {"MAIL_AUTH", CURLOPT_MAIL_AUTH, CURLOT_STRING, 0},
167 {"MAIL_FROM", CURLOPT_MAIL_FROM, CURLOT_STRING, 0},
168 {"MAIL_RCPT", CURLOPT_MAIL_RCPT, CURLOT_SLIST, 0},
169 {"MAIL_RCPT_ALLLOWFAILS", CURLOPT_MAIL_RCPT_ALLOWFAILS,
170 CURLOT_LONG, CURLOT_FLAG_ALIAS},
171 {"MAIL_RCPT_ALLOWFAILS", CURLOPT_MAIL_RCPT_ALLOWFAILS, CURLOT_LONG, 0},
172 {"MAXAGE_CONN", CURLOPT_MAXAGE_CONN, CURLOT_LONG, 0},
173 {"MAXCONNECTS", CURLOPT_MAXCONNECTS, CURLOT_LONG, 0},
174 {"MAXFILESIZE", CURLOPT_MAXFILESIZE, CURLOT_LONG, 0},
175 {"MAXFILESIZE_LARGE", CURLOPT_MAXFILESIZE_LARGE, CURLOT_OFF_T, 0},
176 {"MAXLIFETIME_CONN", CURLOPT_MAXLIFETIME_CONN, CURLOT_LONG, 0},
177 {"MAXREDIRS", CURLOPT_MAXREDIRS, CURLOT_LONG, 0},
178 {"MAX_RECV_SPEED_LARGE", CURLOPT_MAX_RECV_SPEED_LARGE, CURLOT_OFF_T, 0},
179 {"MAX_SEND_SPEED_LARGE", CURLOPT_MAX_SEND_SPEED_LARGE, CURLOT_OFF_T, 0},
180 {"MIMEPOST", CURLOPT_MIMEPOST, CURLOT_OBJECT, 0},
181 {"MIME_OPTIONS", CURLOPT_MIME_OPTIONS, CURLOT_LONG, 0},
182 {"NETRC", CURLOPT_NETRC, CURLOT_VALUES, 0},
183 {"NETRC_FILE", CURLOPT_NETRC_FILE, CURLOT_STRING, 0},
184 {"NEW_DIRECTORY_PERMS", CURLOPT_NEW_DIRECTORY_PERMS, CURLOT_LONG, 0},
185 {"NEW_FILE_PERMS", CURLOPT_NEW_FILE_PERMS, CURLOT_LONG, 0},
186 {"NOBODY", CURLOPT_NOBODY, CURLOT_LONG, 0},
187 {"NOPROGRESS", CURLOPT_NOPROGRESS, CURLOT_LONG, 0},
188 {"NOPROXY", CURLOPT_NOPROXY, CURLOT_STRING, 0},
189 {"NOSIGNAL", CURLOPT_NOSIGNAL, CURLOT_LONG, 0},
190 {"OPENSOCKETDATA", CURLOPT_OPENSOCKETDATA, CURLOT_CBPTR, 0},
191 {"OPENSOCKETFUNCTION", CURLOPT_OPENSOCKETFUNCTION, CURLOT_FUNCTION, 0},
192 {"PASSWORD", CURLOPT_PASSWORD, CURLOT_STRING, 0},
193 {"PATH_AS_IS", CURLOPT_PATH_AS_IS, CURLOT_LONG, 0},
194 {"PINNEDPUBLICKEY", CURLOPT_PINNEDPUBLICKEY, CURLOT_STRING, 0},
195 {"PIPEWAIT", CURLOPT_PIPEWAIT, CURLOT_LONG, 0},
196 {"PORT", CURLOPT_PORT, CURLOT_LONG, 0},
197 {"POST", CURLOPT_POST, CURLOT_LONG, 0},
198 {"POST301", CURLOPT_POSTREDIR, CURLOT_VALUES, CURLOT_FLAG_ALIAS},
199 {"POSTFIELDS", CURLOPT_POSTFIELDS, CURLOT_OBJECT, 0},
200 {"POSTFIELDSIZE", CURLOPT_POSTFIELDSIZE, CURLOT_LONG, 0},
201 {"POSTFIELDSIZE_LARGE", CURLOPT_POSTFIELDSIZE_LARGE, CURLOT_OFF_T, 0},
202 {"POSTQUOTE", CURLOPT_POSTQUOTE, CURLOT_SLIST, 0},
203 {"POSTREDIR", CURLOPT_POSTREDIR, CURLOT_VALUES, 0},
204 {"PREQUOTE", CURLOPT_PREQUOTE, CURLOT_SLIST, 0},
205 {"PREREQDATA", CURLOPT_PREREQDATA, CURLOT_CBPTR, 0},
206 {"PREREQFUNCTION", CURLOPT_PREREQFUNCTION, CURLOT_FUNCTION, 0},
207 {"PRE_PROXY", CURLOPT_PRE_PROXY, CURLOT_STRING, 0},
208 {"PRIVATE", CURLOPT_PRIVATE, CURLOT_OBJECT, 0},
209 {"PROGRESSDATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS},
210 {"PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION, CURLOT_FUNCTION, 0},
211 {"PROTOCOLS", CURLOPT_PROTOCOLS, CURLOT_LONG, 0},
212 {"PROTOCOLS_STR", CURLOPT_PROTOCOLS_STR, CURLOT_STRING, 0},
213 {"PROXY", CURLOPT_PROXY, CURLOT_STRING, 0},
214 {"PROXYAUTH", CURLOPT_PROXYAUTH, CURLOT_VALUES, 0},
215 {"PROXYHEADER", CURLOPT_PROXYHEADER, CURLOT_SLIST, 0},
216 {"PROXYPASSWORD", CURLOPT_PROXYPASSWORD, CURLOT_STRING, 0},
217 {"PROXYPORT", CURLOPT_PROXYPORT, CURLOT_LONG, 0},
218 {"PROXYTYPE", CURLOPT_PROXYTYPE, CURLOT_VALUES, 0},
219 {"PROXYUSERNAME", CURLOPT_PROXYUSERNAME, CURLOT_STRING, 0},
220 {"PROXYUSERPWD", CURLOPT_PROXYUSERPWD, CURLOT_STRING, 0},
221 {"PROXY_CAINFO", CURLOPT_PROXY_CAINFO, CURLOT_STRING, 0},
222 {"PROXY_CAINFO_BLOB", CURLOPT_PROXY_CAINFO_BLOB, CURLOT_BLOB, 0},
223 {"PROXY_CAPATH", CURLOPT_PROXY_CAPATH, CURLOT_STRING, 0},
224 {"PROXY_CRLFILE", CURLOPT_PROXY_CRLFILE, CURLOT_STRING, 0},
225 {"PROXY_ISSUERCERT", CURLOPT_PROXY_ISSUERCERT, CURLOT_STRING, 0},
226 {"PROXY_ISSUERCERT_BLOB", CURLOPT_PROXY_ISSUERCERT_BLOB, CURLOT_BLOB, 0},
227 {"PROXY_KEYPASSWD", CURLOPT_PROXY_KEYPASSWD, CURLOT_STRING, 0},
228 {"PROXY_PINNEDPUBLICKEY", CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOT_STRING, 0},
229 {"PROXY_SERVICE_NAME", CURLOPT_PROXY_SERVICE_NAME, CURLOT_STRING, 0},
230 {"PROXY_SSLCERT", CURLOPT_PROXY_SSLCERT, CURLOT_STRING, 0},
231 {"PROXY_SSLCERTTYPE", CURLOPT_PROXY_SSLCERTTYPE, CURLOT_STRING, 0},
232 {"PROXY_SSLCERT_BLOB", CURLOPT_PROXY_SSLCERT_BLOB, CURLOT_BLOB, 0},
233 {"PROXY_SSLKEY", CURLOPT_PROXY_SSLKEY, CURLOT_STRING, 0},
234 {"PROXY_SSLKEYTYPE", CURLOPT_PROXY_SSLKEYTYPE, CURLOT_STRING, 0},
235 {"PROXY_SSLKEY_BLOB", CURLOPT_PROXY_SSLKEY_BLOB, CURLOT_BLOB, 0},
236 {"PROXY_SSLVERSION", CURLOPT_PROXY_SSLVERSION, CURLOT_VALUES, 0},
237 {"PROXY_SSL_CIPHER_LIST", CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOT_STRING, 0},
238 {"PROXY_SSL_OPTIONS", CURLOPT_PROXY_SSL_OPTIONS, CURLOT_LONG, 0},
239 {"PROXY_SSL_VERIFYHOST", CURLOPT_PROXY_SSL_VERIFYHOST, CURLOT_LONG, 0},
240 {"PROXY_SSL_VERIFYPEER", CURLOPT_PROXY_SSL_VERIFYPEER, CURLOT_LONG, 0},
241 {"PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS, CURLOT_STRING, 0},
242 {"PROXY_TLSAUTH_PASSWORD", CURLOPT_PROXY_TLSAUTH_PASSWORD,
243 CURLOT_STRING, 0},
244 {"PROXY_TLSAUTH_TYPE", CURLOPT_PROXY_TLSAUTH_TYPE, CURLOT_STRING, 0},
245 {"PROXY_TLSAUTH_USERNAME", CURLOPT_PROXY_TLSAUTH_USERNAME,
246 CURLOT_STRING, 0},
247 {"PROXY_TRANSFER_MODE", CURLOPT_PROXY_TRANSFER_MODE, CURLOT_LONG, 0},
248 {"PUT", CURLOPT_PUT, CURLOT_LONG, 0},
249 {"QUICK_EXIT", CURLOPT_QUICK_EXIT, CURLOT_LONG, 0},
250 {"QUOTE", CURLOPT_QUOTE, CURLOT_SLIST, 0},
251 {"RANDOM_FILE", CURLOPT_RANDOM_FILE, CURLOT_STRING, 0},
252 {"RANGE", CURLOPT_RANGE, CURLOT_STRING, 0},
253 {"READDATA", CURLOPT_READDATA, CURLOT_CBPTR, 0},
254 {"READFUNCTION", CURLOPT_READFUNCTION, CURLOT_FUNCTION, 0},
255 {"REDIR_PROTOCOLS", CURLOPT_REDIR_PROTOCOLS, CURLOT_LONG, 0},
256 {"REDIR_PROTOCOLS_STR", CURLOPT_REDIR_PROTOCOLS_STR, CURLOT_STRING, 0},
257 {"REFERER", CURLOPT_REFERER, CURLOT_STRING, 0},
258 {"REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CURLOT_STRING, 0},
259 {"RESOLVE", CURLOPT_RESOLVE, CURLOT_SLIST, 0},
260 {"RESOLVER_START_DATA", CURLOPT_RESOLVER_START_DATA, CURLOT_CBPTR, 0},
261 {"RESOLVER_START_FUNCTION", CURLOPT_RESOLVER_START_FUNCTION,
262 CURLOT_FUNCTION, 0},
263 {"RESUME_FROM", CURLOPT_RESUME_FROM, CURLOT_LONG, 0},
264 {"RESUME_FROM_LARGE", CURLOPT_RESUME_FROM_LARGE, CURLOT_OFF_T, 0},
265 {"RTSPHEADER", CURLOPT_HTTPHEADER, CURLOT_SLIST, CURLOT_FLAG_ALIAS},
266 {"RTSP_CLIENT_CSEQ", CURLOPT_RTSP_CLIENT_CSEQ, CURLOT_LONG, 0},
267 {"RTSP_REQUEST", CURLOPT_RTSP_REQUEST, CURLOT_VALUES, 0},
268 {"RTSP_SERVER_CSEQ", CURLOPT_RTSP_SERVER_CSEQ, CURLOT_LONG, 0},
269 {"RTSP_SESSION_ID", CURLOPT_RTSP_SESSION_ID, CURLOT_STRING, 0},
270 {"RTSP_STREAM_URI", CURLOPT_RTSP_STREAM_URI, CURLOT_STRING, 0},
271 {"RTSP_TRANSPORT", CURLOPT_RTSP_TRANSPORT, CURLOT_STRING, 0},
272 {"SASL_AUTHZID", CURLOPT_SASL_AUTHZID, CURLOT_STRING, 0},
273 {"SASL_IR", CURLOPT_SASL_IR, CURLOT_LONG, 0},
274 {"SEEKDATA", CURLOPT_SEEKDATA, CURLOT_CBPTR, 0},
275 {"SEEKFUNCTION", CURLOPT_SEEKFUNCTION, CURLOT_FUNCTION, 0},
276 {"SERVER_RESPONSE_TIMEOUT", CURLOPT_SERVER_RESPONSE_TIMEOUT,
277 CURLOT_LONG, 0},
278 {"SERVER_RESPONSE_TIMEOUT_MS", CURLOPT_SERVER_RESPONSE_TIMEOUT_MS,
279 CURLOT_LONG, 0},
280 {"SERVICE_NAME", CURLOPT_SERVICE_NAME, CURLOT_STRING, 0},
281 {"SHARE", CURLOPT_SHARE, CURLOT_OBJECT, 0},
282 {"SOCKOPTDATA", CURLOPT_SOCKOPTDATA, CURLOT_CBPTR, 0},
283 {"SOCKOPTFUNCTION", CURLOPT_SOCKOPTFUNCTION, CURLOT_FUNCTION, 0},
284 {"SOCKS5_AUTH", CURLOPT_SOCKS5_AUTH, CURLOT_LONG, 0},
285 {"SOCKS5_GSSAPI_NEC", CURLOPT_SOCKS5_GSSAPI_NEC, CURLOT_LONG, 0},
286 {"SOCKS5_GSSAPI_SERVICE", CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOT_STRING, 0},
287 {"SSH_AUTH_TYPES", CURLOPT_SSH_AUTH_TYPES, CURLOT_VALUES, 0},
288 {"SSH_COMPRESSION", CURLOPT_SSH_COMPRESSION, CURLOT_LONG, 0},
289 {"SSH_HOSTKEYDATA", CURLOPT_SSH_HOSTKEYDATA, CURLOT_CBPTR, 0},
290 {"SSH_HOSTKEYFUNCTION", CURLOPT_SSH_HOSTKEYFUNCTION, CURLOT_FUNCTION, 0},
291 {"SSH_HOST_PUBLIC_KEY_MD5", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5,
292 CURLOT_STRING, 0},
293 {"SSH_HOST_PUBLIC_KEY_SHA256", CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256,
294 CURLOT_STRING, 0},
295 {"SSH_KEYDATA", CURLOPT_SSH_KEYDATA, CURLOT_CBPTR, 0},
296 {"SSH_KEYFUNCTION", CURLOPT_SSH_KEYFUNCTION, CURLOT_FUNCTION, 0},
297 {"SSH_KNOWNHOSTS", CURLOPT_SSH_KNOWNHOSTS, CURLOT_STRING, 0},
298 {"SSH_PRIVATE_KEYFILE", CURLOPT_SSH_PRIVATE_KEYFILE, CURLOT_STRING, 0},
299 {"SSH_PUBLIC_KEYFILE", CURLOPT_SSH_PUBLIC_KEYFILE, CURLOT_STRING, 0},
300 {"SSLCERT", CURLOPT_SSLCERT, CURLOT_STRING, 0},
301 {"SSLCERTPASSWD", CURLOPT_KEYPASSWD, CURLOT_STRING, CURLOT_FLAG_ALIAS},
302 {"SSLCERTTYPE", CURLOPT_SSLCERTTYPE, CURLOT_STRING, 0},
303 {"SSLCERT_BLOB", CURLOPT_SSLCERT_BLOB, CURLOT_BLOB, 0},
304 {"SSLENGINE", CURLOPT_SSLENGINE, CURLOT_STRING, 0},
305 {"SSLENGINE_DEFAULT", CURLOPT_SSLENGINE_DEFAULT, CURLOT_LONG, 0},
306 {"SSLKEY", CURLOPT_SSLKEY, CURLOT_STRING, 0},
307 {"SSLKEYPASSWD", CURLOPT_KEYPASSWD, CURLOT_STRING, CURLOT_FLAG_ALIAS},
308 {"SSLKEYTYPE", CURLOPT_SSLKEYTYPE, CURLOT_STRING, 0},
309 {"SSLKEY_BLOB", CURLOPT_SSLKEY_BLOB, CURLOT_BLOB, 0},
310 {"SSLVERSION", CURLOPT_SSLVERSION, CURLOT_VALUES, 0},
311 {"SSL_CIPHER_LIST", CURLOPT_SSL_CIPHER_LIST, CURLOT_STRING, 0},
312 {"SSL_CTX_DATA", CURLOPT_SSL_CTX_DATA, CURLOT_CBPTR, 0},
313 {"SSL_CTX_FUNCTION", CURLOPT_SSL_CTX_FUNCTION, CURLOT_FUNCTION, 0},
314 {"SSL_EC_CURVES", CURLOPT_SSL_EC_CURVES, CURLOT_STRING, 0},
315 {"SSL_ENABLE_ALPN", CURLOPT_SSL_ENABLE_ALPN, CURLOT_LONG, 0},
316 {"SSL_ENABLE_NPN", CURLOPT_SSL_ENABLE_NPN, CURLOT_LONG, 0},
317 {"SSL_FALSESTART", CURLOPT_SSL_FALSESTART, CURLOT_LONG, 0},
318 {"SSL_OPTIONS", CURLOPT_SSL_OPTIONS, CURLOT_VALUES, 0},
319 {"SSL_SESSIONID_CACHE", CURLOPT_SSL_SESSIONID_CACHE, CURLOT_LONG, 0},
320 {"SSL_VERIFYHOST", CURLOPT_SSL_VERIFYHOST, CURLOT_LONG, 0},
321 {"SSL_VERIFYPEER", CURLOPT_SSL_VERIFYPEER, CURLOT_LONG, 0},
322 {"SSL_VERIFYSTATUS", CURLOPT_SSL_VERIFYSTATUS, CURLOT_LONG, 0},
323 {"STDERR", CURLOPT_STDERR, CURLOT_OBJECT, 0},
324 {"STREAM_DEPENDS", CURLOPT_STREAM_DEPENDS, CURLOT_OBJECT, 0},
325 {"STREAM_DEPENDS_E", CURLOPT_STREAM_DEPENDS_E, CURLOT_OBJECT, 0},
326 {"STREAM_WEIGHT", CURLOPT_STREAM_WEIGHT, CURLOT_LONG, 0},
327 {"SUPPRESS_CONNECT_HEADERS", CURLOPT_SUPPRESS_CONNECT_HEADERS,
328 CURLOT_LONG, 0},
329 {"TCP_FASTOPEN", CURLOPT_TCP_FASTOPEN, CURLOT_LONG, 0},
330 {"TCP_KEEPALIVE", CURLOPT_TCP_KEEPALIVE, CURLOT_LONG, 0},
331 {"TCP_KEEPCNT", CURLOPT_TCP_KEEPCNT, CURLOT_LONG, 0},
332 {"TCP_KEEPIDLE", CURLOPT_TCP_KEEPIDLE, CURLOT_LONG, 0},
333 {"TCP_KEEPINTVL", CURLOPT_TCP_KEEPINTVL, CURLOT_LONG, 0},
334 {"TCP_NODELAY", CURLOPT_TCP_NODELAY, CURLOT_LONG, 0},
335 {"TELNETOPTIONS", CURLOPT_TELNETOPTIONS, CURLOT_SLIST, 0},
336 {"TFTP_BLKSIZE", CURLOPT_TFTP_BLKSIZE, CURLOT_LONG, 0},
337 {"TFTP_NO_OPTIONS", CURLOPT_TFTP_NO_OPTIONS, CURLOT_LONG, 0},
338 {"TIMECONDITION", CURLOPT_TIMECONDITION, CURLOT_VALUES, 0},
339 {"TIMEOUT", CURLOPT_TIMEOUT, CURLOT_LONG, 0},
340 {"TIMEOUT_MS", CURLOPT_TIMEOUT_MS, CURLOT_LONG, 0},
341 {"TIMEVALUE", CURLOPT_TIMEVALUE, CURLOT_LONG, 0},
342 {"TIMEVALUE_LARGE", CURLOPT_TIMEVALUE_LARGE, CURLOT_OFF_T, 0},
343 {"TLS13_CIPHERS", CURLOPT_TLS13_CIPHERS, CURLOT_STRING, 0},
344 {"TLSAUTH_PASSWORD", CURLOPT_TLSAUTH_PASSWORD, CURLOT_STRING, 0},
345 {"TLSAUTH_TYPE", CURLOPT_TLSAUTH_TYPE, CURLOT_STRING, 0},
346 {"TLSAUTH_USERNAME", CURLOPT_TLSAUTH_USERNAME, CURLOT_STRING, 0},
347 {"TRAILERDATA", CURLOPT_TRAILERDATA, CURLOT_CBPTR, 0},
348 {"TRAILERFUNCTION", CURLOPT_TRAILERFUNCTION, CURLOT_FUNCTION, 0},
349 {"TRANSFERTEXT", CURLOPT_TRANSFERTEXT, CURLOT_LONG, 0},
350 {"TRANSFER_ENCODING", CURLOPT_TRANSFER_ENCODING, CURLOT_LONG, 0},
351 {"UNIX_SOCKET_PATH", CURLOPT_UNIX_SOCKET_PATH, CURLOT_STRING, 0},
352 {"UNRESTRICTED_AUTH", CURLOPT_UNRESTRICTED_AUTH, CURLOT_LONG, 0},
353 {"UPKEEP_INTERVAL_MS", CURLOPT_UPKEEP_INTERVAL_MS, CURLOT_LONG, 0},
354 {"UPLOAD", CURLOPT_UPLOAD, CURLOT_LONG, 0},
355 {"UPLOAD_BUFFERSIZE", CURLOPT_UPLOAD_BUFFERSIZE, CURLOT_LONG, 0},
356 {"URL", CURLOPT_URL, CURLOT_STRING, 0},
357 {"USERAGENT", CURLOPT_USERAGENT, CURLOT_STRING, 0},
358 {"USERNAME", CURLOPT_USERNAME, CURLOT_STRING, 0},
359 {"USERPWD", CURLOPT_USERPWD, CURLOT_STRING, 0},
360 {"USE_SSL", CURLOPT_USE_SSL, CURLOT_VALUES, 0},
361 {"VERBOSE", CURLOPT_VERBOSE, CURLOT_LONG, 0},
362 {"WILDCARDMATCH", CURLOPT_WILDCARDMATCH, CURLOT_LONG, 0},
363 {"WRITEDATA", CURLOPT_WRITEDATA, CURLOT_CBPTR, 0},
364 {"WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CURLOT_FUNCTION, 0},
365 {"WRITEHEADER", CURLOPT_HEADERDATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS},
366 {"WS_OPTIONS", CURLOPT_WS_OPTIONS, CURLOT_LONG, 0},
367 {"XFERINFODATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, 0},
368 {"XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CURLOT_FUNCTION, 0},
369 {"XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CURLOT_STRING, 0},
370 {NULL, CURLOPT_LASTENTRY, CURLOT_LONG, 0} /* end of table */
371 };
372
373 #ifdef DEBUGBUILD
374 /*
375 * Curl_easyopts_check() is a debug-only function that returns non-zero
376 * if this source file is not in sync with the options listed in curl/curl.h
377 */
Curl_easyopts_check(void)378 int Curl_easyopts_check(void)
379 {
380 return ((CURLOPT_LASTENTRY%10000) != (326 + 1));
381 }
382 #endif
383