43#if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && \
44 !defined(__SYMBIAN32__)
51#if (defined(__FreeBSD__) && (__FreeBSD__ >= 2)) || defined(__MidnightBSD__)
60#if defined(CURL_WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__)
61#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \
62 defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H))
73#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
74 defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \
75 defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
76 defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \
77 (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \
78 (defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000))
79#include <sys/select.h>
82#if !defined(CURL_WIN32) && !defined(_WIN32_WCE)
86#if !defined(CURL_WIN32)
91#ifndef __has_declspec_attribute
92# define __has_declspec_attribute(x) 0
99#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
100typedef struct Curl_easy
CURL;
101typedef struct Curl_share
CURLSH;
113#elif defined(CURL_WIN32) || defined(__SYMBIAN32__) || \
114 (__has_declspec_attribute(dllexport) && \
115 __has_declspec_attribute(dllimport))
116# if defined(BUILDING_LIBCURL)
117# define CURL_EXTERN __declspec(dllexport)
119# define CURL_EXTERN __declspec(dllimport)
121#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS)
122# define CURL_EXTERN CURL_EXTERN_SYMBOL
127#ifndef curl_socket_typedef
129#if defined(CURL_WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H)
131#define CURL_SOCKET_BAD INVALID_SOCKET
134#define CURL_SOCKET_BAD -1
136#define curl_socket_typedef
159#define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL
160#define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL
163#define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL
164#define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT
183#define CURL_HTTPPOST_FILENAME (1<<0)
185#define CURL_HTTPPOST_READFILE (1<<1)
187#define CURL_HTTPPOST_PTRNAME (1<<2)
189#define CURL_HTTPPOST_PTRCONTENTS (1<<3)
191#define CURL_HTTPPOST_BUFFER (1<<4)
193#define CURL_HTTPPOST_PTRBUFFER (1<<5)
196#define CURL_HTTPPOST_CALLBACK (1<<6)
198#define CURL_HTTPPOST_LARGE (1<<7)
213#define CURL_PROGRESSFUNC_CONTINUE 0x10000001
232#ifndef CURL_MAX_READ_SIZE
234#define CURL_MAX_READ_SIZE 524288
237#ifndef CURL_MAX_WRITE_SIZE
244#define CURL_MAX_WRITE_SIZE 16384
247#ifndef CURL_MAX_HTTP_HEADER
251#define CURL_MAX_HTTP_HEADER (100*1024)
256#define CURL_WRITEFUNC_PAUSE 0x10000001
281#define CURLFINFOFLAG_KNOWN_FILENAME (1<<0)
282#define CURLFINFOFLAG_KNOWN_FILETYPE (1<<1)
283#define CURLFINFOFLAG_KNOWN_TIME (1<<2)
284#define CURLFINFOFLAG_KNOWN_PERM (1<<3)
285#define CURLFINFOFLAG_KNOWN_UID (1<<4)
286#define CURLFINFOFLAG_KNOWN_GID (1<<5)
287#define CURLFINFOFLAG_KNOWN_SIZE (1<<6)
288#define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7)
319#define CURL_CHUNK_BGN_FUNC_OK 0
320#define CURL_CHUNK_BGN_FUNC_FAIL 1
321#define CURL_CHUNK_BGN_FUNC_SKIP 2
331#define CURL_CHUNK_END_FUNC_OK 0
332#define CURL_CHUNK_END_FUNC_FAIL 1
343#define CURL_FNMATCHFUNC_MATCH 0
344#define CURL_FNMATCHFUNC_NOMATCH 1
345#define CURL_FNMATCHFUNC_FAIL 2
354#define CURL_SEEKFUNC_OK 0
355#define CURL_SEEKFUNC_FAIL 1
356#define CURL_SEEKFUNC_CANTSEEK 2
364#define CURL_READFUNC_ABORT 0x10000000
367#define CURL_READFUNC_PAUSE 0x10000001
371#define CURL_TRAILERFUNC_OK 0
374#define CURL_TRAILERFUNC_ABORT 1
392#define CURL_SOCKOPT_OK 0
393#define CURL_SOCKOPT_ERROR 1
395#define CURL_SOCKOPT_ALREADY_CONNECTED 2
436#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS
443typedef void *(*curl_malloc_callback)(
size_t size);
445typedef void *(*curl_realloc_callback)(
void *
ptr,
size_t size);
446typedef char *(*curl_strdup_callback)(
const char *
str);
447typedef void *(*curl_calloc_callback)(
size_t nmemb,
size_t size);
449#define CURL_DID_MEMORY_FUNC_TYPEDEFS
473 char *conn_primary_ip,
475 int conn_primary_port,
476 int conn_local_port);
480#define CURL_PREREQFUNC_OK 0
483#define CURL_PREREQFUNC_ABORT 1
622#ifndef CURL_NO_OLDIES
626#define CURLE_OBSOLETE16 CURLE_HTTP2
629#define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
630#define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
633#define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING
634#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY
637#define CURLE_SSL_CACERT CURLE_PEER_FAILED_VERIFICATION
640#define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION
643#define CURLE_TELNET_OPTION_SYNTAX CURLE_SETOPT_OPTION_SYNTAX
647#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION
651#define CURLE_OBSOLETE CURLE_OBSOLETE50
652#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46
653#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44
654#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10
655#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16
656#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32
657#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29
658#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12
659#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20
660#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40
661#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24
662#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57
663#define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN
665#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED
666#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE
667#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR
668#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL
669#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS
670#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR
671#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED
675#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT
676#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR
677#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED
678#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED
679#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE
680#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME
681#define CURLE_LDAP_INVALID_URL CURLE_OBSOLETE62
682#define CURLE_CONV_REQD CURLE_OBSOLETE76
687#define CURLE_ALREADY_COMPLETE 99999
690#define CURLOPT_FILE CURLOPT_WRITEDATA
691#define CURLOPT_INFILE CURLOPT_READDATA
692#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA
696#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40
697#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72
786#define CURLAUTH_NONE ((unsigned long)0)
787#define CURLAUTH_BASIC (((unsigned long)1)<<0)
788#define CURLAUTH_DIGEST (((unsigned long)1)<<1)
789#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2)
791#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
793#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
794#define CURLAUTH_NTLM (((unsigned long)1)<<3)
795#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
796#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
797#define CURLAUTH_BEARER (((unsigned long)1)<<6)
798#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7)
799#define CURLAUTH_ONLY (((unsigned long)1)<<31)
800#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)
801#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
803#define CURLSSH_AUTH_ANY ~0
804#define CURLSSH_AUTH_NONE 0
805#define CURLSSH_AUTH_PUBLICKEY (1<<0)
806#define CURLSSH_AUTH_PASSWORD (1<<1)
807#define CURLSSH_AUTH_HOST (1<<2)
808#define CURLSSH_AUTH_KEYBOARD (1<<3)
809#define CURLSSH_AUTH_AGENT (1<<4)
810#define CURLSSH_AUTH_GSSAPI (1<<5)
811#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
813#define CURLGSSAPI_DELEGATION_NONE 0
814#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0)
815#define CURLGSSAPI_DELEGATION_FLAG (1<<1)
817#define CURL_ERROR_SIZE 256
890#define CURLSSLOPT_ALLOW_BEAST (1<<0)
894#define CURLSSLOPT_NO_REVOKE (1<<1)
898#define CURLSSLOPT_NO_PARTIALCHAIN (1<<2)
903#define CURLSSLOPT_REVOKE_BEST_EFFORT (1<<3)
907#define CURLSSLOPT_NATIVE_CA (1<<4)
911#define CURLSSLOPT_AUTO_CLIENT_CERT (1<<5)
916#define CURL_HET_DEFAULT 200L
919#define CURL_UPKEEP_INTERVAL_DEFAULT 60000L
921#ifndef CURL_NO_OLDIES
927#define CURLFTPSSL_NONE CURLUSESSL_NONE
928#define CURLFTPSSL_TRY CURLUSESSL_TRY
929#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL
930#define CURLFTPSSL_ALL CURLUSESSL_ALL
931#define CURLFTPSSL_LAST CURLUSESSL_LAST
932#define curl_ftpssl curl_usessl
972#define CURLHEADER_UNIFIED 0
973#define CURLHEADER_SEPARATE (1<<0)
976#define CURLALTSVC_READONLYFILE (1<<2)
977#define CURLALTSVC_H1 (1<<3)
978#define CURLALTSVC_H2 (1<<4)
979#define CURLALTSVC_H3 (1<<5)
1009#define CURLHSTS_ENABLE (long)(1<<0)
1010#define CURLHSTS_READONLYFILE (long)(1<<1)
1013#define CURLPROTO_HTTP (1<<0)
1014#define CURLPROTO_HTTPS (1<<1)
1015#define CURLPROTO_FTP (1<<2)
1016#define CURLPROTO_FTPS (1<<3)
1017#define CURLPROTO_SCP (1<<4)
1018#define CURLPROTO_SFTP (1<<5)
1019#define CURLPROTO_TELNET (1<<6)
1020#define CURLPROTO_LDAP (1<<7)
1021#define CURLPROTO_LDAPS (1<<8)
1022#define CURLPROTO_DICT (1<<9)
1023#define CURLPROTO_FILE (1<<10)
1024#define CURLPROTO_TFTP (1<<11)
1025#define CURLPROTO_IMAP (1<<12)
1026#define CURLPROTO_IMAPS (1<<13)
1027#define CURLPROTO_POP3 (1<<14)
1028#define CURLPROTO_POP3S (1<<15)
1029#define CURLPROTO_SMTP (1<<16)
1030#define CURLPROTO_SMTPS (1<<17)
1031#define CURLPROTO_RTSP (1<<18)
1032#define CURLPROTO_RTMP (1<<19)
1033#define CURLPROTO_RTMPT (1<<20)
1034#define CURLPROTO_RTMPE (1<<21)
1035#define CURLPROTO_RTMPTE (1<<22)
1036#define CURLPROTO_RTMPS (1<<23)
1037#define CURLPROTO_RTMPTS (1<<24)
1038#define CURLPROTO_GOPHER (1<<25)
1039#define CURLPROTO_SMB (1<<26)
1040#define CURLPROTO_SMBS (1<<27)
1041#define CURLPROTO_MQTT (1<<28)
1042#define CURLPROTO_GOPHERS (1<<29)
1043#define CURLPROTO_ALL (~0)
1047#define CURLOPTTYPE_LONG 0
1048#define CURLOPTTYPE_OBJECTPOINT 10000
1049#define CURLOPTTYPE_FUNCTIONPOINT 20000
1050#define CURLOPTTYPE_OFF_T 30000
1051#define CURLOPTTYPE_BLOB 40000
1057#define CURLOPT(na,t,nu) na = t + nu
1062#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT
1065#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT
1068#define CURLOPTTYPE_CBPOINT CURLOPTTYPE_OBJECTPOINT
1071#define CURLOPTTYPE_VALUES CURLOPTTYPE_LONG
1274#define CURLOPT_PROGRESSDATA CURLOPT_XFERINFODATA
1483#define CURLOPT_SERVER_RESPONSE_TIMEOUT CURLOPT_FTP_RESPONSE_TIMEOUT
2149#ifndef CURL_NO_OLDIES
2156#define CURLOPT_POST301 CURLOPT_POSTREDIR
2161#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD
2162#define CURLOPT_FTPAPPEND CURLOPT_APPEND
2163#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY
2164#define CURLOPT_FTP_SSL CURLOPT_USE_SSL
2168#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD
2169#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL
2173#undef CURLOPT_DNS_USE_GLOBAL_CACHE
2180#define CURL_IPRESOLVE_WHATEVER 0
2182#define CURL_IPRESOLVE_V4 1
2183#define CURL_IPRESOLVE_V6 2
2186#define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
2207#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0
2276#define CURL_REDIR_GET_ALL 0
2277#define CURL_REDIR_POST_301 1
2278#define CURL_REDIR_POST_302 2
2279#define CURL_REDIR_POST_303 4
2280#define CURL_REDIR_POST_ALL \
2281 (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303)
2294#define CURL_ZERO_TERMINATED ((size_t) -1)
2306#define CURLMIMEOPT_FORMESCAPE (1<<0)
2427 int take_ownership);
2746#define CURLINFO_STRING 0x100000
2747#define CURLINFO_LONG 0x200000
2748#define CURLINFO_DOUBLE 0x300000
2749#define CURLINFO_SLIST 0x400000
2750#define CURLINFO_PTR 0x400000
2751#define CURLINFO_SOCKET 0x500000
2752#define CURLINFO_OFF_T 0x600000
2753#define CURLINFO_MASK 0x0fffff
2754#define CURLINFO_TYPEMASK 0xf00000
2832#define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE
2846#define CURL_GLOBAL_SSL (1<<0)
2847#define CURL_GLOBAL_WIN32 (1<<1)
2848#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
2849#define CURL_GLOBAL_NOTHING 0
2850#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL
2851#define CURL_GLOBAL_ACK_EINTR (1<<2)
2939#define CURLVERSION_NOW CURLVERSION_TENTH
2998#define CURL_VERSION_IPV6 (1<<0)
2999#define CURL_VERSION_KERBEROS4 (1<<1)
3001#define CURL_VERSION_SSL (1<<2)
3002#define CURL_VERSION_LIBZ (1<<3)
3003#define CURL_VERSION_NTLM (1<<4)
3004#define CURL_VERSION_GSSNEGOTIATE (1<<5)
3006#define CURL_VERSION_DEBUG (1<<6)
3007#define CURL_VERSION_ASYNCHDNS (1<<7)
3008#define CURL_VERSION_SPNEGO (1<<8)
3009#define CURL_VERSION_LARGEFILE (1<<9)
3010#define CURL_VERSION_IDN (1<<10)
3012#define CURL_VERSION_SSPI (1<<11)
3013#define CURL_VERSION_CONV (1<<12)
3014#define CURL_VERSION_CURLDEBUG (1<<13)
3015#define CURL_VERSION_TLSAUTH_SRP (1<<14)
3016#define CURL_VERSION_NTLM_WB (1<<15)
3018#define CURL_VERSION_HTTP2 (1<<16)
3019#define CURL_VERSION_GSSAPI (1<<17)
3020#define CURL_VERSION_KERBEROS5 (1<<18)
3021#define CURL_VERSION_UNIX_SOCKETS (1<<19)
3022#define CURL_VERSION_PSL (1<<20)
3024#define CURL_VERSION_HTTPS_PROXY (1<<21)
3025#define CURL_VERSION_MULTI_SSL (1<<22)
3026#define CURL_VERSION_BROTLI (1<<23)
3027#define CURL_VERSION_ALTSVC (1<<24)
3028#define CURL_VERSION_HTTP3 (1<<25)
3029#define CURL_VERSION_ZSTD (1<<26)
3030#define CURL_VERSION_UNICODE (1<<27)
3031#define CURL_VERSION_HSTS (1<<28)
3032#define CURL_VERSION_GSASL (1<<29)
3033#define CURL_VERSION_THREADSAFE (1<<30)
3078#define CURLPAUSE_RECV (1<<0)
3079#define CURLPAUSE_RECV_CONT (0)
3081#define CURLPAUSE_SEND (1<<2)
3082#define CURLPAUSE_SEND_CONT (0)
3084#define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND)
3085#define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT)
3100#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
3101 ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
3102 !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
3105#if defined(__STDC__) && (__STDC__ >= 1)
3109#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
3110#define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg)
3111#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
3112#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
@ CURL_LOCK_ACCESS_SINGLE
@ CURL_LOCK_ACCESS_SHARED
CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask)
CURL_EXTERN curl_mimepart * curl_mime_addpart(curl_mime *mime)
CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name)
#define CURLOPTTYPE_CBPOINT
#define CURLOPTTYPE_STRINGPOINT
curl_socket_t(* curl_opensocket_callback)(void *clientp, curlsocktype purpose, struct curl_sockaddr *address)
int(* curl_fnmatch_callback)(void *ptr, const char *pattern, const char *string)
CURLSTScode(* curl_hstsread_callback)(CURL *easy, struct curl_hstsentry *e, void *userp)
@ CURLFTPMETHOD_SINGLECWD
void *(* curl_realloc_callback)(void *ptr, size_t size)
CURL_EXTERN curl_version_info_data * curl_version_info(CURLversion)
CURL_EXTERN const char * curl_share_strerror(CURLSHcode)
char *(* curl_strdup_callback)(const char *str)
CURL_EXTERN char * curl_getenv(const char *variable)
CURL_EXTERN void curl_formfree(struct curl_httppost *form)
CURL_EXTERN void curl_slist_free_all(struct curl_slist *)
void(* curl_lock_function)(CURL *handle, curl_lock_data data, curl_lock_access locktype, void *userptr)
CURL_EXTERN char * curl_unescape(const char *string, int length)
@ CURL_RTSPREQ_SET_PARAMETER
@ CURL_RTSPREQ_GET_PARAMETER
int(* curl_sshhostkeycallback)(void *clientp, int keytype, const char *key, size_t keylen)
CURL_EXTERN CURLSH * curl_share_init(void)
CURL_EXTERN void curl_global_cleanup(void)
CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
CURL_EXTERN char * curl_easy_escape(CURL *handle, const char *string, int length)
@ CURLSSLSET_UNKNOWN_BACKEND
CURL_EXTERN int curl_strnequal(const char *s1, const char *s2, size_t n)
long(* curl_chunk_bgn_callback)(const void *transfer_info, void *ptr, int remains)
int(* curl_sockopt_callback)(void *clientp, curl_socket_t curlfd, curlsocktype purpose)
int(* curl_xferinfo_callback)(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
@ CURL_SSLVERSION_DEFAULT
@ CURL_SSLVERSION_TLSv1_1
@ CURL_SSLVERSION_TLSv1_3
@ CURL_SSLVERSION_TLSv1_0
@ CURL_SSLVERSION_TLSv1_2
CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part, curl_off_t datasize, curl_read_callback readfunc, curl_seek_callback seekfunc, curl_free_callback freefunc, void *arg)
#define CURLOPTTYPE_SLISTPOINT
@ CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
CURL_EXTERN void curl_mime_free(curl_mime *mime)
@ CURLKHSTAT_FINE_ADD_TO_FILE
@ CURLKHSTAT_FINE_REPLACE
size_t(* curl_read_callback)(char *buffer, size_t size, size_t nitems, void *instream)
int(* curl_trailer_callback)(struct curl_slist **list, void *userdata)
CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost, struct curl_httppost **last_post,...)
@ CURL_TIMECOND_IFUNMODSINCE
@ CURL_TIMECOND_IFMODSINCE
#define CURLOPTTYPE_FUNCTIONPOINT
int(* curl_closesocket_callback)(void *clientp, curl_socket_t item)
CURL_EXTERN void curl_free(void *p)
#define CURLOPTTYPE_OBJECTPOINT
long(* curl_chunk_end_callback)(void *ptr)
CURL_EXTERN CURLcode curl_global_init_mem(long flags, curl_malloc_callback m, curl_free_callback f, curl_realloc_callback r, curl_strdup_callback s, curl_calloc_callback c)
int(* curl_sshkeycallback)(CURL *easy, const struct curl_khkey *knownkey, const struct curl_khkey *foundkey, enum curl_khmatch, void *clientp)
int(* curl_seek_callback)(void *instream, curl_off_t offset, int origin)
@ CURLPROXY_SOCKS5_HOSTNAME
@ CURLFTP_CREATE_DIR_LAST
@ CURLFTP_CREATE_DIR_RETRY
@ CURLFTP_CREATE_DIR_NONE
CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *)
@ CURLSSLBACKEND_MESALINK
@ CURLSSLBACKEND_POLARSSL
@ CURLSSLBACKEND_SECURETRANSPORT
@ CURLSSLBACKEND_OBSOLETE4
@ CURLSSLBACKEND_SCHANNEL
CURL_EXTERN CURLcode curl_global_init(long flags)
@ CURLFILETYPE_DEVICE_CHAR
@ CURLFILETYPE_DEVICE_BLOCK
CURL_EXTERN char * curl_escape(const char *string, int length)
int(* curl_resolver_start_callback)(void *resolver_state, void *reserved, void *userdata)
@ CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED
@ CURLPX_REPLY_GENERAL_SERVER_FAILURE
@ CURLPX_REPLY_TTL_EXPIRED
@ CURLPX_REPLY_UNASSIGNED
@ CURLPX_BAD_ADDRESS_TYPE
@ CURLPX_REPLY_NETWORK_UNREACHABLE
@ CURLPX_REPLY_COMMAND_NOT_SUPPORTED
@ CURLPX_GSSAPI_PROTECTION
@ CURLPX_REPLY_HOST_UNREACHABLE
@ CURLPX_REPLY_NOT_ALLOWED
@ CURLPX_REPLY_CONNECTION_REFUSED
CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg, curl_formget_callback append)
#define CURLOPT(na, t, nu)
@ CURLINFO_APPCONNECT_TIME_T
@ CURLINFO_STARTTRANSFER_TIME_T
@ CURLINFO_PRETRANSFER_TIME_T
@ CURLINFO_SIZE_DOWNLOAD_T
@ CURLINFO_RTSP_CSEQ_RECV
@ CURLINFO_PROXY_SSL_VERIFYRESULT
@ CURLINFO_APPCONNECT_TIME
@ CURLINFO_RTSP_CLIENT_CSEQ
@ CURLINFO_RTSP_SESSION_ID
@ CURLINFO_HTTPAUTH_AVAIL
@ CURLINFO_EFFECTIVE_METHOD
@ CURLINFO_CONDITION_UNMET
@ CURLINFO_SSL_VERIFYRESULT
@ CURLINFO_PRETRANSFER_TIME
@ CURLINFO_CONTENT_LENGTH_UPLOAD
@ CURLINFO_CONNECT_TIME_T
@ CURLINFO_SPEED_DOWNLOAD_T
@ CURLINFO_CONTENT_LENGTH_UPLOAD_T
@ CURLINFO_PROXYAUTH_AVAIL
@ CURLINFO_FTP_ENTRY_PATH
@ CURLINFO_NAMELOOKUP_TIME
@ CURLINFO_NAMELOOKUP_TIME_T
@ CURLINFO_REDIRECT_COUNT
@ CURLINFO_REDIRECT_TIME_T
@ CURLINFO_HTTP_CONNECTCODE
@ CURLINFO_RTSP_SERVER_CSEQ
@ CURLINFO_CONTENT_LENGTH_DOWNLOAD
@ CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
@ CURLINFO_SPEED_UPLOAD_T
@ CURLINFO_SPEED_DOWNLOAD
@ CURLINFO_STARTTRANSFER_TIME
void *(* curl_calloc_callback)(size_t nmemb, size_t size)
@ CURLCLOSEPOLICY_CALLBACK
@ CURLCLOSEPOLICY_SLOWEST
@ CURLCLOSEPOLICY_LEAST_TRAFFIC
@ CURLCLOSEPOLICY_LEAST_RECENTLY_USED
int(* curl_prereq_callback)(void *clientp, char *conn_primary_ip, char *conn_local_ip, int conn_primary_port, int conn_local_port)
size_t(* curl_formget_callback)(void *arg, const char *buf, size_t len)
CURL_EXTERN struct curl_slist * curl_slist_append(struct curl_slist *, const char *)
CURL_EXTERN curl_mime * curl_mime_init(CURL *easy)
struct curl_mimepart curl_mimepart
CURL_EXTERN char * curl_version(void)
CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype)
void(* curl_unlock_function)(CURL *handle, curl_lock_data data, void *userptr)
#define CURLOPTTYPE_OFF_T
CURLSTScode(* curl_hstswrite_callback)(CURL *easy, struct curl_hstsentry *e, struct curl_index *i, void *userp)
CURLcode(* curl_conv_callback)(char *buffer, size_t length)
CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts)
CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part, const char *filename)
CURL_EXTERN int curl_strequal(const char *s1, const char *s2)
@ CURL_FORMADD_ILLEGAL_ARRAY
@ CURL_FORMADD_INCOMPLETE
@ CURL_FORMADD_OPTION_TWICE
@ CURL_FORMADD_UNKNOWN_OPTION
CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding)
CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused)
CURL_EXTERN char * curl_easy_unescape(CURL *handle, const char *string, int length, int *outlength)
size_t(* curl_write_callback)(char *buffer, size_t size, size_t nitems, void *outstream)
struct curl_mime curl_mime
void(* curl_free_callback)(void *ptr)
int(* curl_debug_callback)(CURL *handle, curl_infotype type, char *data, size_t size, void *userptr)
CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part, struct curl_slist *headers, int take_ownership)
@ CURL_SSLVERSION_MAX_LAST
@ CURL_SSLVERSION_MAX_DEFAULT
@ CURL_SSLVERSION_MAX_TLSv1_0
@ CURL_SSLVERSION_MAX_TLSv1_3
@ CURL_SSLVERSION_MAX_TLSv1_1
@ CURL_SSLVERSION_MAX_TLSv1_2
@ CURL_SSLVERSION_MAX_NONE
curlioerr(* curl_ioctl_callback)(CURL *handle, int cmd, void *clientp)
@ CURLFORM_CONTENTSLENGTH
#define CURLOPTTYPE_VALUES
@ CURLE_BAD_FUNCTION_ARGUMENT
@ CURLE_FTP_ACCEPT_FAILED
@ CURLE_BAD_CONTENT_ENCODING
@ CURLE_FTP_WEIRD_PASV_REPLY
@ CURLE_HTTP_RETURNED_ERROR
@ CURLE_ABORTED_BY_CALLBACK
@ CURLE_FUNCTION_NOT_FOUND
@ CURLE_FTP_COULDNT_USE_REST
@ CURLE_FTP_ACCEPT_TIMEOUT
@ CURLE_REMOTE_FILE_NOT_FOUND
@ CURLE_SSL_ENGINE_NOTFOUND
@ CURLE_FILESIZE_EXCEEDED
@ CURLE_SSL_INVALIDCERTSTATUS
@ CURLE_QUIC_CONNECT_ERROR
@ CURLE_REMOTE_ACCESS_DENIED
@ CURLE_RECURSIVE_API_CALL
@ CURLE_FILE_COULDNT_READ_FILE
@ CURLE_PEER_FAILED_VERIFICATION
@ CURLE_SSL_PINNEDPUBKEYNOTMATCH
@ CURLE_TOO_MANY_REDIRECTS
@ CURLE_SSL_SHUTDOWN_FAILED
@ CURLE_SSL_CACERT_BADFILE
@ CURLE_SSL_ENGINE_SETFAILED
@ CURLE_COULDNT_RESOLVE_PROXY
@ CURLE_UNSUPPORTED_PROTOCOL
@ CURLE_FTP_BAD_FILE_LIST
@ CURLE_WEIRD_SERVER_REPLY
@ CURLE_FTP_WEIRD_PASS_REPLY
@ CURLE_SSL_ENGINE_INITFAILED
@ CURLE_FTP_COULDNT_SET_TYPE
@ CURLE_BAD_DOWNLOAD_RESUME
@ CURLE_LDAP_SEARCH_FAILED
@ CURLE_FTP_WEIRD_227_FORMAT
@ CURLE_OPERATION_TIMEDOUT
@ CURLE_RTSP_SESSION_ERROR
@ CURLE_FTP_COULDNT_RETR_FILE
@ CURLE_SETOPT_OPTION_SYNTAX
@ CURLE_REMOTE_FILE_EXISTS
@ CURLE_COULDNT_RESOLVE_HOST
@ CURLE_UNRECOVERABLE_POLL
@ CURLE_NO_CONNECTION_AVAILABLE
@ CURLE_SSL_CONNECT_ERROR
@ CURLE_FTP_CANT_GET_HOST
int(* curl_progress_callback)(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow)
CURLcode(* curl_ssl_ctx_callback)(CURL *curl, void *ssl_ctx, void *userptr)
CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, const curl_ssl_backend ***avail)
CURL_EXTERN const char * curl_easy_strerror(CURLcode)
@ CURL_LOCK_DATA_SSL_SESSION
CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part, const char *data, size_t datasize)
void *(* curl_malloc_callback)(size_t size)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLenum const GLvoid * addr
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void append(struct dump_context *dc, const void *data, unsigned size)
vector< Header * > headers
struct curl_slist ** certinfo
struct curl_fileinfo::@1763 strings
unsigned int includeSubDomains
struct curl_httppost * next
struct curl_slist * contentheader
struct curl_httppost * more
const char *const * protocols
const char * zstd_version
const char * libssh_version
const char * nghttp2_version
unsigned int zstd_ver_num
const char * gsasl_version
unsigned int nghttp2_ver_num
unsigned int brotli_ver_num
const char * hyper_version
const char * brotli_version
const char * quic_version
const char * libz_version
CURL_TYPEOF_CURL_OFF_T curl_off_t
#define curl_share_setopt(share, opt, param)