📄 curl.h
字号:
CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */ CURLE_OBSOLETE12, /* 12 - NOT USED */ CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ CURLE_FTP_CANT_GET_HOST, /* 15 */ CURLE_OBSOLETE16, /* 16 - NOT USED */ CURLE_FTP_COULDNT_SET_TYPE, /* 17 */ CURLE_PARTIAL_FILE, /* 18 */ CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ CURLE_OBSOLETE20, /* 20 - NOT USED */ CURLE_QUOTE_ERROR, /* 21 - quote command failure */ CURLE_HTTP_RETURNED_ERROR, /* 22 */ CURLE_WRITE_ERROR, /* 23 */ CURLE_OBSOLETE24, /* 24 - NOT USED */ CURLE_UPLOAD_FAILED, /* 25 - failed upload "command" */ CURLE_READ_ERROR, /* 26 - could open/read from file */ CURLE_OUT_OF_MEMORY, /* 27 */ /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error instead of a memory allocation error if CURL_DOES_CONVERSIONS is defined */ CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was reached */ CURLE_OBSOLETE29, /* 29 - NOT USED */ CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */ CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */ CURLE_OBSOLETE32, /* 32 - NOT USED */ CURLE_RANGE_ERROR, /* 33 - RANGE "command" didn't work */ CURLE_HTTP_POST_ERROR, /* 34 */ CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */ CURLE_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */ CURLE_FILE_COULDNT_READ_FILE, /* 37 */ CURLE_LDAP_CANNOT_BIND, /* 38 */ CURLE_LDAP_SEARCH_FAILED, /* 39 */ CURLE_OBSOLETE40, /* 40 - NOT USED */ CURLE_FUNCTION_NOT_FOUND, /* 41 */ CURLE_ABORTED_BY_CALLBACK, /* 42 */ CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */ CURLE_OBSOLETE44, /* 44 - NOT USED */ CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */ CURLE_OBSOLETE46, /* 46 - NOT USED */ CURLE_TOO_MANY_REDIRECTS , /* 47 - catch endless re-direct loops */ CURLE_UNKNOWN_TELNET_OPTION, /* 48 - User specified an unknown option */ CURLE_TELNET_OPTION_SYNTAX , /* 49 - Malformed telnet option */ CURLE_OBSOLETE50, /* 50 - NOT USED */ CURLE_PEER_FAILED_VERIFICATION, /* 51 - peer's certificate or fingerprint wasn't verified fine */ CURLE_GOT_NOTHING, /* 52 - when this is a specific error */ CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */ CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as default */ CURLE_SEND_ERROR, /* 55 - failed sending network data */ CURLE_RECV_ERROR, /* 56 - failure in receiving network data */ CURLE_OBSOLETE57, /* 57 - NOT IN USE */ CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */ CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */ CURLE_SSL_CACERT, /* 60 - problem with the CA cert (path?) */ CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized transfer encoding */ CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */ CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */ CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */ CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind that failed */ CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */ CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not accepted and we failed to login */ CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */ CURLE_TFTP_PERM, /* 69 - permission problem on server */ CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */ CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */ CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */ CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */ CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */ CURLE_CONV_FAILED, /* 75 - conversion failed */ CURLE_CONV_REQD, /* 76 - caller must register conversion callbacks using curl_easy_setopt options CURLOPT_CONV_FROM_NETWORK_FUNCTION, CURLOPT_CONV_TO_NETWORK_FUNCTION, and CURLOPT_CONV_FROM_UTF8_FUNCTION */ CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing or wrong format */ CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */ CURLE_SSH, /* 79 - error from the SSH layer, somewhat generic so the error message will be of interest when this has happened */ CURLE_SSL_SHUTDOWN_FAILED, /* 80 - Failed to shut down the SSL connection */ CURL_LAST /* never use! */} CURLcode;#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! *//* Backwards compatibility with older names *//* The following were added in 7.17.1 *//* These are scheduled to disappear by 2009 */#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION/* The following were added in 7.17.0 *//* These are scheduled to disappear by 2009 */#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* noone should be using this! */#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57#define CURLE_URL_MALFORMAT_USER CURLE_OBSOLETE4#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED/* The following were added earlier */#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME/* This was the error code 50 in 7.7.3 and a few earlier versions, this is no longer used by libcurl but is instead #defined here only to not make programs break */#define CURLE_ALREADY_COMPLETE 99999#endif /*!CURL_NO_OLDIES*//* This prototype applies to all conversion callbacks */typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */ void *ssl_ctx, /* actually an OpenSSL SSL_CTX */ void *userptr);typedef enum { CURLPROXY_HTTP = 0, /* added in 7.10 */ CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already in 7.10 */ CURLPROXY_SOCKS5 = 5, /* added in 7.10 */ CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */ CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the host name rather than the IP address. added in 7.18.0 */} curl_proxytype; /* this enum was added in 7.10 */#define CURLAUTH_NONE 0 /* nothing */#define CURLAUTH_BASIC (1<<0) /* Basic (default) */#define CURLAUTH_DIGEST (1<<1) /* Digest */#define CURLAUTH_GSSNEGOTIATE (1<<2) /* GSS-Negotiate */#define CURLAUTH_NTLM (1<<3) /* NTLM */#define CURLAUTH_ANY ~0 /* all types set */#define CURLAUTH_ANYSAFE (~CURLAUTH_BASIC)#define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */#define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */#define CURLSSH_AUTH_PASSWORD (1<<1) /* password */#define CURLSSH_AUTH_HOST (1<<2) /* host key files */#define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY#define CURL_ERROR_SIZE 256/* parameter for the CURLOPT_USE_SSL option */typedef enum { CURLUSESSL_NONE, /* do not attempt to use SSL */ CURLUSESSL_TRY, /* try using SSL, proceed anyway otherwise */ CURLUSESSL_CONTROL, /* SSL for the control connection or fail */ CURLUSESSL_ALL, /* SSL for all communication or fail */ CURLUSESSL_LAST /* not an option, never use */} curl_usessl;#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! *//* Backwards compatibility with older names *//* These are scheduled to disappear by 2009 */#define CURLFTPSSL_NONE CURLUSESSL_NONE#define CURLFTPSSL_TRY CURLUSESSL_TRY#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL#define CURLFTPSSL_ALL CURLUSESSL_ALL#define CURLFTPSSL_LAST CURLUSESSL_LAST#define curl_ftpssl curl_usessl#endif /*!CURL_NO_OLDIES*//* parameter for the CURLOPT_FTP_SSL_CCC option */typedef enum { CURLFTPSSL_CCC_NONE, /* do not send CCC */ CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */ CURLFTPSSL_CCC_ACTIVE, /* Initiate the shutdown */ CURLFTPSSL_CCC_LAST /* not an option, never use */} curl_ftpccc;/* parameter for the CURLOPT_FTPSSLAUTH option */typedef enum { CURLFTPAUTH_DEFAULT, /* let libcurl decide */ CURLFTPAUTH_SSL, /* use "AUTH SSL" */ CURLFTPAUTH_TLS, /* use "AUTH TLS" */ CURLFTPAUTH_LAST /* not an option, never use */} curl_ftpauth;/* parameter for the CURLOPT_FTP_FILEMETHOD option */typedef enum { CURLFTPMETHOD_DEFAULT, /* let libcurl pick */ CURLFTPMETHOD_MULTICWD, /* single CWD operation for each path part */ CURLFTPMETHOD_NOCWD, /* no CWD at all */ CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */ CURLFTPMETHOD_LAST /* not an option, never use */} curl_ftpmethod;/* long may be 32 or 64 bits, but we should never depend on anything else but 32 */#define CURLOPTTYPE_LONG 0#define CURLOPTTYPE_OBJECTPOINT 10000#define CURLOPTTYPE_FUNCTIONPOINT 20000#define CURLOPTTYPE_OFF_T 30000/* name is uppercase CURLOPT_<name>, type is one of the defined CURLOPTTYPE_<type> number is unique identifier */#ifdef CINIT#undef CINIT#endif/* * Figure out if we can use the ## operator, which is supported by ISO/ANSI C * and C++. Some compilers support it without setting __STDC__ or __cplusplus * so we need to carefully check for them too. We don't use configure-checks * for these since we want these headers to remain generic and working for all * platforms. */#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \ defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \ defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \ defined(__ILEC400__) /* This compiler is believed to have an ISO compatible preprocessor */#define CURL_ISOCPP#else /* This compiler is believed NOT to have an ISO compatible preprocessor */#undef CURL_ISOCPP#endif#ifdef CURL_ISOCPP#define CINIT(name,type,number) CURLOPT_ ## name = CURLOPTTYPE_ ## type + number#else/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */#define LONG CURLOPTTYPE_LONG#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT#define OFF_T CURLOPTTYPE_OFF_T#define CINIT(name,type,number) CURLOPT_/**/name = type + number#endif/* * This macro-mania below setups the CURLOPT_[what] enum, to be used with * curl_easy_setopt(). The first argument in the CINIT() macro is the [what] * word. */typedef enum { /* This is the FILE * or void * the regular output should be written to. */ CINIT(FILE, OBJECTPOINT, 1), /* The full URL to get/put */ CINIT(URL, OBJECTPOINT, 2), /* Port number to connect to, if other than default. */ CINIT(PORT, LONG, 3), /* Name of proxy to use. */ CINIT(PROXY, OBJECTPOINT, 4), /* "name:password" to use when fetching. */ CINIT(USERPWD, OBJECTPOINT, 5), /* "name:password" to use with proxy. */ CINIT(PROXYUSERPWD, OBJECTPOINT, 6), /* Range to get, specified as an ASCII string. */ CINIT(RANGE, OBJECTPOINT, 7), /* not used */ /* Specified file stream to upload from (use as input): */ CINIT(INFILE, OBJECTPOINT, 9), /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE * bytes big. If this is not used, error messages go to stderr instead: */ CINIT(ERRORBUFFER, OBJECTPOINT, 10), /* Function that will be called to store the output (instead of fwrite). The * parameters will use fwrite() syntax, make sure to follow them. */ CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11), /* Function that will be called to read the input (instead of fread). The * parameters will use fread() syntax, make sure to follow them. */ CINIT(READFUNCTION, FUNCTIONPOINT, 12), /* Time-out the read operation after this amount of seconds */ CINIT(TIMEOUT, LONG, 13), /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about * how large the file being sent really is. That allows better error * checking and better verifies that the upload was succcessful. -1 means * unknown size. * * For large file support, there is also a _LARGE version of the key * which takes an off_t type, allowing platforms with larger off_t * sizes to handle larger files. See below for INFILESIZE_LARGE. */ CINIT(INFILESIZE, LONG, 14), /* POST static input fields. */ CINIT(POSTFIELDS, OBJECTPOINT, 15), /* Set the referer page (needed by some CGIs) */ CINIT(REFERER, OBJECTPOINT, 16), /* Set the FTP PORT string (interface name, named or numerical IP address) Use i.e '-' to use default address. */ CINIT(FTPPORT, OBJECTPOINT, 17), /* Set the User-Agent string (examined by some CGIs) */ CINIT(USERAGENT, OBJECTPOINT, 18), /* If the download receives less than "low speed limit" bytes/second * during "low speed time" seconds, the operations is aborted. * You could i.e if you have a pretty high speed connection, abort if * it is less than 2000 bytes/sec during 20 seconds. */ /* Set the "low speed limit" */ CINIT(LOW_SPEED_LIMIT, LONG, 19), /* Set the "low speed time" */ CINIT(LOW_SPEED_TIME, LONG, 20), /* Set the continuation offset. * * Note there is also a _LARGE version of this key which uses * off_t types, allowing for large file offsets on platforms which
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -