Lines Matching +full:use +full:- +full:case
14 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
21 * SPDX-License-Identifier: curl
91 if(blob->len > CURL_MAX_INPUT_LENGTH) in Curl_setblobopt()
95 ((blob->flags & CURL_BLOB_COPY) ? blob->len : 0)); in Curl_setblobopt()
99 if(blob->flags & CURL_BLOB_COPY) { in Curl_setblobopt()
101 nblob->data = (char *)nblob + sizeof(struct curl_blob); in Curl_setblobopt()
102 memcpy(nblob->data, blob->data, blob->len); in Curl_setblobopt()
178 * We are asked to cherry-pick protocols, so play it safe and disallow all in protocol2num()
179 * protocols to start with, and re-add the wanted ones back in. in protocol2num()
196 tlen = str ? (size_t) (str - token) : strlen(token); in protocol2num()
203 *val |= h->protocol; in protocol2num()
223 data->state.authproxy.iestyle = iestyle; in httpauth()
225 data->state.authhost.iestyle = iestyle; in httpauth()
237 auth &= ~CURLAUTH_NEGOTIATE; /* no Negotiate (SPNEGO) auth without GSS-API in httpauth()
252 data->set.proxyauth = auth; in httpauth()
254 data->set.httpauth = auth; in httpauth()
264 case CURLOPT_DNS_CACHE_TIMEOUT: in setopt_long()
265 if(arg < -1) in setopt_long()
270 data->set.dns_cache_timeout = (int)arg; in setopt_long()
272 case CURLOPT_CA_CACHE_TIMEOUT: in setopt_long()
274 if(arg < -1) in setopt_long()
279 data->set.general_ssl.ca_cache_timeout = (int)arg; in setopt_long()
284 case CURLOPT_MAXCONNECTS: in setopt_long()
291 data->set.maxconnects = (unsigned int)uarg; in setopt_long()
293 case CURLOPT_FORBID_REUSE: in setopt_long()
298 data->set.reuse_forbid = enabled; in setopt_long()
300 case CURLOPT_FRESH_CONNECT: in setopt_long()
302 * This transfer shall not use a previously cached connection but in setopt_long()
305 data->set.reuse_fresh = enabled; in setopt_long()
307 case CURLOPT_VERBOSE: in setopt_long()
312 data->set.verbose = enabled; in setopt_long()
314 case CURLOPT_HEADER: in setopt_long()
318 data->set.include_header = enabled; in setopt_long()
320 case CURLOPT_NOPROGRESS: in setopt_long()
324 data->set.hide_progress = enabled; in setopt_long()
325 if(data->set.hide_progress) in setopt_long()
326 data->progress.flags |= PGRS_HIDE; in setopt_long()
328 data->progress.flags &= ~PGRS_HIDE; in setopt_long()
330 case CURLOPT_NOBODY: in setopt_long()
334 data->set.opt_no_body = enabled; in setopt_long()
336 if(data->set.opt_no_body) in setopt_long()
338 data->set.method = HTTPREQ_HEAD; in setopt_long()
339 else if(data->set.method == HTTPREQ_HEAD) in setopt_long()
340 data->set.method = HTTPREQ_GET; in setopt_long()
343 case CURLOPT_FAILONERROR: in setopt_long()
345 * Do not output the >=400 error code HTML-page, but instead only in setopt_long()
348 data->set.http_fail_on_error = enabled; in setopt_long()
350 case CURLOPT_KEEP_SENDING_ON_ERROR: in setopt_long()
351 data->set.http_keep_sending_on_error = enabled; in setopt_long()
353 case CURLOPT_UPLOAD: in setopt_long()
354 case CURLOPT_PUT: in setopt_long()
361 data->set.method = HTTPREQ_PUT; in setopt_long()
362 data->set.opt_no_body = FALSE; /* this is implied */ in setopt_long()
367 data->set.method = HTTPREQ_GET; in setopt_long()
369 case CURLOPT_FILETIME: in setopt_long()
374 data->set.get_filetime = enabled; in setopt_long()
376 case CURLOPT_SERVER_RESPONSE_TIMEOUT: in setopt_long()
382 data->set.server_response_timeout = (unsigned int)arg * 1000; in setopt_long()
386 case CURLOPT_SERVER_RESPONSE_TIMEOUT_MS: in setopt_long()
392 data->set.server_response_timeout = (unsigned int)arg; in setopt_long()
397 case CURLOPT_TFTP_NO_OPTIONS: in setopt_long()
402 data->set.tftp_no_options = enabled; in setopt_long()
404 case CURLOPT_TFTP_BLKSIZE: in setopt_long()
406 * TFTP option that specifies the block size to use for data transmission. in setopt_long()
412 data->set.tftp_blksize = arg; in setopt_long()
416 case CURLOPT_NETRC: in setopt_long()
422 data->set.use_netrc = (unsigned char)arg; in setopt_long()
425 case CURLOPT_TRANSFERTEXT: in setopt_long()
432 data->set.prefer_ascii = enabled; in setopt_long()
434 case CURLOPT_TIMECONDITION: in setopt_long()
441 data->set.timecondition = (unsigned char)(curl_TimeCond)arg; in setopt_long()
443 case CURLOPT_TIMEVALUE: in setopt_long()
448 data->set.timevalue = (time_t)arg; in setopt_long()
450 case CURLOPT_SSLVERSION: in setopt_long()
452 case CURLOPT_PROXY_SSLVERSION: in setopt_long()
461 struct ssl_primary_config *primary = &data->set.ssl.primary; in setopt_long()
464 primary = &data->set.proxy_ssl.primary; in setopt_long()
477 primary->version = (unsigned char)version; in setopt_long()
478 primary->version_max = (unsigned int)version_max; in setopt_long()
484 case CURLOPT_POSTFIELDSIZE: in setopt_long()
489 if(arg < -1) in setopt_long()
492 if(data->set.postfieldsize < arg && in setopt_long()
493 data->set.postfields == data->set.str[STRING_COPYPOSTFIELDS]) { in setopt_long()
495 Curl_safefree(data->set.str[STRING_COPYPOSTFIELDS]); in setopt_long()
496 data->set.postfields = NULL; in setopt_long()
499 data->set.postfieldsize = arg; in setopt_long()
503 case CURLOPT_COOKIESESSION: in setopt_long()
506 * prevent the forthcoming read-cookies-from-file actions to accept in setopt_long()
510 data->set.cookiesession = enabled; in setopt_long()
513 case CURLOPT_AUTOREFERER: in setopt_long()
517 data->set.http_auto_referer = enabled; in setopt_long()
520 case CURLOPT_TRANSFER_ENCODING: in setopt_long()
521 data->set.http_transfer_encoding = enabled; in setopt_long()
524 case CURLOPT_FOLLOWLOCATION: in setopt_long()
526 * Follow Location: header hints on an HTTP-server. in setopt_long()
528 data->set.http_follow_location = enabled; in setopt_long()
531 case CURLOPT_UNRESTRICTED_AUTH: in setopt_long()
536 data->set.allow_auth_to_other_hosts = enabled; in setopt_long()
539 case CURLOPT_MAXREDIRS: in setopt_long()
542 * headers. This should mostly be used to detect never-ending loops. in setopt_long()
544 if(arg < -1) in setopt_long()
546 data->set.maxredirs = arg; in setopt_long()
549 case CURLOPT_POSTREDIR: in setopt_long()
552 * CURL_REDIR_GET_ALL - POST is changed to GET after 301 and 302 in setopt_long()
553 * CURL_REDIR_POST_301 - POST is kept as POST after 301 in setopt_long()
554 * CURL_REDIR_POST_302 - POST is kept as POST after 302 in setopt_long()
555 * CURL_REDIR_POST_303 - POST is kept as POST after 303 in setopt_long()
556 * CURL_REDIR_POST_ALL - POST is kept as POST after 301, 302 and 303 in setopt_long()
557 * other - POST is kept as POST after 301 and 302 in setopt_long()
563 data->set.keep_post = arg & CURL_REDIR_POST_ALL; in setopt_long()
566 case CURLOPT_POST: in setopt_long()
571 data->set.method = HTTPREQ_POST; in setopt_long()
572 data->set.opt_no_body = FALSE; /* this is implied */ in setopt_long()
575 data->set.method = HTTPREQ_GET; in setopt_long()
577 case CURLOPT_HEADEROPT: in setopt_long()
581 data->set.sep_headers = !!(arg & CURLHEADER_SEPARATE); in setopt_long()
583 case CURLOPT_HTTPAUTH: in setopt_long()
586 case CURLOPT_HTTPGET: in setopt_long()
591 data->set.method = HTTPREQ_GET; in setopt_long()
592 data->set.opt_no_body = FALSE; /* this is implied */ in setopt_long()
596 case CURLOPT_HTTP_VERSION: in setopt_long()
602 case CURL_HTTP_VERSION_NONE: in setopt_long()
610 case CURL_HTTP_VERSION_1_0: in setopt_long()
611 case CURL_HTTP_VERSION_1_1: in setopt_long()
615 case CURL_HTTP_VERSION_2_0: in setopt_long()
616 case CURL_HTTP_VERSION_2TLS: in setopt_long()
617 case CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE: in setopt_long()
622 case CURL_HTTP_VERSION_3: in setopt_long()
623 case CURL_HTTP_VERSION_3ONLY: in setopt_long()
633 data->set.httpwant = (unsigned char)arg; in setopt_long()
636 case CURLOPT_EXPECT_100_TIMEOUT_MS: in setopt_long()
639 * Expect: 100-continue header before sending the data anyway. in setopt_long()
643 data->set.expect_100_timeout = arg; in setopt_long()
646 case CURLOPT_HTTP09_ALLOWED: in setopt_long()
652 data->set.http09_allowed = enabled; in setopt_long()
658 case CURLOPT_MIME_OPTIONS: in setopt_long()
659 data->set.mime_formescape = !!(arg & CURLMIMEOPT_FORMESCAPE); in setopt_long()
663 case CURLOPT_HTTPPROXYTUNNEL: in setopt_long()
665 * Tunnel operations through the proxy instead of normal proxy use in setopt_long()
667 data->set.tunnel_thru_httpproxy = enabled; in setopt_long()
670 case CURLOPT_PROXYPORT: in setopt_long()
676 data->set.proxyport = (unsigned short)arg; in setopt_long()
679 case CURLOPT_PROXYAUTH: in setopt_long()
682 case CURLOPT_PROXYTYPE: in setopt_long()
688 data->set.proxytype = (unsigned char)(curl_proxytype)arg; in setopt_long()
691 case CURLOPT_PROXY_TRANSFER_MODE: in setopt_long()
696 /* reserve other values for future use */ in setopt_long()
698 data->set.proxy_transfer_mode = (bool)uarg; in setopt_long()
700 case CURLOPT_SOCKS5_AUTH: in setopt_long()
701 if(data->set.socks5auth & ~(CURLAUTH_BASIC | CURLAUTH_GSSAPI)) in setopt_long()
703 data->set.socks5auth = (unsigned char)uarg; in setopt_long()
705 case CURLOPT_HAPROXYPROTOCOL: in setopt_long()
709 data->set.haproxyprotocol = enabled; in setopt_long()
711 case CURLOPT_PROXY_SSL_VERIFYPEER: in setopt_long()
715 data->set.proxy_ssl.primary.verifypeer = enabled; in setopt_long()
720 case CURLOPT_PROXY_SSL_VERIFYHOST: in setopt_long()
724 data->set.proxy_ssl.primary.verifyhost = enabled; in setopt_long()
732 case CURLOPT_SOCKS5_GSSAPI_NEC: in setopt_long()
736 data->set.socks5_gssapi_nec = enabled; in setopt_long()
740 case CURLOPT_DIRLISTONLY: in setopt_long()
745 data->set.list_only = enabled; in setopt_long()
748 case CURLOPT_APPEND: in setopt_long()
753 data->set.remote_append = enabled; in setopt_long()
757 case CURLOPT_FTP_FILEMETHOD: in setopt_long()
763 data->set.ftp_filemethod = (unsigned char)arg; in setopt_long()
765 case CURLOPT_FTP_USE_EPRT: in setopt_long()
766 data->set.ftp_use_eprt = enabled; in setopt_long()
769 case CURLOPT_FTP_USE_EPSV: in setopt_long()
770 data->set.ftp_use_epsv = enabled; in setopt_long()
773 case CURLOPT_FTP_USE_PRET: in setopt_long()
774 data->set.ftp_use_pret = enabled; in setopt_long()
777 case CURLOPT_FTP_SSL_CCC: in setopt_long()
780 data->set.ftp_ccc = (unsigned char)arg; in setopt_long()
783 case CURLOPT_FTP_SKIP_PASV_IP: in setopt_long()
788 data->set.ftp_skip_ip = enabled; in setopt_long()
791 case CURLOPT_FTPSSLAUTH: in setopt_long()
793 * Set a specific auth for FTP-SSL transfers. in setopt_long()
797 data->set.ftpsslauth = (unsigned char)(curl_ftpauth)arg; in setopt_long()
799 case CURLOPT_ACCEPTTIMEOUT_MS: in setopt_long()
805 data->set.accepttimeout = (unsigned int)uarg; in setopt_long()
807 case CURLOPT_WILDCARDMATCH: in setopt_long()
808 data->set.wildcard_enabled = enabled; in setopt_long()
812 case CURLOPT_FTP_CREATE_MISSING_DIRS: in setopt_long()
817 /* reserve other values for future use */ in setopt_long()
820 data->set.ftp_create_missing_dirs = (unsigned char)arg; in setopt_long()
823 case CURLOPT_INFILESIZE: in setopt_long()
826 * to-be-uploaded file. in setopt_long()
828 if(arg < -1) in setopt_long()
830 data->set.filesize = arg; in setopt_long()
832 case CURLOPT_LOW_SPEED_LIMIT: in setopt_long()
839 data->set.low_speed_limit = arg; in setopt_long()
841 case CURLOPT_LOW_SPEED_TIME: in setopt_long()
848 data->set.low_speed_time = arg; in setopt_long()
850 case CURLOPT_PORT: in setopt_long()
852 * The port number to use when getting the URL. 0 disables it. in setopt_long()
856 data->set.use_port = (unsigned short)arg; in setopt_long()
858 case CURLOPT_TIMEOUT: in setopt_long()
860 * The maximum time you allow curl to use for a single transfer in setopt_long()
864 data->set.timeout = (unsigned int)arg * 1000; in setopt_long()
869 case CURLOPT_TIMEOUT_MS: in setopt_long()
872 data->set.timeout = (unsigned int)uarg; in setopt_long()
875 case CURLOPT_CONNECTTIMEOUT: in setopt_long()
877 * The maximum time you allow curl to use to connect. in setopt_long()
880 data->set.connecttimeout = (unsigned int)arg * 1000; in setopt_long()
885 case CURLOPT_CONNECTTIMEOUT_MS: in setopt_long()
888 data->set.connecttimeout = (unsigned int)uarg; in setopt_long()
891 case CURLOPT_RESUME_FROM: in setopt_long()
895 if(arg < -1) in setopt_long()
897 data->set.set_resume_from = arg; in setopt_long()
900 case CURLOPT_CRLF: in setopt_long()
904 data->set.crlf = enabled; in setopt_long()
908 case CURLOPT_LOCALPORT: in setopt_long()
914 data->set.localport = curlx_sltous(arg); in setopt_long()
916 case CURLOPT_LOCALPORTRANGE: in setopt_long()
922 data->set.localportrange = curlx_sltous(arg); in setopt_long()
926 case CURLOPT_GSSAPI_DELEGATION: in setopt_long()
928 * GSS-API credential delegation bitmask in setopt_long()
930 data->set.gssapi_delegation = (unsigned char)uarg& in setopt_long()
933 case CURLOPT_SSL_VERIFYPEER: in setopt_long()
937 data->set.ssl.primary.verifypeer = enabled; in setopt_long()
943 case CURLOPT_DOH_SSL_VERIFYPEER: in setopt_long()
947 data->set.doh_verifypeer = enabled; in setopt_long()
949 case CURLOPT_DOH_SSL_VERIFYHOST: in setopt_long()
953 data->set.doh_verifyhost = enabled; in setopt_long()
955 case CURLOPT_DOH_SSL_VERIFYSTATUS: in setopt_long()
962 data->set.doh_verifystatus = enabled; in setopt_long()
965 case CURLOPT_SSL_VERIFYHOST: in setopt_long()
973 data->set.ssl.primary.verifyhost = enabled; in setopt_long()
978 case CURLOPT_SSL_VERIFYSTATUS: in setopt_long()
985 data->set.ssl.primary.verifystatus = enabled; in setopt_long()
990 case CURLOPT_SSL_FALSESTART: in setopt_long()
997 data->set.ssl.falsestart = enabled; in setopt_long()
999 case CURLOPT_CERTINFO: in setopt_long()
1002 data->set.ssl.certinfo = enabled; in setopt_long()
1007 case CURLOPT_BUFFERSIZE: in setopt_long()
1010 * If it seems reasonable, we will use it. in setopt_long()
1019 data->set.buffer_size = (unsigned int)arg; in setopt_long()
1022 case CURLOPT_UPLOAD_BUFFERSIZE: in setopt_long()
1032 data->set.upload_buffer_size = (unsigned int)arg; in setopt_long()
1035 case CURLOPT_NOSIGNAL: in setopt_long()
1040 data->set.no_signal = enabled; in setopt_long()
1042 case CURLOPT_MAXFILESIZE: in setopt_long()
1048 data->set.max_filesize = arg; in setopt_long()
1052 case CURLOPT_USE_SSL: in setopt_long()
1054 * Make transfers attempt to use SSL/TLS. in setopt_long()
1058 data->set.use_ssl = (unsigned char)arg; in setopt_long()
1060 case CURLOPT_SSL_OPTIONS: in setopt_long()
1061 data->set.ssl.primary.ssl_options = (unsigned char)(arg & 0xff); in setopt_long()
1062 data->set.ssl.enable_beast = !!(arg & CURLSSLOPT_ALLOW_BEAST); in setopt_long()
1063 data->set.ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); in setopt_long()
1064 data->set.ssl.no_partialchain = !!(arg & CURLSSLOPT_NO_PARTIALCHAIN); in setopt_long()
1065 data->set.ssl.revoke_best_effort = !!(arg & CURLSSLOPT_REVOKE_BEST_EFFORT); in setopt_long()
1066 data->set.ssl.native_ca_store = !!(arg & CURLSSLOPT_NATIVE_CA); in setopt_long()
1067 data->set.ssl.auto_client_cert = !!(arg & CURLSSLOPT_AUTO_CLIENT_CERT); in setopt_long()
1068 data->set.ssl.earlydata = !!(arg & CURLSSLOPT_EARLYDATA); in setopt_long()
1074 case CURLOPT_PROXY_SSL_OPTIONS: in setopt_long()
1075 data->set.proxy_ssl.primary.ssl_options = (unsigned char)(arg & 0xff); in setopt_long()
1076 data->set.proxy_ssl.enable_beast = !!(arg & CURLSSLOPT_ALLOW_BEAST); in setopt_long()
1077 data->set.proxy_ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); in setopt_long()
1078 data->set.proxy_ssl.no_partialchain = !!(arg & CURLSSLOPT_NO_PARTIALCHAIN); in setopt_long()
1079 data->set.proxy_ssl.revoke_best_effort = in setopt_long()
1081 data->set.proxy_ssl.native_ca_store = !!(arg & CURLSSLOPT_NATIVE_CA); in setopt_long()
1082 data->set.proxy_ssl.auto_client_cert = in setopt_long()
1088 case CURLOPT_IPRESOLVE: in setopt_long()
1091 data->set.ipver = (unsigned char) arg; in setopt_long()
1093 case CURLOPT_TCP_NODELAY: in setopt_long()
1098 data->set.tcp_nodelay = enabled; in setopt_long()
1101 case CURLOPT_IGNORE_CONTENT_LENGTH: in setopt_long()
1102 data->set.ignorecl = enabled; in setopt_long()
1105 case CURLOPT_CONNECT_ONLY: in setopt_long()
1108 * (1) - only do connection in setopt_long()
1109 * (2) - do first get request but get no content in setopt_long()
1113 data->set.connect_only = (unsigned char)arg; in setopt_long()
1116 case CURLOPT_SSL_SESSIONID_CACHE: in setopt_long()
1117 data->set.ssl.primary.cache_session = enabled; in setopt_long()
1119 data->set.proxy_ssl.primary.cache_session = in setopt_long()
1120 data->set.ssl.primary.cache_session; in setopt_long()
1126 case CURLOPT_SSH_AUTH_TYPES: in setopt_long()
1127 data->set.ssh_auth_types = (int)arg; in setopt_long()
1129 case CURLOPT_SSH_COMPRESSION: in setopt_long()
1130 data->set.ssh_compression = enabled; in setopt_long()
1134 case CURLOPT_HTTP_TRANSFER_DECODING: in setopt_long()
1139 data->set.http_te_skip = !enabled; /* reversed */ in setopt_long()
1145 case CURLOPT_HTTP_CONTENT_DECODING: in setopt_long()
1149 data->set.http_ce_skip = enabled; in setopt_long()
1153 case CURLOPT_NEW_FILE_PERMS: in setopt_long()
1159 data->set.new_file_perms = (unsigned int)arg; in setopt_long()
1163 case CURLOPT_NEW_DIRECTORY_PERMS: in setopt_long()
1169 data->set.new_directory_perms = (unsigned int)arg; in setopt_long()
1173 case CURLOPT_ADDRESS_SCOPE: in setopt_long()
1175 * Use this scope id when using IPv6 in setopt_long()
1177 * that the value fits into an unsigned 32-bit integer. in setopt_long()
1183 data->set.scope_id = (unsigned int)uarg; in setopt_long()
1186 case CURLOPT_PROTOCOLS: in setopt_long()
1191 data->set.allowed_protocols = (curl_prot_t)arg; in setopt_long()
1194 case CURLOPT_REDIR_PROTOCOLS: in setopt_long()
1198 data->set.redir_protocols = (curl_prot_t)arg; in setopt_long()
1202 case CURLOPT_MAIL_RCPT_ALLOWFAILS: in setopt_long()
1204 data->set.mail_rcpt_allowfails = enabled; in setopt_long()
1207 case CURLOPT_SASL_IR: in setopt_long()
1209 data->set.sasl_ir = enabled; in setopt_long()
1212 case CURLOPT_RTSP_REQUEST: in setopt_long()
1220 case CURL_RTSPREQ_OPTIONS: in setopt_long()
1224 case CURL_RTSPREQ_DESCRIBE: in setopt_long()
1228 case CURL_RTSPREQ_ANNOUNCE: in setopt_long()
1232 case CURL_RTSPREQ_SETUP: in setopt_long()
1236 case CURL_RTSPREQ_PLAY: in setopt_long()
1240 case CURL_RTSPREQ_PAUSE: in setopt_long()
1244 case CURL_RTSPREQ_TEARDOWN: in setopt_long()
1248 case CURL_RTSPREQ_GET_PARAMETER: in setopt_long()
1252 case CURL_RTSPREQ_SET_PARAMETER: in setopt_long()
1256 case CURL_RTSPREQ_RECORD: in setopt_long()
1260 case CURL_RTSPREQ_RECEIVE: in setopt_long()
1267 data->set.rtspreq = rtspreq; in setopt_long()
1270 case CURLOPT_RTSP_CLIENT_CSEQ: in setopt_long()
1276 data->state.rtsp_next_client_CSeq = arg; in setopt_long()
1279 case CURLOPT_RTSP_SERVER_CSEQ: in setopt_long()
1280 /* Same as the above, but for server-initiated requests */ in setopt_long()
1281 data->state.rtsp_next_server_CSeq = arg; in setopt_long()
1286 case CURLOPT_TCP_KEEPALIVE: in setopt_long()
1287 data->set.tcp_keepalive = enabled; in setopt_long()
1289 case CURLOPT_TCP_KEEPIDLE: in setopt_long()
1294 data->set.tcp_keepidle = (int)arg; in setopt_long()
1296 case CURLOPT_TCP_KEEPINTVL: in setopt_long()
1301 data->set.tcp_keepintvl = (int)arg; in setopt_long()
1303 case CURLOPT_TCP_KEEPCNT: in setopt_long()
1308 data->set.tcp_keepcnt = (int)arg; in setopt_long()
1310 case CURLOPT_TCP_FASTOPEN: in setopt_long()
1313 data->set.tcp_fastopen = enabled; in setopt_long()
1318 case CURLOPT_SSL_ENABLE_NPN: in setopt_long()
1320 case CURLOPT_SSL_ENABLE_ALPN: in setopt_long()
1321 data->set.ssl_enable_alpn = enabled; in setopt_long()
1323 case CURLOPT_PATH_AS_IS: in setopt_long()
1324 data->set.path_as_is = enabled; in setopt_long()
1326 case CURLOPT_PIPEWAIT: in setopt_long()
1327 data->set.pipewait = enabled; in setopt_long()
1329 case CURLOPT_STREAM_WEIGHT: in setopt_long()
1332 data->set.priority.weight = (int)arg; in setopt_long()
1337 case CURLOPT_SUPPRESS_CONNECT_HEADERS: in setopt_long()
1338 data->set.suppress_connect_headers = enabled; in setopt_long()
1340 case CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS: in setopt_long()
1343 data->set.happy_eyeballs_timeout = (unsigned int)uarg; in setopt_long()
1346 case CURLOPT_DNS_SHUFFLE_ADDRESSES: in setopt_long()
1347 data->set.dns_shuffle_addresses = enabled; in setopt_long()
1350 case CURLOPT_DISALLOW_USERNAME_IN_URL: in setopt_long()
1351 data->set.disallow_username_in_url = enabled; in setopt_long()
1354 case CURLOPT_UPKEEP_INTERVAL_MS: in setopt_long()
1357 data->set.upkeep_interval_ms = arg; in setopt_long()
1359 case CURLOPT_MAXAGE_CONN: in setopt_long()
1362 data->set.maxage_conn = arg; in setopt_long()
1364 case CURLOPT_MAXLIFETIME_CONN: in setopt_long()
1367 data->set.maxlifetime_conn = arg; in setopt_long()
1370 case CURLOPT_HSTS_CTRL: in setopt_long()
1372 if(!data->hsts) { in setopt_long()
1373 data->hsts = Curl_hsts_init(); in setopt_long()
1374 if(!data->hsts) in setopt_long()
1379 Curl_hsts_cleanup(&data->hsts); in setopt_long()
1383 case CURLOPT_ALTSVC_CTRL: in setopt_long()
1388 if(!data->asi) { in setopt_long()
1389 data->asi = Curl_altsvc_init(); in setopt_long()
1390 if(!data->asi) in setopt_long()
1393 return Curl_altsvc_ctrl(data->asi, arg); in setopt_long()
1396 case CURLOPT_WS_OPTIONS: in setopt_long()
1397 data->set.ws_raw_mode = (bool)(arg & CURLWS_RAW_MODE); in setopt_long()
1400 case CURLOPT_QUICK_EXIT: in setopt_long()
1401 data->set.quick_exit = enabled; in setopt_long()
1403 case CURLOPT_DNS_USE_GLOBAL_CACHE: in setopt_long()
1406 case CURLOPT_SSLENGINE_DEFAULT: in setopt_long()
1410 Curl_safefree(data->set.str[STRING_SSL_ENGINE]); in setopt_long()
1426 case CURLOPT_PROXYHEADER: in setopt_slist()
1428 * Set a list with proxy headers to use (or replace internals with) in setopt_slist()
1437 data->set.proxyheaders = slist; in setopt_slist()
1441 case CURLOPT_HTTP200ALIASES: in setopt_slist()
1445 data->set.http200aliases = slist; in setopt_slist()
1449 case CURLOPT_POSTQUOTE: in setopt_slist()
1451 * List of RAW FTP commands to use after a transfer in setopt_slist()
1453 data->set.postquote = slist; in setopt_slist()
1455 case CURLOPT_PREQUOTE: in setopt_slist()
1457 * List of RAW FTP commands to use prior to RETR (Wesley Laxton) in setopt_slist()
1459 data->set.prequote = slist; in setopt_slist()
1461 case CURLOPT_QUOTE: in setopt_slist()
1463 * List of RAW FTP commands to use before a transfer in setopt_slist()
1465 data->set.quote = slist; in setopt_slist()
1468 case CURLOPT_RESOLVE: in setopt_slist()
1477 * Prefix the HOST with dash (-) to _remove_ the entry from the cache. in setopt_slist()
1480 * that are not actually in use right now will be pruned immediately. in setopt_slist()
1482 data->set.resolve = slist; in setopt_slist()
1483 data->state.resolve = data->set.resolve; in setopt_slist()
1486 case CURLOPT_HTTPHEADER: in setopt_slist()
1488 * Set a list with HTTP headers to use (or replace internals with) in setopt_slist()
1490 data->set.headers = slist; in setopt_slist()
1494 case CURLOPT_TELNETOPTIONS: in setopt_slist()
1498 data->set.telnet_options = slist; in setopt_slist()
1502 case CURLOPT_MAIL_RCPT: in setopt_slist()
1504 data->set.mail_rcpt = slist; in setopt_slist()
1507 case CURLOPT_CONNECT_TO: in setopt_slist()
1508 data->set.connect_to = slist; in setopt_slist()
1524 case CURLOPT_HTTPPOST: in setopt_pointers()
1526 * Set to make us do HTTP POST. Legacy API-style. in setopt_pointers()
1528 data->set.httppost = va_arg(param, struct curl_httppost *); in setopt_pointers()
1529 data->set.method = HTTPREQ_POST_FORM; in setopt_pointers()
1530 data->set.opt_no_body = FALSE; /* this is implied */ in setopt_pointers()
1531 Curl_mime_cleanpart(data->state.formp); in setopt_pointers()
1532 Curl_safefree(data->state.formp); in setopt_pointers()
1533 data->state.mimepost = NULL; in setopt_pointers()
1540 case CURLOPT_MIMEPOST: in setopt_pointers()
1544 result = Curl_mime_set_subparts(&data->set.mimepost, in setopt_pointers()
1548 data->set.method = HTTPREQ_POST_MIME; in setopt_pointers()
1549 data->set.opt_no_body = FALSE; /* this is implied */ in setopt_pointers()
1551 Curl_mime_cleanpart(data->state.formp); in setopt_pointers()
1552 Curl_safefree(data->state.formp); in setopt_pointers()
1553 data->state.mimepost = NULL; in setopt_pointers()
1559 case CURLOPT_STDERR: in setopt_pointers()
1564 data->set.err = va_arg(param, FILE *); in setopt_pointers()
1565 if(!data->set.err) in setopt_pointers()
1566 data->set.err = stderr; in setopt_pointers()
1568 case CURLOPT_SHARE: in setopt_pointers()
1573 if(data->share) { in setopt_pointers()
1576 if(data->dns.hostcachetype == HCACHE_SHARED) { in setopt_pointers()
1577 data->dns.hostcache = NULL; in setopt_pointers()
1578 data->dns.hostcachetype = HCACHE_NONE; in setopt_pointers()
1582 if(data->share->cookies == data->cookies) in setopt_pointers()
1583 data->cookies = NULL; in setopt_pointers()
1587 if(data->share->hsts == data->hsts) in setopt_pointers()
1588 data->hsts = NULL; in setopt_pointers()
1591 if(data->share->sslsession == data->state.session) in setopt_pointers()
1592 data->state.session = NULL; in setopt_pointers()
1595 if(data->psl == &data->share->psl) in setopt_pointers()
1596 data->psl = data->multi ? &data->multi->psl : NULL; in setopt_pointers()
1599 data->share->dirty--; in setopt_pointers()
1602 data->share = NULL; in setopt_pointers()
1606 /* use new share if it set */ in setopt_pointers()
1607 data->share = set; in setopt_pointers()
1608 if(data->share) { in setopt_pointers()
1612 data->share->dirty++; in setopt_pointers()
1614 if(data->share->specifier & (1 << CURL_LOCK_DATA_DNS)) { in setopt_pointers()
1615 /* use shared host cache */ in setopt_pointers()
1616 data->dns.hostcache = &data->share->hostcache; in setopt_pointers()
1617 data->dns.hostcachetype = HCACHE_SHARED; in setopt_pointers()
1620 if(data->share->cookies) { in setopt_pointers()
1621 /* use shared cookie list, first free own one if any */ in setopt_pointers()
1622 Curl_cookie_cleanup(data->cookies); in setopt_pointers()
1623 /* enable cookies since we now use a share that uses cookies! */ in setopt_pointers()
1624 data->cookies = data->share->cookies; in setopt_pointers()
1628 if(data->share->hsts) { in setopt_pointers()
1630 Curl_hsts_cleanup(&data->hsts); in setopt_pointers()
1631 data->hsts = data->share->hsts; in setopt_pointers()
1635 if(data->share->sslsession) { in setopt_pointers()
1636 data->set.general_ssl.max_ssl_sessions = data->share->max_ssl_sessions; in setopt_pointers()
1637 data->state.session = data->share->sslsession; in setopt_pointers()
1641 if(data->share->specifier & (1 << CURL_LOCK_DATA_PSL)) in setopt_pointers()
1642 data->psl = &data->share->psl; in setopt_pointers()
1653 case CURLOPT_STREAM_DEPENDS: in setopt_pointers()
1654 case CURLOPT_STREAM_DEPENDS_E: { in setopt_pointers()
1674 case CURLOPT_SSL_CIPHER_LIST: in setopt_cptr()
1676 /* set a list of cipher we want to use in the SSL connection */ in setopt_cptr()
1677 return Curl_setstropt(&data->set.str[STRING_SSL_CIPHER_LIST], ptr); in setopt_cptr()
1681 case CURLOPT_PROXY_SSL_CIPHER_LIST: in setopt_cptr()
1683 /* set a list of cipher we want to use in the SSL connection for proxy */ in setopt_cptr()
1684 return Curl_setstropt(&data->set.str[STRING_SSL_CIPHER_LIST_PROXY], in setopt_cptr()
1691 case CURLOPT_TLS13_CIPHERS: in setopt_cptr()
1694 return Curl_setstropt(&data->set.str[STRING_SSL_CIPHER13_LIST], ptr); in setopt_cptr()
1700 case CURLOPT_PROXY_TLS13_CIPHERS: in setopt_cptr()
1703 return Curl_setstropt(&data->set.str[STRING_SSL_CIPHER13_LIST_PROXY], in setopt_cptr()
1709 case CURLOPT_RANDOM_FILE: in setopt_cptr()
1711 case CURLOPT_EGDSOCKET: in setopt_cptr()
1713 case CURLOPT_REQUEST_TARGET: in setopt_cptr()
1714 return Curl_setstropt(&data->set.str[STRING_TARGET], ptr); in setopt_cptr()
1716 case CURLOPT_NETRC_FILE: in setopt_cptr()
1718 * Use this file instead of the $HOME/.netrc file in setopt_cptr()
1720 return Curl_setstropt(&data->set.str[STRING_NETRC_FILE], ptr); in setopt_cptr()
1724 case CURLOPT_COPYPOSTFIELDS: in setopt_cptr()
1730 if(!ptr || data->set.postfieldsize == -1) in setopt_cptr()
1731 result = Curl_setstropt(&data->set.str[STRING_COPYPOSTFIELDS], ptr); in setopt_cptr()
1733 if(data->set.postfieldsize < 0) in setopt_cptr()
1739 else if(data->set.postfieldsize > SIZE_T_MAX) in setopt_cptr()
1748 char *p = Curl_memdup0(ptr, (size_t)data->set.postfieldsize); in setopt_cptr()
1752 free(data->set.str[STRING_COPYPOSTFIELDS]); in setopt_cptr()
1753 data->set.str[STRING_COPYPOSTFIELDS] = p; in setopt_cptr()
1758 data->set.postfields = data->set.str[STRING_COPYPOSTFIELDS]; in setopt_cptr()
1759 data->set.method = HTTPREQ_POST; in setopt_cptr()
1762 case CURLOPT_POSTFIELDS: in setopt_cptr()
1764 * Like above, but use static data instead of copying it. in setopt_cptr()
1766 data->set.postfields = ptr; in setopt_cptr()
1768 Curl_safefree(data->set.str[STRING_COPYPOSTFIELDS]); in setopt_cptr()
1769 data->set.method = HTTPREQ_POST; in setopt_cptr()
1773 case CURLOPT_ACCEPT_ENCODING: in setopt_cptr()
1775 * String to use at the value of Accept-Encoding header. in setopt_cptr()
1777 * If the encoding is set to "" we use an Accept-Encoding header that in setopt_cptr()
1779 * If the encoding is set to NULL we do not send an Accept-Encoding header in setopt_cptr()
1780 * and ignore an received Content-Encoding header. in setopt_cptr()
1786 return Curl_setstropt(&data->set.str[STRING_ENCODING], all); in setopt_cptr()
1788 return Curl_setstropt(&data->set.str[STRING_ENCODING], ptr); in setopt_cptr()
1791 case CURLOPT_AWS_SIGV4: in setopt_cptr()
1796 result = Curl_setstropt(&data->set.str[STRING_AWS_SIGV4], ptr); in setopt_cptr()
1800 if(data->set.str[STRING_AWS_SIGV4]) in setopt_cptr()
1801 data->set.httpauth = CURLAUTH_AWS_SIGV4; in setopt_cptr()
1804 case CURLOPT_REFERER: in setopt_cptr()
1808 if(data->state.referer_alloc) { in setopt_cptr()
1809 Curl_safefree(data->state.referer); in setopt_cptr()
1810 data->state.referer_alloc = FALSE; in setopt_cptr()
1812 result = Curl_setstropt(&data->set.str[STRING_SET_REFERER], ptr); in setopt_cptr()
1813 data->state.referer = data->set.str[STRING_SET_REFERER]; in setopt_cptr()
1816 case CURLOPT_USERAGENT: in setopt_cptr()
1818 * String to use in the HTTP User-Agent field in setopt_cptr()
1820 return Curl_setstropt(&data->set.str[STRING_USERAGENT], ptr); in setopt_cptr()
1823 case CURLOPT_COOKIE: in setopt_cptr()
1827 return Curl_setstropt(&data->set.str[STRING_COOKIE], ptr); in setopt_cptr()
1829 case CURLOPT_COOKIEFILE: in setopt_cptr()
1840 cl = curl_slist_append(data->state.cookielist, ptr); in setopt_cptr()
1842 curl_slist_free_all(data->state.cookielist); in setopt_cptr()
1843 data->state.cookielist = NULL; in setopt_cptr()
1846 data->state.cookielist = cl; /* store the list for later use */ in setopt_cptr()
1850 curl_slist_free_all(data->state.cookielist); in setopt_cptr()
1851 data->state.cookielist = NULL; in setopt_cptr()
1853 if(!data->share || !data->share->cookies) { in setopt_cptr()
1856 Curl_cookie_clearall(data->cookies); in setopt_cptr()
1857 Curl_cookie_cleanup(data->cookies); in setopt_cptr()
1860 data->cookies = NULL; in setopt_cptr()
1864 case CURLOPT_COOKIEJAR: in setopt_cptr()
1868 result = Curl_setstropt(&data->set.str[STRING_COOKIEJAR], ptr); in setopt_cptr()
1875 Curl_cookie_init(data, NULL, data->cookies, data->set.cookiesession); in setopt_cptr()
1878 data->cookies = newcookies; in setopt_cptr()
1882 case CURLOPT_COOKIELIST: in setopt_cptr()
1889 Curl_cookie_clearall(data->cookies); in setopt_cptr()
1895 Curl_cookie_clearsess(data->cookies); in setopt_cptr()
1908 if(!data->cookies) { in setopt_cptr()
1910 data->cookies = Curl_cookie_init(data, NULL, NULL, TRUE); in setopt_cptr()
1911 if(!data->cookies) in setopt_cptr()
1920 if(checkprefix("Set-Cookie:", ptr)) in setopt_cptr()
1922 Curl_cookie_add(data, data->cookies, TRUE, FALSE, ptr + 11, NULL, in setopt_cptr()
1926 Curl_cookie_add(data, data->cookies, FALSE, FALSE, ptr, NULL, in setopt_cptr()
1935 case CURLOPT_CUSTOMREQUEST: in setopt_cptr()
1937 * Set a custom string to use as request in setopt_cptr()
1939 return Curl_setstropt(&data->set.str[STRING_CUSTOMREQUEST], ptr); in setopt_cptr()
1942 data->set.method = HTTPREQ_CUSTOM; in setopt_cptr()
1947 case CURLOPT_PROXY: in setopt_cptr()
1949 * Set proxy server:port to use as proxy. in setopt_cptr()
1952 * we explicitly say that we do not want to use a proxy in setopt_cptr()
1958 return Curl_setstropt(&data->set.str[STRING_PROXY], ptr); in setopt_cptr()
1961 case CURLOPT_PRE_PROXY: in setopt_cptr()
1963 * Set proxy server:port to use as SOCKS proxy. in setopt_cptr()
1966 * to use the socks proxy. in setopt_cptr()
1968 return Curl_setstropt(&data->set.str[STRING_PRE_PROXY], ptr); in setopt_cptr()
1972 case CURLOPT_SOCKS5_GSSAPI_SERVICE: in setopt_cptr()
1973 case CURLOPT_PROXY_SERVICE_NAME: in setopt_cptr()
1977 return Curl_setstropt(&data->set.str[STRING_PROXY_SERVICE_NAME], ptr); in setopt_cptr()
1979 case CURLOPT_SERVICE_NAME: in setopt_cptr()
1981 * Set authentication service name for DIGEST-MD5, Kerberos 5 and SPNEGO in setopt_cptr()
1983 return Curl_setstropt(&data->set.str[STRING_SERVICE_NAME], ptr); in setopt_cptr()
1986 case CURLOPT_HEADERDATA: in setopt_cptr()
1990 data->set.writeheader = (void *)ptr; in setopt_cptr()
1992 case CURLOPT_READDATA: in setopt_cptr()
1997 data->set.in_set = (void *)ptr; in setopt_cptr()
1999 case CURLOPT_WRITEDATA: in setopt_cptr()
2004 data->set.out = (void *)ptr; in setopt_cptr()
2006 case CURLOPT_DEBUGDATA: in setopt_cptr()
2011 data->set.debugdata = (void *)ptr; in setopt_cptr()
2013 case CURLOPT_PROGRESSDATA: in setopt_cptr()
2017 data->set.progress_client = (void *)ptr; in setopt_cptr()
2019 case CURLOPT_SEEKDATA: in setopt_cptr()
2023 data->set.seek_client = (void *)ptr; in setopt_cptr()
2025 case CURLOPT_IOCTLDATA: in setopt_cptr()
2029 data->set.ioctl_client = (void *)ptr; in setopt_cptr()
2031 case CURLOPT_SSL_CTX_DATA: in setopt_cptr()
2037 data->set.ssl.fsslctxp = (void *)ptr; in setopt_cptr()
2042 case CURLOPT_SOCKOPTDATA: in setopt_cptr()
2046 data->set.sockopt_client = (void *)ptr; in setopt_cptr()
2048 case CURLOPT_OPENSOCKETDATA: in setopt_cptr()
2052 data->set.opensocket_client = (void *)ptr; in setopt_cptr()
2054 case CURLOPT_RESOLVER_START_DATA: in setopt_cptr()
2058 data->set.resolver_start_client = (void *)ptr; in setopt_cptr()
2060 case CURLOPT_CLOSESOCKETDATA: in setopt_cptr()
2064 data->set.closesocket_client = (void *)ptr; in setopt_cptr()
2066 case CURLOPT_TRAILERDATA: in setopt_cptr()
2068 data->set.trailer_data = (void *)ptr; in setopt_cptr()
2071 case CURLOPT_PREREQDATA: in setopt_cptr()
2072 data->set.prereq_userp = (void *)ptr; in setopt_cptr()
2075 case CURLOPT_ERRORBUFFER: in setopt_cptr()
2080 data->set.errorbuffer = ptr; in setopt_cptr()
2084 case CURLOPT_FTPPORT: in setopt_cptr()
2086 * Use FTP PORT, this also specifies which IP address to use in setopt_cptr()
2088 result = Curl_setstropt(&data->set.str[STRING_FTPPORT], ptr); in setopt_cptr()
2089 data->set.ftp_use_port = !!(data->set.str[STRING_FTPPORT]); in setopt_cptr()
2092 case CURLOPT_FTP_ACCOUNT: in setopt_cptr()
2093 return Curl_setstropt(&data->set.str[STRING_FTP_ACCOUNT], ptr); in setopt_cptr()
2095 case CURLOPT_FTP_ALTERNATIVE_TO_USER: in setopt_cptr()
2096 return Curl_setstropt(&data->set.str[STRING_FTP_ALTERNATIVE_TO_USER], ptr); in setopt_cptr()
2099 case CURLOPT_KRBLEVEL: in setopt_cptr()
2103 result = Curl_setstropt(&data->set.str[STRING_KRB_LEVEL], ptr); in setopt_cptr()
2104 data->set.krb = !!(data->set.str[STRING_KRB_LEVEL]); in setopt_cptr()
2108 case CURLOPT_URL: in setopt_cptr()
2112 if(data->state.url_alloc) { in setopt_cptr()
2114 Curl_safefree(data->state.url); in setopt_cptr()
2115 data->state.url_alloc = FALSE; in setopt_cptr()
2117 result = Curl_setstropt(&data->set.str[STRING_SET_URL], ptr); in setopt_cptr()
2118 data->state.url = data->set.str[STRING_SET_URL]; in setopt_cptr()
2121 case CURLOPT_USERPWD: in setopt_cptr()
2123 * user:password to use in the operation in setopt_cptr()
2125 return setstropt_userpwd(ptr, &data->set.str[STRING_USERNAME], in setopt_cptr()
2126 &data->set.str[STRING_PASSWORD]); in setopt_cptr()
2128 case CURLOPT_USERNAME: in setopt_cptr()
2130 * authentication username to use in the operation in setopt_cptr()
2132 return Curl_setstropt(&data->set.str[STRING_USERNAME], ptr); in setopt_cptr()
2134 case CURLOPT_PASSWORD: in setopt_cptr()
2136 * authentication password to use in the operation in setopt_cptr()
2138 return Curl_setstropt(&data->set.str[STRING_PASSWORD], ptr); in setopt_cptr()
2140 case CURLOPT_LOGIN_OPTIONS: in setopt_cptr()
2142 * authentication options to use in the operation in setopt_cptr()
2144 return Curl_setstropt(&data->set.str[STRING_OPTIONS], ptr); in setopt_cptr()
2146 case CURLOPT_XOAUTH2_BEARER: in setopt_cptr()
2148 * OAuth 2.0 bearer token to use in the operation in setopt_cptr()
2150 return Curl_setstropt(&data->set.str[STRING_BEARER], ptr); in setopt_cptr()
2153 case CURLOPT_PROXYUSERPWD: { in setopt_cptr()
2155 * user:password needed to use the proxy in setopt_cptr()
2163 result = Curl_urldecode(u, 0, &data->set.str[STRING_PROXYUSERNAME], NULL, in setopt_cptr()
2166 result = Curl_urldecode(p, 0, &data->set.str[STRING_PROXYPASSWORD], NULL, in setopt_cptr()
2172 case CURLOPT_PROXYUSERNAME: in setopt_cptr()
2174 * authentication username to use in the operation in setopt_cptr()
2176 return Curl_setstropt(&data->set.str[STRING_PROXYUSERNAME], ptr); in setopt_cptr()
2178 case CURLOPT_PROXYPASSWORD: in setopt_cptr()
2180 * authentication password to use in the operation in setopt_cptr()
2182 return Curl_setstropt(&data->set.str[STRING_PROXYPASSWORD], ptr); in setopt_cptr()
2184 case CURLOPT_NOPROXY: in setopt_cptr()
2188 return Curl_setstropt(&data->set.str[STRING_NOPROXY], ptr); in setopt_cptr()
2191 case CURLOPT_RANGE: in setopt_cptr()
2195 return Curl_setstropt(&data->set.str[STRING_SET_RANGE], ptr); in setopt_cptr()
2198 case CURLOPT_CURLU: in setopt_cptr()
2202 data->set.uh = (CURLU *)ptr; in setopt_cptr()
2204 case CURLOPT_SSLCERT: in setopt_cptr()
2206 * String that holds filename of the SSL certificate to use in setopt_cptr()
2208 return Curl_setstropt(&data->set.str[STRING_CERT], ptr); in setopt_cptr()
2211 case CURLOPT_PROXY_SSLCERT: in setopt_cptr()
2213 * String that holds filename of the SSL certificate to use for proxy in setopt_cptr()
2215 return Curl_setstropt(&data->set.str[STRING_CERT_PROXY], ptr); in setopt_cptr()
2218 case CURLOPT_SSLCERTTYPE: in setopt_cptr()
2220 * String that holds file type of the SSL certificate to use in setopt_cptr()
2222 return Curl_setstropt(&data->set.str[STRING_CERT_TYPE], ptr); in setopt_cptr()
2225 case CURLOPT_PROXY_SSLCERTTYPE: in setopt_cptr()
2227 * String that holds file type of the SSL certificate to use for proxy in setopt_cptr()
2229 return Curl_setstropt(&data->set.str[STRING_CERT_TYPE_PROXY], ptr); in setopt_cptr()
2231 case CURLOPT_SSLKEY: in setopt_cptr()
2233 * String that holds filename of the SSL key to use in setopt_cptr()
2235 return Curl_setstropt(&data->set.str[STRING_KEY], ptr); in setopt_cptr()
2238 case CURLOPT_PROXY_SSLKEY: in setopt_cptr()
2240 * String that holds filename of the SSL key to use for proxy in setopt_cptr()
2242 return Curl_setstropt(&data->set.str[STRING_KEY_PROXY], ptr); in setopt_cptr()
2245 case CURLOPT_SSLKEYTYPE: in setopt_cptr()
2247 * String that holds file type of the SSL key to use in setopt_cptr()
2249 return Curl_setstropt(&data->set.str[STRING_KEY_TYPE], ptr); in setopt_cptr()
2252 case CURLOPT_PROXY_SSLKEYTYPE: in setopt_cptr()
2254 * String that holds file type of the SSL key to use for proxy in setopt_cptr()
2256 return Curl_setstropt(&data->set.str[STRING_KEY_TYPE_PROXY], ptr); in setopt_cptr()
2259 case CURLOPT_KEYPASSWD: in setopt_cptr()
2263 return Curl_setstropt(&data->set.str[STRING_KEY_PASSWD], ptr); in setopt_cptr()
2266 case CURLOPT_PROXY_KEYPASSWD: in setopt_cptr()
2270 return Curl_setstropt(&data->set.str[STRING_KEY_PASSWD_PROXY], ptr); in setopt_cptr()
2272 case CURLOPT_SSLENGINE: in setopt_cptr()
2277 result = Curl_setstropt(&data->set.str[STRING_SSL_ENGINE], ptr); in setopt_cptr()
2285 case CURLOPT_HAPROXY_CLIENT_IP: in setopt_cptr()
2289 result = Curl_setstropt(&data->set.str[STRING_HAPROXY_CLIENT_IP], ptr); in setopt_cptr()
2291 data->set.haproxyprotocol = TRUE; in setopt_cptr()
2294 case CURLOPT_INTERFACE: in setopt_cptr()
2297 * performing an operation and thus what from-IP your connection will use. in setopt_cptr()
2300 &data->set.str[STRING_DEVICE], in setopt_cptr()
2301 &data->set.str[STRING_INTERFACE], in setopt_cptr()
2302 &data->set.str[STRING_BINDHOST]); in setopt_cptr()
2304 case CURLOPT_PINNEDPUBLICKEY: in setopt_cptr()
2311 return Curl_setstropt(&data->set.str[STRING_SSL_PINNEDPUBLICKEY], ptr); in setopt_cptr()
2316 case CURLOPT_PROXY_PINNEDPUBLICKEY: in setopt_cptr()
2323 return Curl_setstropt(&data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY], in setopt_cptr()
2328 case CURLOPT_CAINFO: in setopt_cptr()
2332 return Curl_setstropt(&data->set.str[STRING_SSL_CAFILE], ptr); in setopt_cptr()
2335 case CURLOPT_PROXY_CAINFO: in setopt_cptr()
2340 return Curl_setstropt(&data->set.str[STRING_SSL_CAFILE_PROXY], ptr); in setopt_cptr()
2343 case CURLOPT_CAPATH: in setopt_cptr()
2351 return Curl_setstropt(&data->set.str[STRING_SSL_CAPATH], ptr); in setopt_cptr()
2355 case CURLOPT_PROXY_CAPATH: in setopt_cptr()
2363 return Curl_setstropt(&data->set.str[STRING_SSL_CAPATH_PROXY], ptr); in setopt_cptr()
2367 case CURLOPT_CRLFILE: in setopt_cptr()
2372 return Curl_setstropt(&data->set.str[STRING_SSL_CRLFILE], ptr); in setopt_cptr()
2375 case CURLOPT_PROXY_CRLFILE: in setopt_cptr()
2380 return Curl_setstropt(&data->set.str[STRING_SSL_CRLFILE_PROXY], ptr); in setopt_cptr()
2382 case CURLOPT_ISSUERCERT: in setopt_cptr()
2387 return Curl_setstropt(&data->set.str[STRING_SSL_ISSUERCERT], ptr); in setopt_cptr()
2390 case CURLOPT_PROXY_ISSUERCERT: in setopt_cptr()
2395 return Curl_setstropt(&data->set.str[STRING_SSL_ISSUERCERT_PROXY], ptr); in setopt_cptr()
2399 case CURLOPT_PRIVATE: in setopt_cptr()
2403 data->set.private_data = (void *)ptr; in setopt_cptr()
2407 case CURLOPT_SSL_EC_CURVES: in setopt_cptr()
2410 * Specify colon-delimited list of curve algorithm names. in setopt_cptr()
2412 return Curl_setstropt(&data->set.str[STRING_SSL_EC_CURVES], ptr); in setopt_cptr()
2415 case CURLOPT_SSH_PUBLIC_KEYFILE: in setopt_cptr()
2417 * Use this file instead of the $HOME/.ssh/id_dsa.pub file in setopt_cptr()
2419 return Curl_setstropt(&data->set.str[STRING_SSH_PUBLIC_KEY], ptr); in setopt_cptr()
2421 case CURLOPT_SSH_PRIVATE_KEYFILE: in setopt_cptr()
2423 * Use this file instead of the $HOME/.ssh/id_dsa file in setopt_cptr()
2425 return Curl_setstropt(&data->set.str[STRING_SSH_PRIVATE_KEY], ptr); in setopt_cptr()
2427 case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5: in setopt_cptr()
2432 return Curl_setstropt(&data->set.str[STRING_SSH_HOST_PUBLIC_KEY_MD5], ptr); in setopt_cptr()
2434 case CURLOPT_SSH_KNOWNHOSTS: in setopt_cptr()
2438 return Curl_setstropt(&data->set.str[STRING_SSH_KNOWNHOSTS], ptr); in setopt_cptr()
2440 case CURLOPT_SSH_KEYDATA: in setopt_cptr()
2444 data->set.ssh_keyfunc_userp = (void *)ptr; in setopt_cptr()
2447 case CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256: in setopt_cptr()
2452 return Curl_setstropt(&data->set.str[STRING_SSH_HOST_PUBLIC_KEY_SHA256], in setopt_cptr()
2455 case CURLOPT_SSH_HOSTKEYDATA: in setopt_cptr()
2459 data->set.ssh_hostkeyfunc_userp = (void *)ptr; in setopt_cptr()
2463 case CURLOPT_PROTOCOLS_STR: in setopt_cptr()
2465 return protocol2num(ptr, &data->set.allowed_protocols); in setopt_cptr()
2467 data->set.allowed_protocols = (curl_prot_t) CURLPROTO_ALL; in setopt_cptr()
2470 case CURLOPT_REDIR_PROTOCOLS_STR: in setopt_cptr()
2472 return protocol2num(ptr, &data->set.redir_protocols); in setopt_cptr()
2474 data->set.redir_protocols = (curl_prot_t) CURLPROTO_REDIR; in setopt_cptr()
2477 case CURLOPT_DEFAULT_PROTOCOL: in setopt_cptr()
2478 /* Set the protocol to use when the URL does not include any protocol */ in setopt_cptr()
2479 return Curl_setstropt(&data->set.str[STRING_DEFAULT_PROTOCOL], ptr); in setopt_cptr()
2482 case CURLOPT_MAIL_FROM: in setopt_cptr()
2484 return Curl_setstropt(&data->set.str[STRING_MAIL_FROM], ptr); in setopt_cptr()
2486 case CURLOPT_MAIL_AUTH: in setopt_cptr()
2488 return Curl_setstropt(&data->set.str[STRING_MAIL_AUTH], ptr); in setopt_cptr()
2491 case CURLOPT_SASL_AUTHZID: in setopt_cptr()
2493 return Curl_setstropt(&data->set.str[STRING_SASL_AUTHZID], ptr); in setopt_cptr()
2496 case CURLOPT_RTSP_SESSION_ID: in setopt_cptr()
2501 return Curl_setstropt(&data->set.str[STRING_RTSP_SESSION_ID], ptr); in setopt_cptr()
2503 case CURLOPT_RTSP_STREAM_URI: in setopt_cptr()
2508 return Curl_setstropt(&data->set.str[STRING_RTSP_STREAM_URI], ptr); in setopt_cptr()
2511 case CURLOPT_RTSP_TRANSPORT: in setopt_cptr()
2515 return Curl_setstropt(&data->set.str[STRING_RTSP_TRANSPORT], ptr); in setopt_cptr()
2517 case CURLOPT_INTERLEAVEDATA: in setopt_cptr()
2518 data->set.rtp_out = (void *)ptr; in setopt_cptr()
2522 case CURLOPT_CHUNK_DATA: in setopt_cptr()
2523 data->set.wildcardptr = (void *)ptr; in setopt_cptr()
2525 case CURLOPT_FNMATCH_DATA: in setopt_cptr()
2526 data->set.fnmatch_data = (void *)ptr; in setopt_cptr()
2530 case CURLOPT_TLSAUTH_USERNAME: in setopt_cptr()
2531 return Curl_setstropt(&data->set.str[STRING_TLSAUTH_USERNAME], ptr); in setopt_cptr()
2534 case CURLOPT_PROXY_TLSAUTH_USERNAME: in setopt_cptr()
2535 return Curl_setstropt(&data->set.str[STRING_TLSAUTH_USERNAME_PROXY], ptr); in setopt_cptr()
2538 case CURLOPT_TLSAUTH_PASSWORD: in setopt_cptr()
2539 return Curl_setstropt(&data->set.str[STRING_TLSAUTH_PASSWORD], ptr); in setopt_cptr()
2542 case CURLOPT_PROXY_TLSAUTH_PASSWORD: in setopt_cptr()
2543 return Curl_setstropt(&data->set.str[STRING_TLSAUTH_PASSWORD_PROXY], ptr); in setopt_cptr()
2545 case CURLOPT_TLSAUTH_TYPE: in setopt_cptr()
2550 case CURLOPT_PROXY_TLSAUTH_TYPE: in setopt_cptr()
2557 case CURLOPT_DNS_SERVERS: in setopt_cptr()
2558 result = Curl_setstropt(&data->set.str[STRING_DNS_SERVERS], ptr); in setopt_cptr()
2561 return Curl_set_dns_servers(data, data->set.str[STRING_DNS_SERVERS]); in setopt_cptr()
2563 case CURLOPT_DNS_INTERFACE: in setopt_cptr()
2564 result = Curl_setstropt(&data->set.str[STRING_DNS_INTERFACE], ptr); in setopt_cptr()
2567 return Curl_set_dns_interface(data, data->set.str[STRING_DNS_INTERFACE]); in setopt_cptr()
2569 case CURLOPT_DNS_LOCAL_IP4: in setopt_cptr()
2570 result = Curl_setstropt(&data->set.str[STRING_DNS_LOCAL_IP4], ptr); in setopt_cptr()
2573 return Curl_set_dns_local_ip4(data, data->set.str[STRING_DNS_LOCAL_IP4]); in setopt_cptr()
2575 case CURLOPT_DNS_LOCAL_IP6: in setopt_cptr()
2576 result = Curl_setstropt(&data->set.str[STRING_DNS_LOCAL_IP6], ptr); in setopt_cptr()
2579 return Curl_set_dns_local_ip6(data, data->set.str[STRING_DNS_LOCAL_IP6]); in setopt_cptr()
2583 case CURLOPT_UNIX_SOCKET_PATH: in setopt_cptr()
2584 data->set.abstract_unix_socket = FALSE; in setopt_cptr()
2585 return Curl_setstropt(&data->set.str[STRING_UNIX_SOCKET_PATH], ptr); in setopt_cptr()
2587 case CURLOPT_ABSTRACT_UNIX_SOCKET: in setopt_cptr()
2588 data->set.abstract_unix_socket = TRUE; in setopt_cptr()
2589 return Curl_setstropt(&data->set.str[STRING_UNIX_SOCKET_PATH], ptr); in setopt_cptr()
2594 case CURLOPT_DOH_URL: in setopt_cptr()
2595 result = Curl_setstropt(&data->set.str[STRING_DOH], ptr); in setopt_cptr()
2596 data->set.doh = !!(data->set.str[STRING_DOH]); in setopt_cptr()
2600 case CURLOPT_HSTSREADDATA: in setopt_cptr()
2601 data->set.hsts_read_userp = (void *)ptr; in setopt_cptr()
2603 case CURLOPT_HSTSWRITEDATA: in setopt_cptr()
2604 data->set.hsts_write_userp = (void *)ptr; in setopt_cptr()
2606 case CURLOPT_HSTS: { in setopt_cptr()
2608 if(!data->hsts) { in setopt_cptr()
2609 data->hsts = Curl_hsts_init(); in setopt_cptr()
2610 if(!data->hsts) in setopt_cptr()
2614 result = Curl_setstropt(&data->set.str[STRING_HSTS], ptr); in setopt_cptr()
2620 h = curl_slist_append(data->state.hstslist, ptr); in setopt_cptr()
2622 curl_slist_free_all(data->state.hstslist); in setopt_cptr()
2623 data->state.hstslist = NULL; in setopt_cptr()
2626 data->state.hstslist = h; /* store the list for later use */ in setopt_cptr()
2630 curl_slist_free_all(data->state.hstslist); in setopt_cptr()
2631 data->state.hstslist = NULL; in setopt_cptr()
2632 if(!data->share || !data->share->hsts) in setopt_cptr()
2634 Curl_hsts_cleanup(&data->hsts); in setopt_cptr()
2640 case CURLOPT_ALTSVC: in setopt_cptr()
2641 if(!data->asi) { in setopt_cptr()
2642 data->asi = Curl_altsvc_init(); in setopt_cptr()
2643 if(!data->asi) in setopt_cptr()
2646 result = Curl_setstropt(&data->set.str[STRING_ALTSVC], ptr); in setopt_cptr()
2650 (void)Curl_altsvc_load(data->asi, ptr); in setopt_cptr()
2654 case CURLOPT_ECH: { in setopt_cptr()
2658 data->set.tls_ech = CURLECH_DISABLE; in setopt_cptr()
2663 data->set.tls_ech = CURLECH_DISABLE; in setopt_cptr()
2668 data->set.tls_ech = CURLECH_DISABLE | in setopt_cptr()
2669 (data->set.tls_ech & CURLECH_CLA_CFG); in setopt_cptr()
2671 data->set.tls_ech = CURLECH_GREASE | in setopt_cptr()
2672 (data->set.tls_ech & CURLECH_CLA_CFG); in setopt_cptr()
2674 data->set.tls_ech = CURLECH_ENABLE | in setopt_cptr()
2675 (data->set.tls_ech & CURLECH_CLA_CFG); in setopt_cptr()
2677 data->set.tls_ech = CURLECH_HARD | in setopt_cptr()
2678 (data->set.tls_ech & CURLECH_CLA_CFG); in setopt_cptr()
2680 result = Curl_setstropt(&data->set.str[STRING_ECH_CONFIG], ptr + 4); in setopt_cptr()
2683 data->set.tls_ech |= CURLECH_CLA_CFG; in setopt_cptr()
2686 result = Curl_setstropt(&data->set.str[STRING_ECH_PUBLIC], ptr + 3); in setopt_cptr()
2703 case CURLOPT_PROGRESSFUNCTION: in setopt_func()
2707 data->set.fprogress = va_arg(param, curl_progress_callback); in setopt_func()
2708 if(data->set.fprogress) in setopt_func()
2709 data->progress.callback = TRUE; /* no longer internal */ in setopt_func()
2711 data->progress.callback = FALSE; /* NULL enforces internal */ in setopt_func()
2714 case CURLOPT_XFERINFOFUNCTION: in setopt_func()
2718 data->set.fxferinfo = va_arg(param, curl_xferinfo_callback); in setopt_func()
2719 if(data->set.fxferinfo) in setopt_func()
2720 data->progress.callback = TRUE; /* no longer internal */ in setopt_func()
2722 data->progress.callback = FALSE; /* NULL enforces internal */ in setopt_func()
2725 case CURLOPT_DEBUGFUNCTION: in setopt_func()
2729 data->set.fdebug = va_arg(param, curl_debug_callback); in setopt_func()
2731 * if the callback provided is NULL, it will use the default callback in setopt_func()
2734 case CURLOPT_HEADERFUNCTION: in setopt_func()
2738 data->set.fwrite_header = va_arg(param, curl_write_callback); in setopt_func()
2740 case CURLOPT_WRITEFUNCTION: in setopt_func()
2744 data->set.fwrite_func = va_arg(param, curl_write_callback); in setopt_func()
2745 if(!data->set.fwrite_func) in setopt_func()
2747 data->set.fwrite_func = (curl_write_callback)fwrite; in setopt_func()
2749 case CURLOPT_READFUNCTION: in setopt_func()
2753 data->set.fread_func_set = va_arg(param, curl_read_callback); in setopt_func()
2754 if(!data->set.fread_func_set) { in setopt_func()
2755 data->set.is_fread_set = 0; in setopt_func()
2757 data->set.fread_func_set = (curl_read_callback)fread; in setopt_func()
2760 data->set.is_fread_set = 1; in setopt_func()
2762 case CURLOPT_SEEKFUNCTION: in setopt_func()
2766 data->set.seek_func = va_arg(param, curl_seek_callback); in setopt_func()
2768 case CURLOPT_IOCTLFUNCTION: in setopt_func()
2772 data->set.ioctl_func = va_arg(param, curl_ioctl_callback); in setopt_func()
2774 case CURLOPT_SSL_CTX_FUNCTION: in setopt_func()
2780 data->set.ssl.fsslctx = va_arg(param, curl_ssl_ctx_callback); in setopt_func()
2786 case CURLOPT_SOCKOPTFUNCTION: in setopt_func()
2790 data->set.fsockopt = va_arg(param, curl_sockopt_callback); in setopt_func()
2793 case CURLOPT_OPENSOCKETFUNCTION: in setopt_func()
2798 data->set.fopensocket = va_arg(param, curl_opensocket_callback); in setopt_func()
2801 case CURLOPT_CLOSESOCKETFUNCTION: in setopt_func()
2806 data->set.fclosesocket = va_arg(param, curl_closesocket_callback); in setopt_func()
2809 case CURLOPT_RESOLVER_START_FUNCTION: in setopt_func()
2814 data->set.resolver_start = va_arg(param, curl_resolver_start_callback); in setopt_func()
2820 case CURLOPT_SSH_HOSTKEYFUNCTION: in setopt_func()
2822 data->set.ssh_hostkeyfunc = va_arg(param, curl_sshhostkeycallback); in setopt_func()
2826 case CURLOPT_SSH_KEYFUNCTION: in setopt_func()
2828 then revert to use the internal default */ in setopt_func()
2829 data->set.ssh_keyfunc = va_arg(param, curl_sshkeycallback); in setopt_func()
2835 case CURLOPT_INTERLEAVEFUNCTION: in setopt_func()
2837 data->set.fwrite_rtp = va_arg(param, curl_write_callback); in setopt_func()
2841 case CURLOPT_CHUNK_BGN_FUNCTION: in setopt_func()
2842 data->set.chunk_bgn = va_arg(param, curl_chunk_bgn_callback); in setopt_func()
2844 case CURLOPT_CHUNK_END_FUNCTION: in setopt_func()
2845 data->set.chunk_end = va_arg(param, curl_chunk_end_callback); in setopt_func()
2847 case CURLOPT_FNMATCH_FUNCTION: in setopt_func()
2848 data->set.fnmatch = va_arg(param, curl_fnmatch_callback); in setopt_func()
2852 case CURLOPT_TRAILERFUNCTION: in setopt_func()
2853 data->set.trailer_callback = va_arg(param, curl_trailer_callback); in setopt_func()
2857 case CURLOPT_HSTSREADFUNCTION: in setopt_func()
2858 data->set.hsts_read = va_arg(param, curl_hstsread_callback); in setopt_func()
2860 case CURLOPT_HSTSWRITEFUNCTION: in setopt_func()
2861 data->set.hsts_write = va_arg(param, curl_hstswrite_callback); in setopt_func()
2864 case CURLOPT_PREREQFUNCTION: in setopt_func()
2865 data->set.fprereq = va_arg(param, curl_prereq_callback); in setopt_func()
2877 case CURLOPT_TIMEVALUE_LARGE: in setopt_offt()
2882 data->set.timevalue = (time_t)offt; in setopt_offt()
2886 case CURLOPT_POSTFIELDSIZE_LARGE: in setopt_offt()
2891 if(offt < -1) in setopt_offt()
2894 if(data->set.postfieldsize < offt && in setopt_offt()
2895 data->set.postfields == data->set.str[STRING_COPYPOSTFIELDS]) { in setopt_offt()
2897 Curl_safefree(data->set.str[STRING_COPYPOSTFIELDS]); in setopt_offt()
2898 data->set.postfields = NULL; in setopt_offt()
2900 data->set.postfieldsize = offt; in setopt_offt()
2902 case CURLOPT_INFILESIZE_LARGE: in setopt_offt()
2905 * to-be-uploaded file. in setopt_offt()
2907 if(offt < -1) in setopt_offt()
2909 data->set.filesize = offt; in setopt_offt()
2911 case CURLOPT_MAX_SEND_SPEED_LARGE: in setopt_offt()
2918 data->set.max_send_speed = offt; in setopt_offt()
2920 case CURLOPT_MAX_RECV_SPEED_LARGE: in setopt_offt()
2927 data->set.max_recv_speed = offt; in setopt_offt()
2929 case CURLOPT_RESUME_FROM_LARGE: in setopt_offt()
2933 if(offt < -1) in setopt_offt()
2935 data->set.set_resume_from = offt; in setopt_offt()
2937 case CURLOPT_MAXFILESIZE_LARGE: in setopt_offt()
2943 data->set.max_filesize = offt; in setopt_offt()
2956 case CURLOPT_SSLCERT_BLOB: in setopt_blob()
2958 * Blob that holds file content of the SSL certificate to use in setopt_blob()
2960 return Curl_setblobopt(&data->set.blobs[BLOB_CERT], blob); in setopt_blob()
2962 case CURLOPT_PROXY_SSLCERT_BLOB: in setopt_blob()
2964 * Blob that holds file content of the SSL certificate to use for proxy in setopt_blob()
2966 return Curl_setblobopt(&data->set.blobs[BLOB_CERT_PROXY], blob); in setopt_blob()
2967 case CURLOPT_PROXY_SSLKEY_BLOB: in setopt_blob()
2969 * Blob that holds file content of the SSL key to use for proxy in setopt_blob()
2971 return Curl_setblobopt(&data->set.blobs[BLOB_KEY_PROXY], blob); in setopt_blob()
2972 case CURLOPT_PROXY_CAINFO_BLOB: in setopt_blob()
2979 return Curl_setblobopt(&data->set.blobs[BLOB_CAINFO_PROXY], blob); in setopt_blob()
2982 case CURLOPT_PROXY_ISSUERCERT_BLOB: in setopt_blob()
2986 return Curl_setblobopt(&data->set.blobs[BLOB_SSL_ISSUERCERT_PROXY], in setopt_blob()
2989 case CURLOPT_SSLKEY_BLOB: in setopt_blob()
2991 * Blob that holds file content of the SSL key to use in setopt_blob()
2993 return Curl_setblobopt(&data->set.blobs[BLOB_KEY], blob); in setopt_blob()
2994 case CURLOPT_CAINFO_BLOB: in setopt_blob()
3001 return Curl_setblobopt(&data->set.blobs[BLOB_CAINFO], blob); in setopt_blob()
3004 case CURLOPT_ISSUERCERT_BLOB: in setopt_blob()
3008 return Curl_setblobopt(&data->set.blobs[BLOB_SSL_ISSUERCERT], blob); in setopt_blob()
3028 case CURLOPT_HTTPHEADER: in Curl_vsetopt()
3029 case CURLOPT_QUOTE: in Curl_vsetopt()
3030 case CURLOPT_POSTQUOTE: in Curl_vsetopt()
3031 case CURLOPT_TELNETOPTIONS: in Curl_vsetopt()
3032 case CURLOPT_PREQUOTE: in Curl_vsetopt()
3033 case CURLOPT_HTTP200ALIASES: in Curl_vsetopt()
3034 case CURLOPT_MAIL_RCPT: in Curl_vsetopt()
3035 case CURLOPT_RESOLVE: in Curl_vsetopt()
3036 case CURLOPT_PROXYHEADER: in Curl_vsetopt()
3037 case CURLOPT_CONNECT_TO: in Curl_vsetopt()
3039 case CURLOPT_HTTPPOST: /* curl_httppost * */ in Curl_vsetopt()
3040 case CURLOPT_MIMEPOST: /* curl_mime * */ in Curl_vsetopt()
3041 case CURLOPT_STDERR: /* FILE * */ in Curl_vsetopt()
3042 case CURLOPT_SHARE: /* CURLSH * */ in Curl_vsetopt()
3043 case CURLOPT_STREAM_DEPENDS: /* CURL * */ in Curl_vsetopt()
3044 case CURLOPT_STREAM_DEPENDS_E: /* CURL * */ in Curl_vsetopt()