-- _curl_constants_.e
-- _curl_constants_.e
Following global constants are defined:
specified content is a file name
specified content is a file name
name is only stored pointer do not free in formfree
contents is only stored pointer do not free in formfree
upload file from buffer
upload file from pointer contents
upload file contents by using the regular read callback to get the data and
pass the given pointer as custom pointer
use size in 'contentlen'
Tests have proven that 20K is a very bad buffer size for uploads on
Windows, while 16K for some odd reason performed a lot better.
We do the ifndef check to allow this value to easier be changed at build
time for those who feel adventurous. The practical minimum is about
400 bytes since libcurl uses a buffer of this size as a scratch area
(unrelated to network send operations).
The only reason to have a max limit for this is to avoid the risk of a bad
server feeding libcurl with a never-ending header that will cause reallocs
infinitely
This is a magic return code for the write callback that, when returned,
will signal libcurl to pause receiving on the current transfer.
is possible only on Sun Solaris now
should never occur
tell the lib to end the task
skip this chunk over
tell the lib to end the task
string corresponds to the pattern
pattern doesn't match the string
an error occurred
fail the entire transfer
tell libcurl seeking can't be done, so libcurl might try other means instead
This is a return code for the read callback that, when returned, will
signal libcurl to immediately abort the current transfer.
This is a return code for the read callback that, when returned, will
signal libcurl to pause sending data on the current transfer.
socket created for a specific IP connection
socket created by accept() call
never use
causes libcurl to abort and return CURLE_ABORTED_BY_CALLBACK
I/O operation successful
command was unknown to callback
failed to restart the read
never use
no operation
restart the read stream from start
never use
a service was denied by the server due to lack of access - when login fails
this is not returned.
timeout occurred accepting server
A problem in the http2 framing layer.
NOT USED
quote command failure
NOT USED
failed upload "command"
couldn't open/read from file
the timeout time was reached
NOT USED
FTP PORT operation failed
the REST command failed
NOT USED
RANGE "command" didn't work
wrong when connecting with SSL
couldn't resume download
NOT USED
NOT USED
CURLOPT_INTERFACE failed
NOT USED
catch endless re-direct loops
User specified an unknown option
Malformed telnet option
NOT USED
peer's certificate or fingerprint wasn't verified fine
when this is a specific error
SSL crypto engine not found
cannot set SSL crypto engine as default
failed sending network data
failure in receiving network data
NOT IN USE
problem with the local certificate
couldn't use specified cipher
problem with the CA cert (path?)
Unrecognized/bad encoding
Invalid LDAP URL
Maximum file size exceeded
Requested FTP SSL level failed
Sending the data requires a rewind that failed
failed to initialise ENGINE
user, password or similar was not accepted and we failed to login
file not found on server
permission problem on server
out of disk space on server
Illegal TFTP operation
Unknown transfer ID
File already exists
No such user
conversion failed
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
could not load CACERT file, missing or wrong format
remote file not found
error from the SSH layer, somewhat
generic so the error message will be of
interest when this has happened
Failed to shut down the SSL connection
socket is not ready for send/recv, wait till it's ready and try again
could not load CRL file, missing or wrong format
Issuer check failed.
a PRET command failed
mismatch of RTSP CSeq numbers
mismatch of RTSP Session Ids
unable to parse FTP file list
chunk callback reported error
No connection available, the session will be queued
specified pinned global key did not match
invalid certificate status
stream error in HTTP/2 framing layer
never use!
no longer used by libcurl
deprecated option
deprecated option
default is to use CONNECT HTTP/1.1
force to use CONNECT HTTP/1.0
Use the SOCKS5 protocol but pass along the hostname rather than the IP address.
No HTTP authentication
HTTP Basic authentication (default)
HTTP Digest authentication
HTTP Negotiate (SPNEGO) authentication
Alias for CURLAUTH_NEGOTIATE (deprecated)
HTTP NTLM authentication
HTTP Digest authentication with IE flavour
HTTP NTLM authentication delegated to winbind helper
Use together with a single other type to force no authentication or just
that single type
All fine types set
All fine types except Basic
all types supported by the server
none allowed, silly but complete
global/private key files
password
host key files
keyboard interactive
agent (ssh-agent, pageant...)
no delegation (default)
if permitted by policy
delegate always
reject the connection, return an error
do not accept it, but we can't answer right now so this causes a CURLE_DEFER
error but otherwise the connection will be left intact etc
not for use, only a marker for last-in-list
match
host found, key mismatch!
no matching host/key found
not for use, only a marker for last-in-list
do not attempt to use SSL
try using SSL, proceed anyway otherwise
SSL for the control connection or fail
SSL for all communication or fail
not an option, never use
do not send CCC
Let the server initiate the shutdown
Initiate the shutdown
not an option, never use
let libcurl decide
use "AUTH SSL"
use "AUTH TLS"
not an option, never use
do NOT create missing dirs!
(FTP/SFTP) if CWD fails, try MKD and then CWD
again if MKD succeeded, for SFTP this does
similar magic
(FTP only) if CWD fails, try MKD and then CWD again even if MKD failed!
not an option, never use
let libcurl pick
single CWD operation for each path part
no CWD at all
one CWD to full dir, then work on file
not an option, never use
bitmask for CURLOPT_HEADEROPT
bitmask for CURLOPT_HEADEROPT
enable everything
This is the FILE * or void * the regular output should be written to.
The full URL to get/put
Port number to connect to, if other than default.
Name of proxy to use.
"user:password;options" to use when fetching.
"user:password" to use with proxy.
Range to get, specified as an ASCII string. not used
Specified file stream to upload from (use as input):
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:
Function that will be called to store the output (instead of fwrite). The
parameters will use fwrite() syntax, make sure to follow them.
Function that will be called to read the input (instead of fread). The
parameters will use fread() syntax, make sure to follow them.
Time-out the read operation after this amount of seconds
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 successful. -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.
POST static input fields.
Set the referrer page (needed by some CGIs)
Set the FTP PORT string (interface name, named or numerical IP address)
Use i.e '-' to use default address.
Set the User-Agent string (examined by some CGIs)
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"
Set the "low speed time"
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
use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE.
Set cookie in request:
This points to a linked list of headers, struct curl_slist kind. This
list is also used for RTSP (in spite of its name)
This points to a linked list of post entries, struct curl_httppost
name of the file keeping your private SSL-certificate
password for the SSL or SSH private key
send TYPE parameter?
send linked-list of QUOTE commands
send FILE * or void * to store headers to, if you use a callback it
is simply passed to the callback unmodified
point to a file to read the initial cookies from, also enables "cookie awareness"
What version to specifically try to use. See CURL_SSLVERSION defines below.
What kind of HTTP time condition to use, see defines
Time to use with the above condition. Specified in number of seconds
since 1 Jan 1970
Custom request, for customizing the get command like
HTTP: DELETE, TRACE and others
FTP: to use a different list command
FILE handle to use instead of stderr
send linked-list of post-transfer QUOTE commands
OBSOLETE, do not use!
talk a lot
throw the header out too
shut off the progress meter
use HEAD to get http document
no output on http error codes >= 400
this is an upload
HTTP POST method
bare names when listing directories
Append instead of overwrite on upload!
Specify whether to read the user+password from the .netrc or the URL.
This must be one of the CURL_NETRC_* enums below.
use Location: Luke!
transfer data in text/ASCII format
HTTP PUT
DEPRECATED
Function that will be called instead of the internal progress display global
function. This global function should be defined as the curl_progress_callback
prototype defines.
Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION
callbacks
We want the referrer field set automatically when following locations
Port of the proxy, can be set in the proxy string as well with:
"[host]:[port]"
size of the POST input data, if strlen() is not good to use
tunnel non-http operations through a HTTP proxy
Set the interface string to use as outgoing network interface
Set the krb4/5 security level, this also enables krb4/5 awareness. This
is a string, 'clear', 'safe', 'confidential' or 'private'. If the string
is set but doesn't match one of these, 'private' will be used.
Set if we should verify the peer in ssl handshake, set 1 to verify.
The CApath or CAfile used to validate the peer certificate
this option is used only if SSL_VERIFYPEER is true
Maximum number of http redirects to follow
Pass a long set to 1 to get the date of the requested document (if
possible)! Pass a zero to shut it off.
This points to a linked list of telnet options
Max amount of cached alive connections
OBSOLETE, do not use!
Set to explicitly use a new connection for the upcoming transfer.
Do not use this unless you're absolutely sure of this, as it makes the
operation slower and is less friendly for the network.
Set to explicitly forbid the upcoming transfer's connection to be re-used
when done. Do not use this unless you're absolutely sure of this, as it
makes the operation slower and is less friendly for the network.
Set to a file name that contains random data for libcurl to use to
seed the random engine when doing SSL connects.
Set to the Entropy Gathering Daemon socket pathname
Time-out connect operations after this amount of seconds, if connects are
OK within this time, then fine... This only aborts the connect phase.
Function that will be called to store headers (instead of fwrite). The
parameters will use fwrite() syntax, make sure to follow them.
Set this to force the HTTP request to get back to GET. Only really usable
if POST, PUT or a custom request have been used first.
Set if we should verify the Common name from the peer certificate in ssl
handshake, set 1 to check existence, 2 to ensure that it matches the
provided hostname.
Specify which file name to write all known cookies in after completed
operation. Set file name to "-" (dash) to make it go to stdout.
Specify which SSL ciphers to use
Specify which HTTP version to use! This must be set to one of the
CURL_HTTP_VERSION* enums set below.
Specifically switch on or off the FTP engine's use of the EPSV command. By
default, that one will always be attempted before the more traditional
PASV command.
type of the file keeping your SSL-certificate ("DER", "PEM", "ENG")
name of the file keeping your private SSL-key
type of the file keeping your private SSL-key ("DER", "PEM", "ENG")
crypto engine for the SSL-sub system
set the crypto engine for the SSL-sub system as default
the param has no meaning...
Non-zero value means to use the global dns cache
DEPRECATED, do not use!
DNS cache timeout
send linked-list of pre-transfer QUOTE commands
set the debug global function
set the data for the debug global function
mark this as start of a cookie session
The CApath directory used to validate the peer certificate
this option is used only if SSL_VERIFYPEER is true
Instruct libcurl to use a smaller receive buffer
Instruct libcurl to not use any signal/alarm handlers, even when using
timeouts. This option is useful for multi-threaded applications.
See libcurl-the-guide for more background information.
Provide a CURLShare for mutexing non-ts data
indicates type of proxy. accepted values are CURLPROXY_HTTP (default,
CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5.
Set the Accept-Encoding string. Use this to tell a server you would like
the response to be compressed. Before 7.21.6, this was known as
CURLOPT_ENCODING
Set pointer to private data
Set aliases for HTTP 200 in the HTTP Response header
Continue to send authentication (user+password) when following locations,
even when hostname changed. This can potentially send off the name
and password to whatever host the server decides.
Specifically switch on or off the FTP engine's use of the EPRT command (
it also disables the LPRT attempt). By default, those ones will always be
attempted before the good old traditional PORT command.
Set this to a bitmask value to enable the particular authentications
methods you like. Use this in combination with CURLOPT_USERPWD.
Note that setting multiple bits may cause extra network round-trips.
Set the ssl context callback global function, currently only for OpenSSL ssl_ctx
in second argument. The global function must be matching the
curl_ssl_ctx_callback proto.
Set the userdata for the ssl context callback global function's third
argument
FTP Option that causes missing dirs to be created on the remote server.
In 7.19.4 we introduced the convenience enums for this option using the
CURLFTP_CREATE_DIR prefix.
Set this to a bitmask value to enable the particular authentications
methods you like. Use this in combination with CURLOPT_PROXYUSERPWD.
Note that setting multiple bits may cause extra network round-trips.
FTP option that changes the timeout, in seconds, associated with
getting a response. This is different from transfer timeout time and
essentially places a demand on the FTP server to acknowledge commands
in a timely manner.
Set this option to one of the CURL_IPRESOLVE_* defines (see below) to
tell libcurl to resolve names to those IP versions only. This only has
affect on systems with support for more than one, i.e IPv4 _and_ IPv6.
Set this option to limit the size of a file that will be downloaded from
an HTTP or FTP server.
Note there is also _LARGE version which adds large file support for
platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below.
See the comment for INFILESIZE above, but in short, specifies
the size of the file being uploaded. -1 means unknown.
Sets the continuation offset. There is also a LONG version of this;
look above for RESUME_FROM.
Sets the maximum size of data that will be downloaded from
an HTTP or FTP server. See MAXFILESIZE above for the LONG version.
Set this option to the file name of your .netrc file you want libcurl
to parse (using the CURLOPT_NETRC option). If not set, libcurl will do
a poor attempt to find the user's home directory and check for a .netrc
file in there.
Enable SSL/TLS for FTP, pick one of:
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
The _LARGE version of the standard POSTFIELDSIZE option
Enable/disable the TCP Nagle algorithm
When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL, this option
can be used to change libcurl's default action which is to first try
"AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK
response has been received.
Available parameters are:
CURLFTPAUTH_DEFAULT - let libcurl decide
CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS
CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL
zero terminated string for pass on to the FTP server when asked for
"account" info
feed cookie into cookie engine
ignore Content-Length
Set to non-zero to skip the IP address received in a 227 PASV FTP server
response. Typically used for FTP-SSL purposes but is not restricted to
that. libcurl will then instead use the same IP address it used for the
control connection.
Select "file method" to use when doing FTP, see the curl_ftpmethod above.
Local port number to bind the socket to
Number of ports to try, including the first one set with LOCALPORT.
Thus, setting it to 1 will make no additional attempts but the first.
no transfer, set up connection and let application use the socket by
extracting it with CURLINFO_LASTSOCKET
Function that will be called to convert from the
network encoding (instead of using the iconv calls in libcurl)
Function that will be called to convert to the
network encoding (instead of using the iconv calls in libcurl)
Function that will be called to convert from UTF8
(instead of using the iconv calls in libcurl)
Note that this is used only for SSL certificate processing
if the connection proceeds too quickly then need to slow it down
limit-rate: maximum number of bytes per second to send or receive
Pointer to command string to send if USER/PASS fails.
callback global function for setting socket options
set to 0 to disable session ID re-use for this transfer, default is
enabled (== 1)
allowed SSH authentication methods
Used by scp/sftp to do global/private key authentication
Send CCC (Clear Command Channel) after authentication
Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution
set to zero to disable the libcurl's decoding and thus pass the raw body
data to the application even when it is encoded/compressed
Permission used when creating new files and directories on the remote
server for protocols that support it, SFTP/SCP/FILE
Set the behaviour of POST when redirecting. Values must be set to one
of CURL_REDIR* defines below. This used to be called CURLOPT_POST301
used by scp/sftp to verify the host's global key
Callback global function for opening socket (instead of socket(2)). Optionally,
callback is able change the address or refuse to connect returning
CURL_SOCKET_BAD. The callback should have type curl_opensocket_callback
POST volatile input fields.
set transfer mode (;type=) when doing FTP via an HTTP proxy
Callback global function for seeking in the input stream
CRL file
Issuer certificate
(IPv6) Address scope
Collect certificate chain info and allow it to get retrievable with
CURLINFO_CERTINFO after the transfer is complete.
"name" and "pwd" to use when fetching.
"name" and "pwd" to use with Proxy when fetching.
Comma separated list of hostnames defining no-proxy zones. These should
match both hostnames directly, and hostnames within a domain. For
example, local.com will match local.com and www.local.com, but NOT
notlocal.com or www.notlocal.com. For compatibility with other
implementations of this, .local.com will be considered to be the same as
local.com. A single * is the only valid wildcard, and effectively
disables the use of proxy.
block size for TFTP transfers
Socks Service. DEPRECATED, do not use!
Socks Service
set the bitmask for the protocols that are allowed to be used for the
transfer, which thus helps the app which takes URLs from users or other
external inputs and want to restrict what protocol(s) to deal
with. Defaults to CURLPROTO_ALL.
set the bitmask for the protocols that libcurl is allowed to follow to,
as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs
to be set in both bitmasks to be allowed to get redirected to. Defaults
to all protocols except FILE and SCP.
set the SSH knownhost file name to use
set the SSH host key callback, must point to a curl_sshkeycallback
global function
set the SSH host key callback custom pointer
set the SMTP mail originator
set the list of SMTP mail receiver(s)
FTP: send PRET before PASV
RTSP request method (OPTIONS, SETUP, PLAY, etc...)
The RTSP session identifier
The RTSP stream URI
The Transport: header to use in RTSP requests
Manually initialize the client RTSP CSeq for this handle
Manually initialize the server RTSP CSeq for this handle
The stream to pass to INTERLEAVEFUNCTION.
Let the application define a custom write method for RTP data
Turn on wildcard matching
Directory matching callback called before downloading of an
individual file (chunk) started
Directory matching callback called after the file (chunk)
was downloaded, or skipped
Change match (fnmatch-like) callback for wildcard matching
Let the application define custom chunk data pointer
FNMATCH_FUNCTION user pointer
send linked-list of name:port:address sets
Set a username for authenticated TLS
Set a password for authenticated TLS
Set authentication type for authenticated TLS
Set to 1 to enable the "TE:" header in HTTP requests to ask for
compressed transfer-encoded responses. Set to 0 to disable the use of TE:
in outgoing requests. The current default is 0, but it might change in a
future libcurl release.
libcurl will ask for the compressed methods it knows of, and if that
isn't any, it will not ask for transfer-encoding at all even if this
option is set to 1.
Callback global function for closing socket (instead of close(2)). The callback
should have type curl_closesocket_callback
allow GSSAPI credential delegation
Set the name servers to use for DNS resolution
Time-out accept operations (currently for FTP only) after this amount
of miliseconds.
Set TCP keepalive
non-universal keepalive knobs (Linux, AIX, HP-UX, more)
Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_*
Set the SMTP auth originator
Enable/disable SASL initial response
Function that will be called instead of the internal progress display
global function. This global function should be defined as the
curl_xferinfo_callback prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION)
The XOAUTH2 bearer token
Set the interface string to use as outgoing network interface for DNS
requests. Only supported by the c-ares DNS backend
Set the local IPv4 address to use for outgoing DNS requests.
Only supported by the c-ares DNS backend
Set the local IPv4 address to use for outgoing DNS requests.
Only supported by the c-ares DNS backend
Set authentication options directly
Enable/disable TLS NPN extension (http2 over ssl might fail without)
Enable/disable TLS ALPN extension (http2 over ssl might fail without)
Time to wait for a response to a HTTP request containing an
Expect: 100-continue header before sending the data anyway.
This points to a linked list of headers used for proxy requests only,
struct curl_slist kind
Pass in a bitmask of "header options"
The global key in DER form used to validate the peer global key
this option is used only if SSL_VERIFYPEER is true
Path to Unix domain socket
Set if we should verify the certificate status.
Set if we should enable TLS false start.
Do not squash dot-dot sequences
Proxy Service Name
Service Name
Wait/don't wait for pipe/mutex to clarify
Set the protocol used when curl is given a URL without a protocol
Set stream weight, 1 - 256 (default is 16)
Set stream dependency on another CURL handle
Set E-xclusive stream dependency on another CURL handle
Do not send any tftp option requests to the server
Linked-list of host:port:connect-to-host:connect-to-port,
overrides the URL's host:port (only for the network layer)
Set TCP Fast Open
the last unused
default, resolves addresses to all IP versions that your system allows
resolve to IPv4 addresses
resolve to IPv6 addresses
setting this means we don't care, and that we'd like the library to
choose the best possible for us!
please use HTTP 1.0 in the request
please use HTTP 1.1 in the request
please use HTTP 2 in the request
use version 2 for HTTPS, version 1.1 for HTTP
please use HTTP 2 without HTTP/1.1 Upgrade
*ILLEGAL* http version
The .netrc will never be read. This is the default.
A user:password in the URL will be preferred to one in the .netrc.
A user:password in the URL will be ignored.
Unless one is set programmatically, the .netrc will be queried.
TLS 1.x
never use, keep last
never use, keep last
unused
provide a curl_off_t length
unused
no error
libcurl was built with this disabled
Was QSOSSL.
never use this
never use this
never use this
CURL_LOCK_DATA_SHARE is used internally to say that the locking is just
made to change the internal state of the share itself.
unspecified action
for read perhaps
for write perhaps
never use
never actually use this
The 'CURLVERSION_NOW' is the symbolic name meant to be used by
basically all programs ever that want to get version information. It is
meant to be a built-in version number for what kind of struct the caller
expects. If the struct ever changes, we redefine the NOW to another global enum
from above.
IPv6-enabled
Kerberos V4 auth is supported (deprecated)
SSL options are present
libz features are present
NTLM auth is supported
Negotiate auth is supported (deprecated)
Built with debug capabilities
Asynchronous DNS resolves
SPNEGO auth is supported
Supports files larger than 2GB
Internationized Domain Names are supported
Built against Windows SSPI
Character conversions supported
Debug memory tracking supported
TLS-SRP auth is supported
NTLM delegation to winbind helper is suported
HTTP2 support built-in
Built against a GSS-API library
Kerberos V5 auth is supported
Unix domain sockets support
Mozilla's Public Suffix List, used for cookie domain verification