2
0

easyoptions.c 21 KB

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