34 #include "curlbuild.h" 35 #include "curlrules.h" 41 #if (defined(_WIN32) || defined(__WIN32__)) && \ 42 !defined(WIN32) && !defined(__SYMBIAN32__) 49 #if defined(__FreeBSD__) && (__FreeBSD__ >= 2) 51 #include <osreldate.h> 55 #include <sys/types.h> 58 #if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__) 59 #if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \ 60 defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H)) 71 #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ 72 defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ 73 defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ 74 (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) 75 #include <sys/select.h> 78 #if !defined(WIN32) && !defined(_WIN32_WCE) 79 #include <sys/socket.h> 82 #if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__) 87 #include <support/SupportDefs.h> 100 #ifdef CURL_STATICLIB 102 #elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__) 103 # if defined(BUILDING_LIBCURL) 104 # define CURL_EXTERN __declspec(dllexport) 106 # define CURL_EXTERN __declspec(dllimport) 108 #elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS) 109 # define CURL_EXTERN CURL_EXTERN_SYMBOL 114 #ifndef curl_socket_typedef 116 #if defined(WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H) 117 typedef SOCKET curl_socket_t;
118 #define CURL_SOCKET_BAD INVALID_SOCKET 120 typedef int curl_socket_t;
121 #define CURL_SOCKET_BAD -1 123 #define curl_socket_typedef 143 #define CURL_HTTPPOST_FILENAME (1<<0) 145 #define CURL_HTTPPOST_READFILE (1<<1) 147 #define CURL_HTTPPOST_PTRNAME (1<<2) 149 #define CURL_HTTPPOST_PTRCONTENTS (1<<3) 151 #define CURL_HTTPPOST_BUFFER (1<<4) 153 #define CURL_HTTPPOST_PTRBUFFER (1<<5) 156 #define CURL_HTTPPOST_CALLBACK (1<<6) 158 #define CURL_HTTPPOST_LARGE (1<<7) 165 curl_off_t contentlen;
172 typedef int (*curl_progress_callback)(
void *clientp,
180 typedef int (*curl_xferinfo_callback)(
void *clientp,
186 #ifndef CURL_MAX_WRITE_SIZE 193 #define CURL_MAX_WRITE_SIZE 16384 196 #ifndef CURL_MAX_HTTP_HEADER 200 #define CURL_MAX_HTTP_HEADER (100*1024) 205 #define CURL_WRITEFUNC_PAUSE 0x10000001 207 typedef size_t (*curl_write_callback)(
char *buffer,
216 CURLFILETYPE_FILE = 0,
217 CURLFILETYPE_DIRECTORY,
218 CURLFILETYPE_SYMLINK,
219 CURLFILETYPE_DEVICE_BLOCK,
220 CURLFILETYPE_DEVICE_CHAR,
221 CURLFILETYPE_NAMEDPIPE,
228 #define CURLFINFOFLAG_KNOWN_FILENAME (1<<0) 229 #define CURLFINFOFLAG_KNOWN_FILETYPE (1<<1) 230 #define CURLFINFOFLAG_KNOWN_TIME (1<<2) 231 #define CURLFINFOFLAG_KNOWN_PERM (1<<3) 232 #define CURLFINFOFLAG_KNOWN_UID (1<<4) 233 #define CURLFINFOFLAG_KNOWN_GID (1<<5) 234 #define CURLFINFOFLAG_KNOWN_SIZE (1<<6) 235 #define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7) 243 curlfiletype filetype;
269 #define CURL_CHUNK_BGN_FUNC_OK 0 270 #define CURL_CHUNK_BGN_FUNC_FAIL 1 271 #define CURL_CHUNK_BGN_FUNC_SKIP 2 276 typedef long (*curl_chunk_bgn_callback)(
const void *transfer_info,
281 #define CURL_CHUNK_END_FUNC_OK 0 282 #define CURL_CHUNK_END_FUNC_FAIL 1 290 typedef long (*curl_chunk_end_callback)(
void *ptr);
293 #define CURL_FNMATCHFUNC_MATCH 0 294 #define CURL_FNMATCHFUNC_NOMATCH 1 295 #define CURL_FNMATCHFUNC_FAIL 2 299 typedef int (*curl_fnmatch_callback)(
void *ptr,
304 #define CURL_SEEKFUNC_OK 0 305 #define CURL_SEEKFUNC_FAIL 1 306 #define CURL_SEEKFUNC_CANTSEEK 2 308 typedef int (*curl_seek_callback)(
void *instream,
314 #define CURL_READFUNC_ABORT 0x10000000 317 #define CURL_READFUNC_PAUSE 0x10000001 319 typedef size_t (*curl_read_callback)(
char *buffer,
332 #define CURL_SOCKOPT_OK 0 333 #define CURL_SOCKOPT_ERROR 1 335 #define CURL_SOCKOPT_ALREADY_CONNECTED 2 337 typedef int (*curl_sockopt_callback)(
void *clientp,
338 curl_socket_t curlfd,
339 curlsocktype purpose);
345 unsigned int addrlen;
348 struct sockaddr addr;
351 typedef curl_socket_t
352 (*curl_opensocket_callback)(
void *clientp,
353 curlsocktype purpose,
357 (*curl_closesocket_callback)(
void *clientp, curl_socket_t item);
368 CURLIOCMD_RESTARTREAD,
372 typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
382 typedef void *(*curl_malloc_callback)(
size_t size);
383 typedef void (*curl_free_callback)(
void *ptr);
384 typedef void *(*curl_realloc_callback)(
void *ptr,
size_t size);
385 typedef char *(*curl_strdup_callback)(
const char *str);
386 typedef void *(*curl_calloc_callback)(
size_t nmemb,
size_t size);
395 CURLINFO_SSL_DATA_IN,
396 CURLINFO_SSL_DATA_OUT,
400 typedef int (*curl_debug_callback)
416 CURLE_UNSUPPORTED_PROTOCOL,
421 CURLE_COULDNT_RESOLVE_PROXY,
422 CURLE_COULDNT_RESOLVE_HOST,
423 CURLE_COULDNT_CONNECT,
424 CURLE_FTP_WEIRD_SERVER_REPLY,
425 CURLE_REMOTE_ACCESS_DENIED,
428 CURLE_FTP_ACCEPT_FAILED,
430 CURLE_FTP_WEIRD_PASS_REPLY,
431 CURLE_FTP_ACCEPT_TIMEOUT,
434 CURLE_FTP_WEIRD_PASV_REPLY,
435 CURLE_FTP_WEIRD_227_FORMAT,
436 CURLE_FTP_CANT_GET_HOST,
440 CURLE_FTP_COULDNT_SET_TYPE,
442 CURLE_FTP_COULDNT_RETR_FILE,
445 CURLE_HTTP_RETURNED_ERROR,
455 CURLE_OPERATION_TIMEDOUT,
457 CURLE_FTP_PORT_FAILED,
458 CURLE_FTP_COULDNT_USE_REST,
461 CURLE_HTTP_POST_ERROR,
462 CURLE_SSL_CONNECT_ERROR,
463 CURLE_BAD_DOWNLOAD_RESUME,
464 CURLE_FILE_COULDNT_READ_FILE,
465 CURLE_LDAP_CANNOT_BIND,
466 CURLE_LDAP_SEARCH_FAILED,
468 CURLE_FUNCTION_NOT_FOUND,
469 CURLE_ABORTED_BY_CALLBACK,
470 CURLE_BAD_FUNCTION_ARGUMENT,
472 CURLE_INTERFACE_FAILED,
474 CURLE_TOO_MANY_REDIRECTS ,
475 CURLE_UNKNOWN_OPTION,
476 CURLE_TELNET_OPTION_SYNTAX ,
478 CURLE_PEER_FAILED_VERIFICATION,
481 CURLE_SSL_ENGINE_NOTFOUND,
482 CURLE_SSL_ENGINE_SETFAILED,
487 CURLE_SSL_CERTPROBLEM,
490 CURLE_BAD_CONTENT_ENCODING,
491 CURLE_LDAP_INVALID_URL,
492 CURLE_FILESIZE_EXCEEDED,
493 CURLE_USE_SSL_FAILED,
494 CURLE_SEND_FAIL_REWIND,
496 CURLE_SSL_ENGINE_INITFAILED,
501 CURLE_REMOTE_DISK_FULL,
503 CURLE_TFTP_UNKNOWNID,
504 CURLE_REMOTE_FILE_EXISTS,
505 CURLE_TFTP_NOSUCHUSER,
512 CURLE_SSL_CACERT_BADFILE,
514 CURLE_REMOTE_FILE_NOT_FOUND,
519 CURLE_SSL_SHUTDOWN_FAILED,
524 CURLE_SSL_CRL_BADFILE,
526 CURLE_SSL_ISSUER_ERROR,
528 CURLE_FTP_PRET_FAILED,
529 CURLE_RTSP_CSEQ_ERROR,
530 CURLE_RTSP_SESSION_ERROR,
531 CURLE_FTP_BAD_FILE_LIST,
533 CURLE_NO_CONNECTION_AVAILABLE,
535 CURLE_SSL_PINNEDPUBKEYNOTMATCH,
537 CURLE_SSL_INVALIDCERTSTATUS,
541 #ifndef CURL_NO_OLDIES 545 #define CURLE_OBSOLETE16 CURLE_HTTP2 548 #define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED 549 #define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT 552 #define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING 555 #define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION 559 #define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION 563 #define CURLE_OBSOLETE CURLE_OBSOLETE50 564 #define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46 565 #define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44 566 #define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10 567 #define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16 568 #define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32 569 #define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29 570 #define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12 571 #define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20 572 #define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40 573 #define CURLE_MALFORMAT_USER CURLE_OBSOLETE24 574 #define CURLE_SHARE_IN_USE CURLE_OBSOLETE57 575 #define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN 577 #define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED 578 #define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE 579 #define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR 580 #define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL 581 #define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS 582 #define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR 583 #define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED 587 #define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT 589 #define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR 590 #define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED 591 #define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED 593 #define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE 594 #define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME 599 #define CURLE_ALREADY_COMPLETE 99999 602 #define CURLOPT_FILE CURLOPT_WRITEDATA 603 #define CURLOPT_INFILE CURLOPT_READDATA 604 #define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA 608 #define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40 609 #define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72 614 typedef CURLcode (*curl_conv_callback)(
char *buffer,
size_t length);
616 typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl,
624 CURLPROXY_HTTP_1_0 = 1,
626 CURLPROXY_SOCKS4 = 4,
628 CURLPROXY_SOCKS5 = 5,
629 CURLPROXY_SOCKS4A = 6,
630 CURLPROXY_SOCKS5_HOSTNAME = 7
652 #define CURLAUTH_NONE ((unsigned long)0) 653 #define CURLAUTH_BASIC (((unsigned long)1)<<0) 654 #define CURLAUTH_DIGEST (((unsigned long)1)<<1) 655 #define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2) 657 #define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE 658 #define CURLAUTH_NTLM (((unsigned long)1)<<3) 659 #define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4) 660 #define CURLAUTH_NTLM_WB (((unsigned long)1)<<5) 661 #define CURLAUTH_ONLY (((unsigned long)1)<<31) 662 #define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) 663 #define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) 665 #define CURLSSH_AUTH_ANY ~0 666 #define CURLSSH_AUTH_NONE 0 667 #define CURLSSH_AUTH_PUBLICKEY (1<<0) 668 #define CURLSSH_AUTH_PASSWORD (1<<1) 669 #define CURLSSH_AUTH_HOST (1<<2) 670 #define CURLSSH_AUTH_KEYBOARD (1<<3) 671 #define CURLSSH_AUTH_AGENT (1<<4) 672 #define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY 674 #define CURLGSSAPI_DELEGATION_NONE 0 675 #define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) 676 #define CURLGSSAPI_DELEGATION_FLAG (1<<1) 678 #define CURL_ERROR_SIZE 256 691 enum curl_khtype keytype;
697 CURLKHSTAT_FINE_ADD_TO_FILE,
709 CURLKHMATCH_MISMATCH,
715 (*curl_sshkeycallback) (CURL *easy,
737 #define CURLSSLOPT_ALLOW_BEAST (1<<0) 741 #define CURLSSLOPT_NO_REVOKE (1<<1) 743 #ifndef CURL_NO_OLDIES 749 #define CURLFTPSSL_NONE CURLUSESSL_NONE 750 #define CURLFTPSSL_TRY CURLUSESSL_TRY 751 #define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL 752 #define CURLFTPSSL_ALL CURLUSESSL_ALL 753 #define CURLFTPSSL_LAST CURLUSESSL_LAST 754 #define curl_ftpssl curl_usessl 760 CURLFTPSSL_CCC_PASSIVE,
761 CURLFTPSSL_CCC_ACTIVE,
775 CURLFTP_CREATE_DIR_NONE,
779 CURLFTP_CREATE_DIR_RETRY,
781 CURLFTP_CREATE_DIR_LAST
786 CURLFTPMETHOD_DEFAULT,
787 CURLFTPMETHOD_MULTICWD,
789 CURLFTPMETHOD_SINGLECWD,
794 #define CURLHEADER_UNIFIED 0 795 #define CURLHEADER_SEPARATE (1<<0) 798 #define CURLPROTO_HTTP (1<<0) 799 #define CURLPROTO_HTTPS (1<<1) 800 #define CURLPROTO_FTP (1<<2) 801 #define CURLPROTO_FTPS (1<<3) 802 #define CURLPROTO_SCP (1<<4) 803 #define CURLPROTO_SFTP (1<<5) 804 #define CURLPROTO_TELNET (1<<6) 805 #define CURLPROTO_LDAP (1<<7) 806 #define CURLPROTO_LDAPS (1<<8) 807 #define CURLPROTO_DICT (1<<9) 808 #define CURLPROTO_FILE (1<<10) 809 #define CURLPROTO_TFTP (1<<11) 810 #define CURLPROTO_IMAP (1<<12) 811 #define CURLPROTO_IMAPS (1<<13) 812 #define CURLPROTO_POP3 (1<<14) 813 #define CURLPROTO_POP3S (1<<15) 814 #define CURLPROTO_SMTP (1<<16) 815 #define CURLPROTO_SMTPS (1<<17) 816 #define CURLPROTO_RTSP (1<<18) 817 #define CURLPROTO_RTMP (1<<19) 818 #define CURLPROTO_RTMPT (1<<20) 819 #define CURLPROTO_RTMPE (1<<21) 820 #define CURLPROTO_RTMPTE (1<<22) 821 #define CURLPROTO_RTMPS (1<<23) 822 #define CURLPROTO_RTMPTS (1<<24) 823 #define CURLPROTO_GOPHER (1<<25) 824 #define CURLPROTO_SMB (1<<26) 825 #define CURLPROTO_SMBS (1<<27) 826 #define CURLPROTO_ALL (~0) 830 #define CURLOPTTYPE_LONG 0 831 #define CURLOPTTYPE_OBJECTPOINT 10000 832 #define CURLOPTTYPE_STRINGPOINT 10000 833 #define CURLOPTTYPE_FUNCTIONPOINT 20000 834 #define CURLOPTTYPE_OFF_T 30000 847 #define CINIT(na,t,nu) CURLOPT_ ## na = CURLOPTTYPE_ ## t + nu 850 #define LONG CURLOPTTYPE_LONG 851 #define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT 852 #define STRINGPOINT CURLOPTTYPE_OBJECTPOINT 853 #define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT 854 #define OFF_T CURLOPTTYPE_OFF_T 855 #define CINIT(name,type,number) CURLOPT_name = type + number 866 CINIT(WRITEDATA, OBJECTPOINT, 1),
869 CINIT(URL, STRINGPOINT, 2),
872 CINIT(PORT, LONG, 3),
875 CINIT(PROXY, STRINGPOINT, 4),
878 CINIT(USERPWD, STRINGPOINT, 5),
881 CINIT(PROXYUSERPWD, STRINGPOINT, 6),
884 CINIT(RANGE, STRINGPOINT, 7),
889 CINIT(READDATA, OBJECTPOINT, 9),
893 CINIT(ERRORBUFFER, OBJECTPOINT, 10),
897 CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),
901 CINIT(READFUNCTION, FUNCTIONPOINT, 12),
904 CINIT(TIMEOUT, LONG, 13),
915 CINIT(INFILESIZE, LONG, 14),
918 CINIT(POSTFIELDS, OBJECTPOINT, 15),
921 CINIT(REFERER, STRINGPOINT, 16),
925 CINIT(FTPPORT, STRINGPOINT, 17),
928 CINIT(USERAGENT, STRINGPOINT, 18),
937 CINIT(LOW_SPEED_LIMIT, LONG, 19),
940 CINIT(LOW_SPEED_TIME, LONG, 20),
948 CINIT(RESUME_FROM, LONG, 21),
951 CINIT(COOKIE, STRINGPOINT, 22),
955 CINIT(HTTPHEADER, OBJECTPOINT, 23),
958 CINIT(HTTPPOST, OBJECTPOINT, 24),
961 CINIT(SSLCERT, STRINGPOINT, 25),
964 CINIT(KEYPASSWD, STRINGPOINT, 26),
967 CINIT(CRLF, LONG, 27),
970 CINIT(QUOTE, OBJECTPOINT, 28),
974 CINIT(HEADERDATA, OBJECTPOINT, 29),
978 CINIT(COOKIEFILE, STRINGPOINT, 31),
982 CINIT(SSLVERSION, LONG, 32),
985 CINIT(TIMECONDITION, LONG, 33),
989 CINIT(TIMEVALUE, LONG, 34),
997 CINIT(CUSTOMREQUEST, STRINGPOINT, 36),
1000 CINIT(STDERR, OBJECTPOINT, 37),
1005 CINIT(POSTQUOTE, OBJECTPOINT, 39),
1007 CINIT(OBSOLETE40, OBJECTPOINT, 40),
1009 CINIT(VERBOSE, LONG, 41),
1010 CINIT(HEADER, LONG, 42),
1011 CINIT(NOPROGRESS, LONG, 43),
1012 CINIT(NOBODY, LONG, 44),
1013 CINIT(FAILONERROR, LONG, 45),
1014 CINIT(UPLOAD, LONG, 46),
1015 CINIT(POST, LONG, 47),
1016 CINIT(DIRLISTONLY, LONG, 48),
1018 CINIT(APPEND, LONG, 50),
1022 CINIT(NETRC, LONG, 51),
1024 CINIT(FOLLOWLOCATION, LONG, 52),
1026 CINIT(TRANSFERTEXT, LONG, 53),
1027 CINIT(PUT, LONG, 54),
1035 CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56),
1039 CINIT(PROGRESSDATA, OBJECTPOINT, 57),
1040 #define CURLOPT_XFERINFODATA CURLOPT_PROGRESSDATA 1043 CINIT(AUTOREFERER, LONG, 58),
1047 CINIT(PROXYPORT, LONG, 59),
1050 CINIT(POSTFIELDSIZE, LONG, 60),
1053 CINIT(HTTPPROXYTUNNEL, LONG, 61),
1056 CINIT(INTERFACE, STRINGPOINT, 62),
1061 CINIT(KRBLEVEL, STRINGPOINT, 63),
1064 CINIT(SSL_VERIFYPEER, LONG, 64),
1068 CINIT(CAINFO, STRINGPOINT, 65),
1074 CINIT(MAXREDIRS, LONG, 68),
1081 CINIT(TELNETOPTIONS, OBJECTPOINT, 70),
1084 CINIT(MAXCONNECTS, LONG, 71),
1086 CINIT(OBSOLETE72, LONG, 72),
1093 CINIT(FRESH_CONNECT, LONG, 74),
1098 CINIT(FORBID_REUSE, LONG, 75),
1102 CINIT(RANDOM_FILE, STRINGPOINT, 76),
1105 CINIT(EGDSOCKET, STRINGPOINT, 77),
1109 CINIT(CONNECTTIMEOUT, LONG, 78),
1113 CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79),
1118 CINIT(HTTPGET, LONG, 80),
1123 CINIT(SSL_VERIFYHOST, LONG, 81),
1127 CINIT(COOKIEJAR, STRINGPOINT, 82),
1130 CINIT(SSL_CIPHER_LIST, STRINGPOINT, 83),
1134 CINIT(HTTP_VERSION, LONG, 84),
1139 CINIT(FTP_USE_EPSV, LONG, 85),
1142 CINIT(SSLCERTTYPE, STRINGPOINT, 86),
1145 CINIT(SSLKEY, STRINGPOINT, 87),
1148 CINIT(SSLKEYTYPE, STRINGPOINT, 88),
1151 CINIT(SSLENGINE, STRINGPOINT, 89),
1156 CINIT(SSLENGINE_DEFAULT, LONG, 90),
1159 CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91),
1162 CINIT(DNS_CACHE_TIMEOUT, LONG, 92),
1165 CINIT(PREQUOTE, OBJECTPOINT, 93),
1168 CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94),
1171 CINIT(DEBUGDATA, OBJECTPOINT, 95),
1174 CINIT(COOKIESESSION, LONG, 96),
1178 CINIT(CAPATH, STRINGPOINT, 97),
1181 CINIT(BUFFERSIZE, LONG, 98),
1186 CINIT(NOSIGNAL, LONG, 99),
1189 CINIT(SHARE, OBJECTPOINT, 100),
1193 CINIT(PROXYTYPE, LONG, 101),
1198 CINIT(ACCEPT_ENCODING, STRINGPOINT, 102),
1201 CINIT(PRIVATE, OBJECTPOINT, 103),
1204 CINIT(HTTP200ALIASES, OBJECTPOINT, 104),
1209 CINIT(UNRESTRICTED_AUTH, LONG, 105),
1214 CINIT(FTP_USE_EPRT, LONG, 106),
1219 CINIT(HTTPAUTH, LONG, 107),
1224 CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108),
1228 CINIT(SSL_CTX_DATA, OBJECTPOINT, 109),
1234 CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110),
1239 CINIT(PROXYAUTH, LONG, 111),
1245 CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112),
1246 #define CURLOPT_SERVER_RESPONSE_TIMEOUT CURLOPT_FTP_RESPONSE_TIMEOUT 1251 CINIT(IPRESOLVE, LONG, 113),
1258 CINIT(MAXFILESIZE, LONG, 114),
1263 CINIT(INFILESIZE_LARGE, OFF_T, 115),
1268 CINIT(RESUME_FROM_LARGE, OFF_T, 116),
1273 CINIT(MAXFILESIZE_LARGE, OFF_T, 117),
1279 CINIT(NETRC_FILE, STRINGPOINT, 118),
1286 CINIT(USE_SSL, LONG, 119),
1289 CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120),
1292 CINIT(TCP_NODELAY, LONG, 121),
1312 CINIT(FTPSSLAUTH, LONG, 129),
1314 CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130),
1315 CINIT(IOCTLDATA, OBJECTPOINT, 131),
1322 CINIT(FTP_ACCOUNT, STRINGPOINT, 134),
1325 CINIT(COOKIELIST, STRINGPOINT, 135),
1328 CINIT(IGNORE_CONTENT_LENGTH, LONG, 136),
1334 CINIT(FTP_SKIP_PASV_IP, LONG, 137),
1338 CINIT(FTP_FILEMETHOD, LONG, 138),
1341 CINIT(LOCALPORT, LONG, 139),
1346 CINIT(LOCALPORTRANGE, LONG, 140),
1350 CINIT(CONNECT_ONLY, LONG, 141),
1354 CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142),
1358 CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143),
1363 CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144),
1367 CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145),
1368 CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),
1371 CINIT(FTP_ALTERNATIVE_TO_USER, STRINGPOINT, 147),
1374 CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148),
1375 CINIT(SOCKOPTDATA, OBJECTPOINT, 149),
1379 CINIT(SSL_SESSIONID_CACHE, LONG, 150),
1382 CINIT(SSH_AUTH_TYPES, LONG, 151),
1385 CINIT(SSH_PUBLIC_KEYFILE, STRINGPOINT, 152),
1386 CINIT(SSH_PRIVATE_KEYFILE, STRINGPOINT, 153),
1389 CINIT(FTP_SSL_CCC, LONG, 154),
1392 CINIT(TIMEOUT_MS, LONG, 155),
1393 CINIT(CONNECTTIMEOUT_MS, LONG, 156),
1397 CINIT(HTTP_TRANSFER_DECODING, LONG, 157),
1398 CINIT(HTTP_CONTENT_DECODING, LONG, 158),
1402 CINIT(NEW_FILE_PERMS, LONG, 159),
1403 CINIT(NEW_DIRECTORY_PERMS, LONG, 160),
1407 CINIT(POSTREDIR, LONG, 161),
1410 CINIT(SSH_HOST_PUBLIC_KEY_MD5, STRINGPOINT, 162),
1416 CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163),
1417 CINIT(OPENSOCKETDATA, OBJECTPOINT, 164),
1420 CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165),
1423 CINIT(PROXY_TRANSFER_MODE, LONG, 166),
1426 CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167),
1427 CINIT(SEEKDATA, OBJECTPOINT, 168),
1430 CINIT(CRLFILE, STRINGPOINT, 169),
1433 CINIT(ISSUERCERT, STRINGPOINT, 170),
1436 CINIT(ADDRESS_SCOPE, LONG, 171),
1440 CINIT(CERTINFO, LONG, 172),
1443 CINIT(USERNAME, STRINGPOINT, 173),
1444 CINIT(PASSWORD, STRINGPOINT, 174),
1447 CINIT(PROXYUSERNAME, STRINGPOINT, 175),
1448 CINIT(PROXYPASSWORD, STRINGPOINT, 176),
1457 CINIT(NOPROXY, STRINGPOINT, 177),
1460 CINIT(TFTP_BLKSIZE, LONG, 178),
1463 CINIT(SOCKS5_GSSAPI_SERVICE, STRINGPOINT, 179),
1466 CINIT(SOCKS5_GSSAPI_NEC, LONG, 180),
1472 CINIT(PROTOCOLS, LONG, 181),
1478 CINIT(REDIR_PROTOCOLS, LONG, 182),
1481 CINIT(SSH_KNOWNHOSTS, STRINGPOINT, 183),
1485 CINIT(SSH_KEYFUNCTION, FUNCTIONPOINT, 184),
1488 CINIT(SSH_KEYDATA, OBJECTPOINT, 185),
1491 CINIT(MAIL_FROM, STRINGPOINT, 186),
1494 CINIT(MAIL_RCPT, OBJECTPOINT, 187),
1497 CINIT(FTP_USE_PRET, LONG, 188),
1500 CINIT(RTSP_REQUEST, LONG, 189),
1503 CINIT(RTSP_SESSION_ID, STRINGPOINT, 190),
1506 CINIT(RTSP_STREAM_URI, STRINGPOINT, 191),
1509 CINIT(RTSP_TRANSPORT, STRINGPOINT, 192),
1512 CINIT(RTSP_CLIENT_CSEQ, LONG, 193),
1515 CINIT(RTSP_SERVER_CSEQ, LONG, 194),
1518 CINIT(INTERLEAVEDATA, OBJECTPOINT, 195),
1521 CINIT(INTERLEAVEFUNCTION, FUNCTIONPOINT, 196),
1524 CINIT(WILDCARDMATCH, LONG, 197),
1528 CINIT(CHUNK_BGN_FUNCTION, FUNCTIONPOINT, 198),
1532 CINIT(CHUNK_END_FUNCTION, FUNCTIONPOINT, 199),
1535 CINIT(FNMATCH_FUNCTION, FUNCTIONPOINT, 200),
1538 CINIT(CHUNK_DATA, OBJECTPOINT, 201),
1541 CINIT(FNMATCH_DATA, OBJECTPOINT, 202),
1544 CINIT(RESOLVE, OBJECTPOINT, 203),
1547 CINIT(TLSAUTH_USERNAME, STRINGPOINT, 204),
1550 CINIT(TLSAUTH_PASSWORD, STRINGPOINT, 205),
1553 CINIT(TLSAUTH_TYPE, STRINGPOINT, 206),
1565 CINIT(TRANSFER_ENCODING, LONG, 207),
1569 CINIT(CLOSESOCKETFUNCTION, FUNCTIONPOINT, 208),
1570 CINIT(CLOSESOCKETDATA, OBJECTPOINT, 209),
1573 CINIT(GSSAPI_DELEGATION, LONG, 210),
1576 CINIT(DNS_SERVERS, STRINGPOINT, 211),
1580 CINIT(ACCEPTTIMEOUT_MS, LONG, 212),
1583 CINIT(TCP_KEEPALIVE, LONG, 213),
1586 CINIT(TCP_KEEPIDLE, LONG, 214),
1587 CINIT(TCP_KEEPINTVL, LONG, 215),
1590 CINIT(SSL_OPTIONS, LONG, 216),
1593 CINIT(MAIL_AUTH, STRINGPOINT, 217),
1596 CINIT(SASL_IR, LONG, 218),
1601 CINIT(XFERINFOFUNCTION, FUNCTIONPOINT, 219),
1604 CINIT(XOAUTH2_BEARER, STRINGPOINT, 220),
1609 CINIT(DNS_INTERFACE, STRINGPOINT, 221),
1613 CINIT(DNS_LOCAL_IP4, STRINGPOINT, 222),
1617 CINIT(DNS_LOCAL_IP6, STRINGPOINT, 223),
1620 CINIT(LOGIN_OPTIONS, STRINGPOINT, 224),
1623 CINIT(SSL_ENABLE_NPN, LONG, 225),
1626 CINIT(SSL_ENABLE_ALPN, LONG, 226),
1630 CINIT(EXPECT_100_TIMEOUT_MS, LONG, 227),
1634 CINIT(PROXYHEADER, OBJECTPOINT, 228),
1637 CINIT(HEADEROPT, LONG, 229),
1641 CINIT(PINNEDPUBLICKEY, STRINGPOINT, 230),
1644 CINIT(UNIX_SOCKET_PATH, STRINGPOINT, 231),
1647 CINIT(SSL_VERIFYSTATUS, LONG, 232),
1650 CINIT(SSL_FALSESTART, LONG, 233),
1653 CINIT(PATH_AS_IS, LONG, 234),
1656 CINIT(PROXY_SERVICE_NAME, STRINGPOINT, 235),
1659 CINIT(SERVICE_NAME, STRINGPOINT, 236),
1662 CINIT(PIPEWAIT, LONG, 237),
1665 CINIT(DEFAULT_PROTOCOL, STRINGPOINT, 238),
1668 CINIT(STREAM_WEIGHT, LONG, 239),
1671 CINIT(STREAM_DEPENDS, OBJECTPOINT, 240),
1674 CINIT(STREAM_DEPENDS_E, OBJECTPOINT, 241),
1679 #ifndef CURL_NO_OLDIES 1686 #define CURLOPT_POST301 CURLOPT_POSTREDIR 1691 #define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD 1692 #define CURLOPT_FTPAPPEND CURLOPT_APPEND 1693 #define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY 1694 #define CURLOPT_FTP_SSL CURLOPT_USE_SSL 1698 #define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD 1699 #define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL 1703 #undef CURLOPT_DNS_USE_GLOBAL_CACHE 1710 #define CURL_IPRESOLVE_WHATEVER 0 1712 #define CURL_IPRESOLVE_V4 1 1713 #define CURL_IPRESOLVE_V6 2 1716 #define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER 1720 CURL_HTTP_VERSION_NONE,
1723 CURL_HTTP_VERSION_1_0,
1724 CURL_HTTP_VERSION_1_1,
1725 CURL_HTTP_VERSION_2_0,
1726 CURL_HTTP_VERSION_2TLS,
1728 CURL_HTTP_VERSION_LAST
1734 #define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0 1741 CURL_RTSPREQ_OPTIONS,
1742 CURL_RTSPREQ_DESCRIBE,
1743 CURL_RTSPREQ_ANNOUNCE,
1747 CURL_RTSPREQ_TEARDOWN,
1748 CURL_RTSPREQ_GET_PARAMETER,
1749 CURL_RTSPREQ_SET_PARAMETER,
1750 CURL_RTSPREQ_RECORD,
1751 CURL_RTSPREQ_RECEIVE,
1756 enum CURL_NETRC_OPTION {
1759 CURL_NETRC_OPTIONAL,
1761 CURL_NETRC_REQUIRED,
1768 CURL_SSLVERSION_DEFAULT,
1769 CURL_SSLVERSION_TLSv1,
1770 CURL_SSLVERSION_SSLv2,
1771 CURL_SSLVERSION_SSLv3,
1772 CURL_SSLVERSION_TLSv1_0,
1773 CURL_SSLVERSION_TLSv1_1,
1774 CURL_SSLVERSION_TLSv1_2,
1776 CURL_SSLVERSION_LAST
1790 #define CURL_REDIR_GET_ALL 0 1791 #define CURL_REDIR_POST_301 1 1792 #define CURL_REDIR_POST_302 2 1793 #define CURL_REDIR_POST_303 4 1794 #define CURL_REDIR_POST_ALL \ 1795 (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303) 1800 CURL_TIMECOND_IFMODSINCE,
1801 CURL_TIMECOND_IFUNMODSINCE,
1802 CURL_TIMECOND_LASTMOD,
1810 CURL_EXTERN int (curl_strequal)(
const char *s1,
const char *s2);
1811 CURL_EXTERN int (curl_strnequal)(
const char *s1,
const char *s2,
size_t n);
1819 #define CFINIT(name) CURLFORM_ ## name 1822 #define CFINIT(name) CURLFORM_name 1832 CFINIT(COPYCONTENTS),
1833 CFINIT(PTRCONTENTS),
1834 CFINIT(CONTENTSLENGTH),
1835 CFINIT(FILECONTENT),
1842 CFINIT(BUFFERLENGTH),
1844 CFINIT(CONTENTTYPE),
1845 CFINIT(CONTENTHEADER),
1860 CURLformoption option;
1883 CURL_FORMADD_MEMORY,
1884 CURL_FORMADD_OPTION_TWICE,
1886 CURL_FORMADD_UNKNOWN_OPTION,
1887 CURL_FORMADD_INCOMPLETE,
1888 CURL_FORMADD_ILLEGAL_ARRAY,
1889 CURL_FORMADD_DISABLED,
1903 CURL_EXTERN CURLFORMcode curl_formadd(
struct curl_httppost **httppost,
1915 typedef size_t (*curl_formget_callback)(
void *arg,
const char *buf,
1928 CURL_EXTERN
int curl_formget(
struct curl_httppost *form,
void *arg,
1929 curl_formget_callback append);
1947 CURL_EXTERN
char *curl_getenv(
const char *
variable);
1956 CURL_EXTERN
char *curl_version(
void);
1967 CURL_EXTERN
char *curl_easy_escape(CURL *handle,
1972 CURL_EXTERN
char *curl_escape(
const char *
string,
1987 CURL_EXTERN
char *curl_easy_unescape(CURL *handle,
1993 CURL_EXTERN
char *curl_unescape(
const char *
string,
2004 CURL_EXTERN
void curl_free(
void *p);
2016 CURL_EXTERN CURLcode curl_global_init(
long flags);
2031 CURL_EXTERN CURLcode curl_global_init_mem(
long flags,
2032 curl_malloc_callback m,
2033 curl_free_callback f,
2034 curl_realloc_callback r,
2035 curl_strdup_callback s,
2036 curl_calloc_callback c);
2046 CURL_EXTERN
void curl_global_cleanup(
void);
2072 CURL_EXTERN
void curl_slist_free_all(
struct curl_slist *);
2083 CURL_EXTERN time_t curl_getdate(
const char *p,
const time_t *unused);
2096 CURLSSLBACKEND_NONE = 0,
2097 CURLSSLBACKEND_OPENSSL = 1,
2098 CURLSSLBACKEND_GNUTLS = 2,
2099 CURLSSLBACKEND_NSS = 3,
2100 CURLSSLBACKEND_OBSOLETE4 = 4,
2101 CURLSSLBACKEND_GSKIT = 5,
2102 CURLSSLBACKEND_POLARSSL = 6,
2103 CURLSSLBACKEND_CYASSL = 7,
2104 CURLSSLBACKEND_SCHANNEL = 8,
2105 CURLSSLBACKEND_DARWINSSL = 9,
2106 CURLSSLBACKEND_AXTLS = 10,
2107 CURLSSLBACKEND_MBEDTLS = 11
2114 curl_sslbackend backend;
2118 #define CURLINFO_STRING 0x100000 2119 #define CURLINFO_LONG 0x200000 2120 #define CURLINFO_DOUBLE 0x300000 2121 #define CURLINFO_SLIST 0x400000 2122 #define CURLINFO_SOCKET 0x500000 2123 #define CURLINFO_MASK 0x0fffff 2124 #define CURLINFO_TYPEMASK 0xf00000 2128 CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1,
2129 CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2,
2130 CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3,
2131 CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4,
2132 CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5,
2133 CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6,
2134 CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7,
2135 CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8,
2136 CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9,
2137 CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10,
2138 CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11,
2139 CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12,
2140 CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13,
2141 CURLINFO_FILETIME = CURLINFO_LONG + 14,
2142 CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15,
2143 CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16,
2144 CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17,
2145 CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18,
2146 CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19,
2147 CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,
2148 CURLINFO_PRIVATE = CURLINFO_STRING + 21,
2149 CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22,
2150 CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23,
2151 CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24,
2152 CURLINFO_OS_ERRNO = CURLINFO_LONG + 25,
2153 CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26,
2154 CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27,
2155 CURLINFO_COOKIELIST = CURLINFO_SLIST + 28,
2156 CURLINFO_LASTSOCKET = CURLINFO_LONG + 29,
2157 CURLINFO_FTP_ENTRY_PATH = CURLINFO_STRING + 30,
2158 CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31,
2159 CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32,
2160 CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33,
2161 CURLINFO_CERTINFO = CURLINFO_SLIST + 34,
2162 CURLINFO_CONDITION_UNMET = CURLINFO_LONG + 35,
2163 CURLINFO_RTSP_SESSION_ID = CURLINFO_STRING + 36,
2164 CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG + 37,
2165 CURLINFO_RTSP_SERVER_CSEQ = CURLINFO_LONG + 38,
2166 CURLINFO_RTSP_CSEQ_RECV = CURLINFO_LONG + 39,
2167 CURLINFO_PRIMARY_PORT = CURLINFO_LONG + 40,
2168 CURLINFO_LOCAL_IP = CURLINFO_STRING + 41,
2169 CURLINFO_LOCAL_PORT = CURLINFO_LONG + 42,
2170 CURLINFO_TLS_SESSION = CURLINFO_SLIST + 43,
2171 CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44,
2174 CURLINFO_LASTONE = 44
2179 #define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE 2182 CURLCLOSEPOLICY_NONE,
2184 CURLCLOSEPOLICY_OLDEST,
2185 CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
2186 CURLCLOSEPOLICY_LEAST_TRAFFIC,
2187 CURLCLOSEPOLICY_SLOWEST,
2188 CURLCLOSEPOLICY_CALLBACK,
2190 CURLCLOSEPOLICY_LAST
2193 #define CURL_GLOBAL_SSL (1<<0) 2194 #define CURL_GLOBAL_WIN32 (1<<1) 2195 #define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32) 2196 #define CURL_GLOBAL_NOTHING 0 2197 #define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL 2198 #define CURL_GLOBAL_ACK_EINTR (1<<2) 2207 CURL_LOCK_DATA_NONE = 0,
2212 CURL_LOCK_DATA_SHARE,
2213 CURL_LOCK_DATA_COOKIE,
2215 CURL_LOCK_DATA_SSL_SESSION,
2216 CURL_LOCK_DATA_CONNECT,
2222 CURL_LOCK_ACCESS_NONE = 0,
2223 CURL_LOCK_ACCESS_SHARED = 1,
2224 CURL_LOCK_ACCESS_SINGLE = 2,
2225 CURL_LOCK_ACCESS_LAST
2228 typedef void (*curl_lock_function)(CURL *handle,
2229 curl_lock_data data,
2230 curl_lock_access locktype,
2232 typedef void (*curl_unlock_function)(CURL *handle,
2233 curl_lock_data data,
2236 typedef void CURLSH;
2244 CURLSHE_NOT_BUILT_IN,
2253 CURLSHOPT_UNLOCKFUNC,
2259 CURL_EXTERN CURLSH *curl_share_init(
void);
2260 CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *, CURLSHoption option, ...);
2261 CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *);
2280 #define CURLVERSION_NOW CURLVERSION_FOURTH 2284 const char *version;
2285 unsigned int version_num;
2288 const char *ssl_version;
2289 long ssl_version_num;
2290 const char *libz_version;
2292 const char *
const *protocols;
2306 const char *libssh_version;
2310 #define CURL_VERSION_IPV6 (1<<0) 2311 #define CURL_VERSION_KERBEROS4 (1<<1) 2313 #define CURL_VERSION_SSL (1<<2) 2314 #define CURL_VERSION_LIBZ (1<<3) 2315 #define CURL_VERSION_NTLM (1<<4) 2316 #define CURL_VERSION_GSSNEGOTIATE (1<<5) 2318 #define CURL_VERSION_DEBUG (1<<6) 2319 #define CURL_VERSION_ASYNCHDNS (1<<7) 2320 #define CURL_VERSION_SPNEGO (1<<8) 2321 #define CURL_VERSION_LARGEFILE (1<<9) 2322 #define CURL_VERSION_IDN (1<<10) 2324 #define CURL_VERSION_SSPI (1<<11) 2325 #define CURL_VERSION_CONV (1<<12) 2326 #define CURL_VERSION_CURLDEBUG (1<<13) 2327 #define CURL_VERSION_TLSAUTH_SRP (1<<14) 2328 #define CURL_VERSION_NTLM_WB (1<<15) 2330 #define CURL_VERSION_HTTP2 (1<<16) 2331 #define CURL_VERSION_GSSAPI (1<<17) 2332 #define CURL_VERSION_KERBEROS5 (1<<18) 2333 #define CURL_VERSION_UNIX_SOCKETS (1<<19) 2334 #define CURL_VERSION_PSL (1<<20) 2356 CURL_EXTERN
const char *curl_easy_strerror(CURLcode);
2367 CURL_EXTERN
const char *curl_share_strerror(CURLSHcode);
2378 CURL_EXTERN CURLcode curl_easy_pause(CURL *handle,
int bitmask);
2380 #define CURLPAUSE_RECV (1<<0) 2381 #define CURLPAUSE_RECV_CONT (0) 2383 #define CURLPAUSE_SEND (1<<2) 2384 #define CURLPAUSE_SEND_CONT (0) 2386 #define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND) 2387 #define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT) 2399 #if defined(__GNUC__) && defined(__GNUC_MINOR__) && \ 2400 ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \ 2401 !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK) 2402 #include "typecheck-gcc.h" 2404 #if defined(__STDC__) && (__STDC__ >= 1) 2408 #define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param) 2409 #define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg) 2410 #define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param) 2411 #define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
Definition: PEtypes.h:145
Definition: tool_writeout.c:63