Platforms to show: All Mac Windows Linux Cross-Platform
CURLMBS constants
Constants
Constant | Value | Description |
---|---|---|
kUpkeepIntervalDefault | 50000 | The default connection upkeep interval in milliseconds. |
kWebSocketRaw | 1 |
One of the options for web sockets.
RAW mode for WebSocketOptions. |
Authorization
Constant | Value | Description |
---|---|---|
kAUTH_ANY | &hFFFFFFEF |
all types set |
kAUTH_ANYSAFE | &hFFFFFFEE | |
kAUTH_AWS_SIGV4 | 128 |
AWS Signature v4 |
kAUTH_BASIC | 1 |
Basic (default) |
kAUTH_Bearer | 64 |
HTTP Bearer token authentication |
kAUTH_DIGEST | 2 |
Digest |
kAUTH_DIGEST_IE | 16 |
HTTP Digest authentication with an IE flavor. Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method. The IE flavor is simply that libCURL will use a special "quirk" that IE is known to have used before version 7 and that some servers require the client to use. |
kAUTH_GSSNEGOTIATE | 4 |
GSS-Negotiate Please check SupportsGSSNEGOTIATE property in CURLVersionMBS class whether this is supported/implemented by your copy of the CURL library. |
kAUTH_NEGOTIATE | 4 | HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined in RFC 4559 and is the most secure way to perform authentication over HTTP. more |
kAUTH_NONE | 0 | |
kAUTH_NTLM | 8 | |
kAUTH_NTLM_WB | 32 | NTLM delegating to winbind helper. Authentication is performed by a separate binary application that is executed when needed. The name of the application is specified at compile time but is typically /usr/bin/ntlm_auth more |
kAUTH_Only | &h80000000 |
This is a meta symbol. OR this value together with a single specific auth value to force libCURL to probe for un-restricted auth and if not, only that single auth algorithm is acceptable. |
ChunkBegin result values
Constant | Value | Description |
---|---|---|
kChunkBeginFailed | 1 |
Failed, so we exit downloads. |
kChunkBeginOK | 0 |
OK, download this file. |
kChunkBeginSkip | 2 |
Skip the file. |
ChunkEnd result values
Constant | Value | Description |
---|---|---|
kChunkEndFailed | 1 |
Failed, so we exit downloads. |
kChunkEndOK | 0 |
Download success. |
Error Constants
Constant | Value | Description |
---|---|---|
kError_ABORTED_BY_CALLBACK | 42 | |
kError_AGAIN | 81 |
socket is not ready for send/recv, wait till it's ready and try again (Added in CURL 7.18.2) |
kError_Auth_Error | 94 |
An authentication function returned an error. |
kError_BAD_CONTENT_ENCODING | 61 |
Unrecognized transfer encoding |
kError_BAD_DOWNLOAD_RESUME | 36 |
couldn't resume download |
kError_BAD_FUNCTION_ARGUMENT | 43 | |
kError_CHUNK_FAILED | 88 |
Chunk event reported error. |
kError_CONV_REQD | 76 |
Not used with plugin. |
kError_COULDNT_CONNECT | 7 |
Could not connect. Proxy set? Firewall open? |
kError_COULDNT_RESOLVE_HOST | 6 | |
kError_COULDNT_RESOLVE_PROXY | 5 | |
kError_FAILED_INIT | 2 | |
kError_FILESIZE_EXCEEDED | 63 |
Maximum file size exceeded |
kError_FILE_COULDNT_READ_FILE | 37 | |
kError_FTP_ACCEPT_FAILED | 10 |
While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar. |
kError_FTP_ACCEPT_TIMEOUT | 12 |
During an active FTP session while waiting for the server to connect, the OptionAcceptTimeoutMS (or the internal default) timeout expired. |
kError_FTP_BAD_FILE_LIST | 87 |
Unable to parse FTP file list. |
kError_FTP_CANT_GET_HOST | 15 | |
kError_FTP_COULDNT_RETR_FILE | 19 | |
kError_FTP_COULDNT_SET_TYPE | 17 | |
kError_FTP_COULDNT_USE_REST | 31 |
the REST command failed |
kError_FTP_PORT_FAILED | 30 |
FTP PORT operation failed |
kError_FTP_PRET_FAILED | 84 |
a PRET command failed |
kError_FTP_WEIRD_227_FORMAT | 14 | |
kError_FTP_WEIRD_PASS_REPLY | 11 | |
kError_FTP_WEIRD_PASV_REPLY | 13 | |
kError_FTP_WEIRD_SERVER_REPLY | 8 | |
kError_FUNCTION_NOT_FOUND | 41 | |
kError_GOT_NOTHING | 52 |
when this is a specific error |
kError_HTTP2 | 16 |
A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one out of several problems, see the error buffer for details. |
kError_HTTP2_STREAM | 92 |
stream error in HTTP/2 framing layer |
kError_HTTP3 | 95 |
HTTP3 layer failed. |
kError_HTTP_POST_ERROR | 34 | |
kError_HTTP_RETURNED_ERROR | 22 | |
kError_INTERFACE_FAILED | 45 | |
kError_LDAP_CANNOT_BIND | 38 | |
kError_LDAP_INVALID_URL | 62 |
Invalid LDAP URL |
kError_LDAP_SEARCH_FAILED | 39 | |
kError_LOGIN_DENIED | 67 |
user, password or similar was not accepted and we failed to login |
kError_NOT_BUILT_IN | 4 |
A requested feature, protocol or option was not found built-in in this libCURL due to a build-time decision. This means that a feature or option was not enabled or explicitly disabled when libCURL was built and in order to get it to function you have to get a rebuilt libCURL. |
kError_NO_CONNECTION_AVAILABLE | 89 |
For internal use only, will never be returned by libCURL. No connection available, the session will be queued. (added in 7.30.0) |
kError_OK | 0 | |
kError_OPERATION_TIMEDOUT | 28 | |
kError_OUT_OF_MEMORY | 27 | |
kError_PARTIAL_FILE | 18 | |
kError_PEER_FAILED_VERIFICATION | 60 | |
kError_Proxy | 96 |
Proxy handshake error. |
kError_Quic_Connect_Error | 96 |
Quic had a connect error. |
kError_QUOTE_ERROR | 21 | |
kError_RANGE_ERROR | 33 | |
kError_READ_ERROR | 26 |
could open/read from file |
kError_RECURSIVE_API_CALL | 93 |
an api function was called from inside an event. |
kError_RECV_ERROR | 56 |
failure in receiving network data |
kError_REMOTE_ACCESS_DENIED | 9 | |
kError_REMOTE_DISK_FULL | 70 |
Out of disk space on server. |
kError_REMOTE_FILE_EXISTS | 73 |
File already exists. |
kError_REMOTE_FILE_NOT_FOUND | 78 |
Remote file not found. |
kError_RTSP_CSEQ_ERROR | 85 |
Mismatch of RTSP CSeq numbers. |
kError_RTSP_SESSION_ERROR | 86 |
mismatch of RTSP Session Identifiers |
kError_SEND_ERROR | 55 |
failed sending network data |
kError_SEND_FAIL_REWIND | 65 |
Sending the data requires a rewind that failed |
kError_SETOPT_OPTION_SYNTAX | 49 |
Malformed option for CURL via setOpt call. |
kError_SSH | 79 |
Error from the SSH layer, somewhat generic so the error message will be of interest when this has happened. |
kError_SSL_CACERT | 60 |
problem with the CA cert (path?) You can often workaround by setting OptionSSLVerifyPeer = 0 and OptionSSLVerifyHost = 0. But that reduces security. |
kError_SSL_CACERT_BADFILE | 77 |
Could not load CACERT file, missing or wrong format. |
kError_SSL_CERTPROBLEM | 58 |
problem with the local certificate |
kError_SSL_CIPHER | 59 |
couldn't use specified cipher |
kError_SSL_ClientCert | 97 |
Client-side certificate required. |
kError_SSL_CONNECT_ERROR | 35 |
wrong when connecting with SSL |
kError_SSL_CRL_BADFILE | 82 |
Could not load CRL file, missing or wrong format (Added in 7.19.0) |
kError_SSL_ENGINE_INITFAILED | 66 |
failed to initialise ENGINE |
kError_SSL_ENGINE_NOTFOUND | 53 |
SSL crypto engine not found |
kError_SSL_ENGINE_SETFAILED | 54 |
can not set SSL crypto engine as default |
kError_SSL_INVALIDCERTSTATUS | 91 |
invalid certificate status |
kError_SSL_ISSUER_ERROR | 83 |
Issuer check failed. (Added in CURL 7.19.0) |
kError_SSL_PINNEDPUBKEYNOTMATCH | 90 |
specified pinned public key did not match. |
kError_SSL_SHUTDOWN_FAILED | 80 |
Failed to shut down the SSL connection. |
kError_TELNET_OPTION_SYNTAX | 49 |
Malformed option for CURL via setOpt call. Used to be for telnet, but now generic. |
kError_TFTP_ILLEGAL | 71 |
Illegal TFTP operation. |
kError_TFTP_NOSUCHUSER | 74 |
No such user. |
kError_TFTP_NOTFOUND | 68 |
File not found on server. |
kError_TFTP_PERM | 69 |
Permission problem on server. |
kError_TFTP_UNKNOWNID | 72 |
Unknown transfer ID. |
kError_TOO_MANY_REDIRECTS | 47 |
catch endless re-direct loops |
kError_UNKNOWN_TELNET_OPTION | 48 |
User specified an unknown option |
kError_Unrecoverable_poll | 99 |
poll/select returned fatal error |
kError_UNSUPPORTED_PROTOCOL | 1 | |
kError_UPLOAD_FAILED | 25 | |
kError_URL_MALFORMAT | 3 | |
kError_USE_SSL_FAILED | 64 |
Requested FTP SSL level failed |
kError_WRITE_ERROR | 23 |
FileNameMatch Event Result Values
Constant | Value | Description |
---|---|---|
kFileNameMatchFailed | 2 |
Failed. |
kFileNameMatchIsMatch | 0 |
Is Match. |
kFileNameMatchNoMatch | 1 |
No match. |
Form Constants
Constant | Value | Description |
---|---|---|
kFormArray | 8 | |
kFormBuffer | 11 | |
kFormBufferLength | 13 | |
kFormBufferPtr | 12 | |
kFormContentHeader | 15 | |
kFormContentsLength | 6 | |
kFormContentType | 14 | |
kFormCopyContents | 4 | |
kFormCopyName | 1 | |
kFormEnd | 17 | |
kFormFile | 10 | |
kFormFileContent | 7 | |
kFormFilename | 16 | |
kFormNameLength | 3 | |
kFormPtrContents | 5 | |
kFormPtrName | 2 |
FTP Authorization
Constant | Value | Description |
---|---|---|
kFTPAUTH_DEFAULT | 0 |
Allow libCURL to decide |
kFTPAUTH_SSL | 1 |
Try "AUTH SSL" first, and only if that fails try "AUTH TLS" |
kFTPAUTH_TLS | 2 |
Try "AUTH TLS" first, and only if that fails try "AUTH SSL" |
FTP CWD method
Constant | Value | Description |
---|---|---|
kFTPMethodDefault | 0 |
let libcurl pick |
kFTPMethodMultiCWD | 1 |
single CWD operation for each path part |
kFTPMethodNoCWD | 2 |
no CWD at all |
kFTPMethodSingleCWD | 3 |
one CWD to full dir, then work on file |
FTP SSL Option
Constant | Value | Description |
---|---|---|
kFTPSSL_ALL | 3 |
Require SSL for all communication or fail with kError_FTP_SSL_FAILED. |
kFTPSSL_CONTROL | 2 |
Require SSL for the control connection or fail with kError_FTP_SSL_FAILED. |
kFTPSSL_NONE | 0 |
Don't attempt to use SSL. |
kFTPSSL_TRY | 1 |
Try using SSL, proceed as normal otherwise. |
GSS API delegation modes
Constant | Value | Description |
---|---|---|
kGSSAPIDelegationFlag | 2 |
delegate always |
kGSSAPIDelegationNone | 0 |
no delegation (default) |
kGSSAPIDelegationPolicyFlag | 1 |
if permitted by policy |
HTTP Versions
Constant | Value | Description |
---|---|---|
kHTTP_VERSION_1_0 | 1 |
Enforce HTTP 1.0 requests. |
kHTTP_VERSION_1_1 | 2 |
Enforce HTTP 1.1 requests. |
kHTTP_VERSION_2TLS | 4 |
use version 2 for HTTPS, version 1.1 for HTTP |
kHTTP_VERSION_2_0 | 3 |
please use HTTP 2 in the request |
kHTTP_VERSION_2_PRIOR_KNOWLEDGE | 5 |
please use HTTP 2 without HTTP/1.1 Upgrade |
kHTTP_VERSION_3 | 30 |
please use HTTP 3 in the request |
kHTTP_VERSION_3Only | 31 |
Use HTTP/3 without fallback. For HTTPS only. For HTTP, this makes libcurl return error. |
kHTTP_VERSION_NONE | 0 |
We don't care about what version the library uses. libCURL will use whatever it thinks fit. |
Debug Message Info Types
Constant | Value | Description |
---|---|---|
kINFO_DATA_IN | 3 |
The data is protocol data received from the peer. |
kINFO_DATA_OUT | 4 |
The data is protocol data sent to the peer. |
kINFO_HEADER_IN | 1 |
The data is header (or header-like) data received from the peer. |
kINFO_HEADER_OUT | 2 |
The data is header (or header-like) data sent to the peer. |
kINFO_SSL_DATA_IN | 5 |
The data is protocol data received from the peer. |
kINFO_SSL_DATA_OUT | 6 |
The data is protocol data sent to the peer. |
kINFO_TEXT | 0 |
The data is informational text. |
IP Resolve Modes
Constant | Value | Description |
---|---|---|
kIPRESOLVE_V4 | 1 | Example |
kIPRESOLVE_V6 | 2 | Example |
kIPRESOLVE_WHATEVER | 0 | Example |
NetRC Modes
Constant | Value | Description |
---|---|---|
kNETRC_IGNORED | 0 |
The .netrc will never be read. This is the default. |
kNETRC_OPTIONAL | 1 |
A user:password in the URL will be preferred to one in the .netrc. |
kNETRC_REQUIRED | 2 |
A user:password in the URL will be ignored. Unless one is set programmatically, the .netrc will be queried. |
Protocols
Constant | Value | Description |
---|---|---|
kProtocolAll | -1 |
Enable all protocols. |
kProtocolDICT | &h200 |
DICT |
kProtocolFILE | &h400 |
File |
kProtocolFTP | 4 |
FTP |
kProtocolFTPS | 8 |
FTPS |
kProtocolGopher | &h2000000 |
Gopher |
kProtocolGophers | &h20000000 | |
kProtocolHTTP | 1 |
HTTP |
kProtocolHTTPS | 2 |
HTTPS |
kProtocolIMAP | &h1000 |
IMAP |
kProtocolIMAPS | &h2000 |
IMAPS |
kProtocolLDAP | &h80 |
LDAP |
kProtocolLDAPS | &h100 |
LDAPS |
kProtocolMQTT | &h10000000 |
MQTT |
kProtocolPOP3 | &h4000 |
POP3 |
kProtocolPOP3S | &h8000 |
POP3S |
kProtocolRTMP | &h80000 |
RTMP |
kProtocolRTMPE | &h200000 |
RTMPE |
kProtocolRTMPS | &h800000 |
RTMPS |
kProtocolRTMPT | &h100000 |
RTMPT |
kProtocolRTMPTE | &h400000 |
RTMPTE |
kProtocolRTMPTS | &h1000000 |
RTMPTS |
kProtocolRTSP | &h40000 |
RTSP |
kProtocolSCP | &h10 |
SCP |
kProtocolSFTP | &h20 |
SFTP |
kProtocolSMB | &h4000000 |
SMB |
kProtocolSMBS | &h8000000 |
SMBS |
kProtocolSMTP | &h10000 |
SMTP |
kProtocolSMTPS | &h20000 |
SMTPS |
kProtocolTelnet | &h40 |
Telnet |
kProtocolTFTP | &h800 |
TFTP |
Proxy Types
Constant | Value | Description |
---|---|---|
kPROXY_HTTP | 0 | |
kPROXY_HTTP10 | 1 |
Force to use CONNECT HTTP/1.0. |
kPROXY_HTTP11 | 0 |
Connect using HTTP/1.1. |
kPROXY_SOCKS4 | 4 | |
kPROXY_SOCKS4A | 6 |
Using SOCKS 4A. |
kPROXY_SOCKS5 | 5 | |
kPROXY_SOCKS5_Hostname | 7 |
Use the SOCKS5 protocol but pass along the host name rather than the IP address. added in 7.18.0 |
Seek Origin Constants
Constant | Value | Description |
---|---|---|
kSeekOriginCurrent | 1 |
Seek relative to current file position. |
kSeekOriginEnd | 2 |
Seek relative to end of file. |
kSeekOriginSet | 0 |
Seek relative to start of file. |
Seek Event Result Values
Constant | Value | Description |
---|---|---|
kSeekReturnCantSeek | 3 |
Return this value if you can't seek as you are not using a file, but for example a stream. |
kSeekReturnFail | 2 |
Returns this value if your seek operation failed. |
kSeekReturnOk | 1 |
Returns this value if your seek operation succeeded. |
SSH Authentication
Constant | Value | Description |
---|---|---|
kSSHAuthAgent | 16 |
agent (ssh-agent, pageant...) |
kSSHAuthAny | -1 |
Any allowed |
kSSHAuthDefault | -1 |
Default: Any |
kSSHAuthGSSAPI | 32 |
gssapi (kerberos, ...) |
kSSHAuthHost | 4 |
host key files |
kSSHAuthKeyboard | 8 |
keyboard interactive |
kSSHAuthNone | 0 |
none allowed, silly but complete |
kSSHAuthPassword | 2 |
password |
kSSHAuthPublicKey | 1 |
public/private key files |
SSL Option Flags
Constant | Value | Description |
---|---|---|
kSSLOptionAllowBeast | 1 |
tells libcurl to allow the BEAST SSL vulnerability in the name of improving interoperability with older servers. Some SSL libraries have introduced work-arounds for this flaw but those work-arounds sometimes make the SSL communication fail. To regain functionality with those broken servers, a user can this way allow the vulnerability back. |
kSSLOptionAutoClientCert | 32 |
Tells libcurl to automatically locate and use a client certificate for authentication. (Schannel) |
kSSLOptionNativeCA | 16 |
tells libcurl to use standard certificate store of operating system. Currently implemented under MS-Windows. |
kSSLOptionNoPartialChain | 4 |
tells libcurl to *NOT* accept a partial certificate chain if possible. The OpenSSL backend has this ability. |
kSSLOptionNoRevoke | 2 |
tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. |
kSSLOptionRevokeBestEffort | 8 |
tells libcurl to ignore certificate revocation offline checks and ignore missing revocation list for those SSL backends where such behavior is present. |
SSL Versions
Constant | Value | Description |
---|---|---|
kSSLVersionDefault | 0 |
The default acceptable version range. The minimum acceptable version is by default TLS v1.0 since 7.39.0 (unless the TLS library has a stricter rule). |
kSSLVersionSSLv2 | 2 |
SSL v2 (but not SSLv3) |
kSSLVersionSSLv3 | 3 |
SSL v3 (but not SSLv2) |
kSSLVersionTLSv1 | 1 |
TLS v1.0 or later |
kSSLVersionTLSv10 | 4 |
TLS v1.0 or later (Added in 7.34.0) |
kSSLVersionTLSv11 | 5 |
TLS v1.1 or later (Added in 7.34.0) |
kSSLVersionTLSv12 | 6 |
TLS v1.2 or later (Added in 7.34.0) |
kSSLVersionTLSv13 | 7 |
TLS v1.3 or later (Added in 7.52.0) |
Time Conditions
Constant | Value | Description |
---|---|---|
kTimeConditionIfModifiedSince | 1 | |
kTimeConditionIfUnModifiedSince | 2 | |
kTimeConditionNone | 0 |
No condition. |
SSL Option
Constant | Value | Description |
---|---|---|
kUseSSLall | 3 |
Require SSL for all communication or fail with kError_FTP_SSL_FAILED. |
kUseSSLcontrol | 2 |
Require SSL for the control connection or fail with kError_FTP_SSL_FAILED. |
kUseSSLnone | 0 |
Don't attempt to use SSL. |
kUseSSLtry | 1 |
Try using SSL, proceed as normal otherwise. |