To make sure curldown documents render correctly as markdown, all literal
occurrences of `<` or `>` need to be escaped by a leading backslash.
+## Generating contents
+
+`# %PROTOCOLS%` - inserts a **PROTOCOLS** section based on the metadata
+provided in the header.
+
+`# %AVAILABILITY%` - inserts an **AVAILABILITY** section based on the metadata
+provided in the header.
+
## Symbols
All mentioned curl symbols that have their own man pages, like
Passing in a NULL pointer in *handle* makes this function return immediately
with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
None
In multi-threaded programs, this function must be called in a synchronous way,
the input handle may not be in use when cloned.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns NULL, something went wrong and no valid handle was
recommend using libcurl's URL API: set the pieces with curl_url_set(3) and get
the final correct URL with curl_url_get(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string or NULL if it failed.
CURLINFO_PRETRANSFER_TIME_T(3), CURLINFO_STARTTRANSFER_TIME_T(3),
CURLINFO_TOTAL_TIME_T(3), CURLINFO_REDIRECT_TIME_T(3)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If the operation was successful, CURLE_OK is returned. Otherwise an
The header is an HTTP/2 or HTTP/3 pseudo header
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This function returns a CURLHcode indicating success or error.
curl_global_init(3) yourself properly. See the description in libcurl(3) of
global environment requirements for details of how to use this function.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns NULL, something went wrong and you cannot use the
is associated with the easy handle. Applications must copy the data if they
want it to survive subsequent API calls or the life-time of the easy handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This function returns the next header, or NULL when there are no more
If libcurl has no option with the given id, this function returns NULL.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to the *curl_easyoption* struct for the option or NULL.
If libcurl has no option with the given name, this function returns NULL.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to the *curl_easyoption* struct for the option or NULL.
};
~~~
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to the *curl_easyoption* struct for the next option or NULL if
When such a paused stream is unpaused again, any buffered data is delivered
first.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
transfer is paused. This means that if a window size of 64 MB is used, libcurl
might end up having to cache 64 MB of data.
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK (zero) means that the option was set properly, and a non-zero return
While the **easy_handle** is added to a multi handle, it cannot be used by
curl_easy_perform(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK (0) means everything was OK, non-zero means an error occurred as
curl_easy_recv(3) may return **CURLE_AGAIN** if the only data that was
read was for internal SSL processing, and no other data is available.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
On success, returns **CURLE_OK**, stores the received data into
connections, the Session ID cache, the DNS cache, the cookies, the shares or
the alt-svc cache.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Nothing
curl_easy_send(3) may return **CURLE_AGAIN** if the only data that was sent
was for internal SSL processing, and no other data could be sent.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
On success, returns **CURLE_OK** and stores the number of bytes actually
OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
*CURLE_OK* (zero) means that the option was set properly, non-zero means an
Typically applications also appreciate CURLOPT_ERRORBUFFER(3) for more
specific error descriptions generated at runtime.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string.
You must curl_free(3) the returned string when you are done with it.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string or NULL if it failed.
The connection upkeep interval is set with
CURLOPT_UPKEEP_INTERVAL_MS(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
On success, returns **CURLE_OK**.
You must curl_free(3) the returned string when you are done with it.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Since 7.15.4, curl_easy_escape(3) should be used. This function might be
removed in a future release.
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string or NULL if it failed.
See example below.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
chunked encoding transfer. Backslashes and double quotes in field and
filenames are now escaped before transmission.
+# %AVAILABILITY%
+
# RETURN VALUE
0 means everything was OK, non-zero means an error occurred corresponding to a
Passing in a NULL pointer in *form* makes this function return immediately
with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated in 7.56.0.
+# %AVAILABILITY%
+
# RETURN VALUE
None
curl_formget(3) from working until you have performed the actual HTTP request.
This, because first then does libcurl known which actual read callback to use!
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
0 means everything was OK, non-zero means an error occurred
Passing in a NULL pointer in *ptr* makes this function return immediately
with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
None
year, MM as the month number and DD as the day of the month, for the specified
calendar date.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
These formats are the only ones RFC 7231 says HTTP applications may use.
+# %AVAILABILITY%
+
# RETURN VALUE
This function returns -1 when it fails to parse the date string. Otherwise it
You must curl_free(3) the returned string when you are done with it.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string or NULL if it failed to find the
some rare circumstances a memory leak could occur unless you implement your own
OpenSSL thread cleanup. Refer to libcurl-thread(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
None
connecting or when waiting for data. Otherwise, curl waits until full timeout
elapses. (Added in 7.30.0)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns non-zero, something went wrong and you cannot use the
Manipulating these gives considerable powers to the application to severely
screw things up for libcurl. Take care!
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK (0) means everything was OK, non-zero means an error occurred as
} curl_sslbackend;
~~~
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns *CURLSSLSET_OK*, the backend was successfully
Traces writing of download data, received from the server, to the application.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
...
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns non-zero, something went wrong and the configuration
*mime* is the handle of the mime structure in which the new part must be
appended.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A mime part structure handle, or NULL upon failure.
Setting large data is memory consuming: one might consider using
curl_mime_data_cb(3) in such a case.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
particular, special attention should be given to the *freefunc* procedure
code since it then gets called twice with the same argument.
+# %PROTOCOLS%
+
# EXAMPLE
Sending a huge data string causes the same amount of memory to be allocated:
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
a part with content set with curl_mime_subparts(3) is strongly
discouraged.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
Setting a part's contents multiple times is valid: only the value set by the
last call is retained.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure. CURLE_READ_ERROR is only an
storage may safely be released or reused after call. Setting a part's file
name multiple times is valid: only the value set by the last call is retained.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
Passing in a NULL pointer in *mime* makes this function return immediately
with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
None
Setting a part's custom headers list multiple times is valid: only the value
set by the last call is retained.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
Using a mime handle is the recommended way to post an HTTP form, format and
send a multi-part email with SMTP or upload such an email to an IMAP server.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A mime struct handle, or NULL upon failure.
is valid: only the value set by the last call is retained. It is possible to
reset the name of a part by setting *name* to NULL.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
last call is retained. It is possible to unassign previous part's contents by
setting *subparts* to NULL.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
- text/plain in other cases.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or a CURL error code upon failure.
A '%' symbol is written. No argument is converted.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
The **curl_maprintf** and **curl_mvaprintf** functions return a pointer to
3 - curl_multi_cleanup(3)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code.
It is acceptable to call this function from your multi callback functions.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
particular data so that when we get updates about this same socket again, we
do not have to find the struct associated with this socket by ourselves.
+# %AVAILABILITY%
+
# RETURN VALUE
The standard CURLMcode for multi interface error codes.
Passing in a NULL pointer in *multi_handle* makes this function return
CURLM_BAD_HANDLE immediately with no other action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code. On success,
save you from the crash, but makes your program NOT wait for sockets it should
wait for...
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
**CURLMcode** type, general libcurl multi interface error code. See
The returned array must be freed with a call to curl_free(3) after use.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns NULL on failure. Otherwise it returns a pointer to an allocated array.
At this point, there are no other **msg** types defined.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a filled-in struct, or NULL if it failed or ran out of
places in the documentation. This init call MUST have a corresponding call to
curl_multi_cleanup(3) when the operation is complete.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns NULL, something went wrong and you cannot use the
again on the same multi handle after an error has been returned, unless first
removing all the handles and adding new ones.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code.
Bit flag to curl_waitfd.events indicating the socket should poll on write
events such as the socket being clear to write without blocking.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code. See
multi handle, ready to get reused for a future transfer using this multi
handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code.
Callback to receive timeout values. See CURLMOPT_TIMERFUNCTION(3)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
The standard CURLMcode for multi interface error codes. Note that it returns a
Usage of curl_multi_socket(3) is deprecated, whereas the function is
equivalent to curl_multi_socket_action(3) with **ev_bitmask** set to 0.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
curl_multi_socket(3) is deprecated, use curl_multi_socket_action(3) instead!
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code.
socket(s) that got action. If no activity is detected and the timeout expires,
call curl_multi_socket_action(3) with *CURL_SOCKET_TIMEOUT*.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code. See
just a single one by calling curl_multi_socket_all(3). Note that there should
not be any reason to use this function.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code.
This function returns a string describing the *CURLMcode* error code
passed in the argument *errornum*.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string.
currently has no stored timeout value. You must not wait too long (more than a
few seconds perhaps) before you call curl_multi_perform(3) again.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
When there is activity or timeout, call curl_multi_perform(3) and then
loop - until all transfers are complete.
+# %AVAILABILITY%
+
# RETURN VALUE
The standard CURLMcode for multi interface error codes.
Bit flag to *curl_waitfd.events* indicating the socket should poll on
write events such as the socket being clear to write without blocking.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code. See
descriptors and allocate appropriate storage for them to be used in a
subsequent function call.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
**CURLMcode** type, general libcurl multi interface error code. See
This function has no effect on curl_multi_wait(3) calls.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLMcode type, general libcurl multi interface error code.
data this function points to is freed when this callback returns. If more than
one header field use the same name, this returns only the first one.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns a pointer to the header field content or NULL.
libcurl when this callback returns. The returned pointer points to a
"name:value" string that gets freed when this callback returns.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns a pointer to the header field content or NULL.
Passing in a NULL pointer in *share_handle* makes this function return
immediately with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
CURLOPT_SHARE(3) option with curl_easy_setopt(3), to make that
specific curl handle use the data in this share.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
If this function returns NULL, something went wrong (out of memory, etc.)
See CURLSHOPT_USERDATA(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
The curl_share_strerror(3) function returns a string describing the
*CURLSHcode* error code passed in the argument *errornum*.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string.
The list should be freed again (after usage) with
curl_slist_free_all(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A null pointer is returned if anything went wrong, otherwise the new list
Passing in a NULL pointer in *list* makes this function return immediately
with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Nothing.
in a truly portable manner. There are no standard portable case insensitive
string comparison functions. This function works on all platforms.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Non-zero if the strings are identical. Zero if they are not.
in a truly portable manner. There are no standard portable case insensitive
string comparison functions. This function works on all platforms.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Non-zero if the strings are identical. Zero if they are not.
You must curl_free(3) the returned string when you are done with it.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Since 7.15.4, curl_easy_unescape(3) should be used. This function might
be removed in a future release.
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string or NULL if it failed.
stored. They are then set in the object with the curl_url_set(3)
function.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns a **CURLU *** if successful, or NULL if out of memory.
Passing in a NULL pointer in *handle* makes this function return
immediately with no action.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
none
returns a pointer to the copy as a new *CURLU* handle. The new handle also
needs to be freed with curl_url_cleanup(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns a new handle or NULL if out of memory.
A zero-length fragment returns *part* as NULL unless CURLU_GET_EMPTY is set.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns a CURLUcode error value, which is CURLUE_OK (0) if everything went
**CURLUPART_URL**, and instead returns **CURLUE_USER_NOT_ALLOWED** for
such URLs.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns a *CURLUcode* error value, which is CURLUE_OK (0) if everything
This function returns a string describing the CURLUcode error code passed in
the argument *errornum*.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string.
We recommend using curl_version_info(3) instead!
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a null-terminated string. The string resides in a statically
supports Kerberos V4 (when using FTP). Legacy bit. Deprecated since 7.33.0.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
A pointer to a curl_version_info_data struct.
This as an incoming ping message, that expects a pong response.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This function returns a pointer to a *curl_ws_frame* struct with read-only
that contains information about the received data. See the
curl_ws_meta(3) for details on that struct.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns **CURLE_OK** if everything is okay, and a non-zero number for
expected fragment size in the first call and it needs to be zero in subsequent
calls.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
*CURLE_OK* (zero) means that the data was sent properly, non-zero means an
CURLINFO_ACTIVESOCKET(3) was added as a replacement for
CURLINFO_LASTSOCKET(3) since that one is not working on all platforms.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The **path** pointer is set to NULL if there is no default path.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The **path** pointer is set to NULL if there is no default path.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
"Subject:Foo", "Issuer:Bar", etc. The items in each list varies depending on
the SSL backend and the certificate.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
See also the *certinfo.c* example.
-# NOTES
+# HISTORY
GnuTLS support added in 7.42.0. Schannel support added in 7.50.0. Secure
Transport support added in 7.79.0. mbedTLS support added in 8.9.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
the server responded with a 304 HTTP status code, for example after sending a
custom "If-Match-*" header.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
connection cache. This is implicitly the case for all connections in the
same multi handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.55.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
download. This is the value read from the Content-Length: field. Stores -1 if
the size is not known.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLINFO_CONTENT_LENGTH_UPLOAD_T(3) is a newer replacement that returns a
more sensible variable type.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.55.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a *curl_off_t* to receive the specified size of the
upload. Stores -1 if the size is not known.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The modern way to get this header from a response is to instead use the
curl_easy_header(3) function.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Since 7.43.0 cookies that were imported in the Set-Cookie format without a
domain name are not exported by this option.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
free - it gets freed when you call curl_easy_cleanup(3) on the
corresponding CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
- it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Consider CURLINFO_FILETIME_T(3) instead to be able to extract dates beyond the
year 2038 on systems using 32-bit longs (Windows).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
This option is an alternative to CURLINFO_FILETIME(3) to allow systems with 32
bit long variables to extract dates outside of the 32-bit timestamp range.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
- it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
Works for SFTP since 7.21.4
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The total includes the size of any received headers suppressed by
CURLOPT_SUPPRESS_CONNECT_HEADERS(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
method(s) available according to the previous response. The meaning of the
bits is explained in the CURLOPT_HTTPAUTH(3) option for curl_easy_setopt(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
to a CONNECT request. The returned value is zero if no such response code was
available.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1, CURL_HTTP_VERSION_2_0,
CURL_HTTP_VERSION_3 or 0 if the version cannot be determined.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
type is 64 bits large while its 'long' is 32 bits. Use the
CURLINFO_ACTIVESOCKET(3) instead, if possible.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a long to receive the local port number of the most recent
connection done with this **curl** handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
connection options of curl_easy_setopt(3) to see how libcurl tries to make
persistent connections to save time.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
transfer. Prior versions did not clear the saved errno, which means if a saved
errno is retrieved it could be from a previous transfer on the same handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
the proxy, if no proxy was used it is the port number of the most recently
accessed URL.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Please note that for internal reasons, the value is returned as a char
pointer, although effectively being a 'void *'.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLPROTO_SMTPS, CURLPROTO_TELNET, CURLPROTO_TFTP, CURLPROTO_MQTT
~~~
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.85.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
method(s) available according to the previous response. The meaning of the
bits is explained in the CURLOPT_PROXYAUTH(3) option for curl_easy_setopt(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The error code is zero (**CURLPX_OK**) if no response code was available.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0 is a positive result. Non-zero is an error.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a long to receive the total number of redirections that were
actually followed.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
This URL is also set if the CURLOPT_MAXREDIRS(3) limit prevented a redirect to
happen (since 7.54.1).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
requests. This is so far only for HTTP requests. Note that this may be more
than one request if CURLOPT_FOLLOWLOCATION(3) is enabled.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Note that a proxy's CONNECT response should be read with
CURLINFO_HTTP_CONNECTCODE(3) and not this.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
The former name, CURLINFO_HTTP_CODE, was added in 7.4.1. Support for SMTP
responses added in 7.25.0, for OpenLDAP in 7.81.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-Returns zero delay if there was no header.
+Zero if there was no header.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a long to receive the next CSeq that is expected to be used
by the application.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this
value.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Applications wishing to resume an RTSP session on another connection should
retrieve this info before closing the active connection.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The returned scheme might be upper or lowercase. Do comparisons case
insensitively.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLINFO_SIZE_DOWNLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.55.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
again for each new transfer. This counts actual payload data, what's also
commonly called body. All meta and header data is excluded from this amount.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLINFO_SIZE_UPLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.55.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a *curl_off_t* to receive the total amount of bytes that
were uploaded.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLINFO_SPEED_DOWNLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.55.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a *curl_off_t* to receive the average download speed
that curl measured for the complete download. Measured in bytes/second.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLINFO_SPEED_UPLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.55.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a *curl_off_t* to receive the average upload speed that
curl measured for the complete upload. Measured in bytes/second.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
on the list pointer once you are done with it, as libcurl does not free this
data for you.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0 is a positive result. Non-zero is an error.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
with older versions of libcurl use CURLINFO_TLS_SSL_PTR(3). Refer to
that document for more information.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.48.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Please let us know by making a comment at
https://github.com/curl/curl/issues/685
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
This option supersedes CURLINFO_TLS_SESSION(3) which was added in 7.34.0.
This option is exactly the same as that option except in the case of OpenSSL.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See also the TIMES overview in the curl_easy_getinfo(3) man page.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Pass a pointer to a long. It gets set to zero set if no proxy was used in the
previous transfer or a non-zero value if a proxy was used.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
connection cache. This is implicitly the case for all transfers in the
same multi handle.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-The default value is 0, which means that the penalization is inactive.
+0, which means that penalization is inactive.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
# DEFAULT
-The default value is 0, which means that the size penalization is inactive.
+0, which means that the size penalization is inactive.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
See DESCRIPTION
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
100
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
5
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
# DEFAULT
-The default value is 0, which means that there is no limit. It is then simply
-controlled by the number of easy handles added.
+0, which means that there is no limit. It is then simply controlled by the
+number of easy handles added.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
# DEFAULT
-Since 7.62.0, **CURLPIPE_MULTIPLEX** is enabled by default.
+**CURLPIPE_MULTIPLEX**
-Before that, default was **CURLPIPE_NOTHING**.
+# %PROTOCOLS%
# EXAMPLE
}
~~~
-# NOTES
+# HISTORY
The multiplex support bit was added in 7.43.0. HTTP/1 Pipelining support was
disabled in 7.62.0.
+Since 7.62.0, **CURLPIPE_MULTIPLEX** is enabled by default.
+
+Before that, default was **CURLPIPE_NOTHING**.
+
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
# DEFAULT
-The default value is NULL, which means that there is no block list.
+NULL, which means that there is no block list.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
# DEFAULT
-The default value is NULL, which means that there is no block list.
+NULL, which means that there is no block list.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
NULL, no callback
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK.
NULL (no callback)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
# DEFAULT
-Default is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
60000 milliseconds
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
The application does not have to keep the string around after setting this
option.
-# NOTES
+# HISTORY
This option was called CURLOPT_ENCODING before 7.21.6
+# NOTES
+
The specific libcurl you are using must have been built with zlib to be able to
decompress gzip and deflate responses, with the brotli library to
decompress brotli responses and with the zstd library to decompress zstd
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL. The alt-svc cache is not read nor written to file.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Integer priority value (not currently used)
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
exists an existing connection to the host in the connection pool, then that is
preferred.
+If CURLOPT_ALTSVC(3) is set, CURLOPT_ALTSVC_CTRL(3) gets a default value
+corresponding to CURLALTSVC_H1 | CURLALTSVC_H2 | CURLALTSVC_H3 - the HTTP/2
+and HTTP/3 bits are only set if libcurl was built with support for those
+versions.
+
Setting any bit enables the alt-svc engine.
## CURLALTSVC_READONLYFILE
# DEFAULT
-Alt-Svc handling is disabled by default. If CURLOPT_ALTSVC(3) is set,
-CURLOPT_ALTSVC_CTRL(3) has a default value corresponding to
-CURLALTSVC_H1 | CURLALTSVC_H2 | CURLALTSVC_H3 - the HTTP/2 and HTTP/3 bits are
-only set if libcurl was built with support for those versions.
+0 - Alt-Svc handling is disabled
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0 (disabled)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option was known as CURLOPT_FTPAPPEND up to 7.16.4
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
If you use just "test", instead of "test:try", test is used for every
generated string.
+Setting CURLOPT_HTTPAUTH(3) with the CURLAUTH_AWS_SIGV4 bit set is the same as
+setting this option with a **"aws:amz"** parameter.
+
# DEFAULT
-By default, the value of this parameter is NULL.
-Calling CURLOPT_HTTPAUTH(3) with CURLAUTH_AWS_SIGV4 is the same
-as calling this with **"aws:amz"** in parameter.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
not already present. For s3 requests with unknown payload, this header takes
the special value "UNSIGNED-PAYLOAD".
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURL_MAX_WRITE_SIZE (16kB)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Built-in system specific. When curl is built with Secure Transport or
Schannel, this option is not set by default.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
Schannel support added in libcurl 7.60.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
This option is supported by the BearSSL (since 7.79.0), mbedTLS (since
7.81.0), rustls (since 7.82.0), wolfSSL (since 8.2.0), OpenSSL, Secure
Transport and Schannel backends.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
# DEFAULT
-A default path detected at build time.
+A path detected at build time.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK if supported; or an error such as:
86400 (24 hours)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
This option is supported by OpenSSL and its forks (since 7.87.0), Schannel
(since 8.5.0), wolfSSL (since 8.9.0) and GnuTLS (since 8.9.0).
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
Schannel support added in 7.50.0. Secure Transport support added in 7.79.0.
mbedTLS support added in 8.9.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-The default value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-By default libcurl uses the standard socket close function.
+Use the standard socket close function.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
300
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK. Returns CURLE_BAD_FUNCTION_ARGUMENT if set to a negative
300000
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
WS and WSS support added in 7.86.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Available only if **CURL_DOES_CONVERSIONS** was defined when libcurl was
built.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Available only if **CURL_DOES_CONVERSIONS** was defined when libcurl was
built.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Available only if **CURL_DOES_CONVERSIONS** was defined when libcurl was
built.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL, no cookies
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is enabled, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
The cookie file format and general cookie concepts in curl are described
online here: https://curl.se/docs/http-cookies.html
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
The cookie file format and general cookie concepts in curl are described
online here: https://curl.se/docs/http-cookies.html
-# NOTES
+# HISTORY
**ALL** was added in 7.14.1
**RELOAD** was added in 7.39.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
# DEFAULT
-The default value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL (make a guess based on the host)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK if the option is supported.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option was known as CURLOPT_FTPLISTONLY up to 7.16.4. POP3 is supported
since 7.21.5.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-0 (disabled) - usernames are allowed by default.
+0 (disabled)
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
60
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option requires that libcurl was built with a resolver backend that
supports this operation. The c-ares backend is the only such one.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option requires that libcurl was built with a resolver backend that
supports this operation. The c-ares backend is the only such one.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option requires that libcurl was built with a resolver backend that
supports this operation. The c-ares backend is the only such one.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
# DEFAULT
-NULL - use system default
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
This option requires that libcurl was built with a resolver backend that
supports this operation. The c-ares backend is the only such one.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not,
0 (disabled)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.11.1. Functionality removed in 7.62.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
2
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if OCSP stapling is supported by the SSL backend, otherwise
# DEFAULT
-NULL - there is no default DoH URL. If this option is not set, libcurl uses
-the default name resolver.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient
NULL, meaning ECH is disabled.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
curl_easy_perform(curl);
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient
This option was deprecated in 7.84.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
1000 milliseconds
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, do not fail on error
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL == an internal function for wildcard matching.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
CURLFTPAUTH_DEFAULT
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
CURLFTP_CREATE_DIR_NONE (0)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the
CURLFTPMETHOD_MULTICWD
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1 since 7.74.0, was 0 before then.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLFTPSSL_CCC_NONE
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLGSSAPI_DELEGATION_NONE
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURL_HET_DEFAULT (currently defined as 200L)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0, do not send any HAProxy PROXY protocol header
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
NULL, no HAProxy header is sent
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
Nothing.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
CURLHEADER_SEPARATE (changed in 7.42.1, used CURLHEADER_UNIFIED before then)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL, no filename
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
NULL - no callback.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
NULL - no callback.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
# DEFAULT
-0. HSTS is disabled by default.
+0
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-curl allowed HTTP/0.9 responses by default before 7.66.0
+0
-Since 7.66.0, libcurl requires this option set to 1L to allow HTTP/0.9
-responses.
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# HISTORY
+
+curl allowed HTTP/0.9 responses by default before 7.66.0
+
+Since 7.66.0, libcurl requires this option set to 1L to allow HTTP/0.9
+responses.
+
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
CURLAUTH_BASIC
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
CURLAUTH_DIGEST_IE was added in 7.19.3
CURLAUTH_AWS_SIGV4 was added in 7.74.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
Use for MIME mail added in 7.56.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated in 7.56.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Before that: CURL_HTTP_VERSION_1_1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# HISTORY
+
+Support for FTP added in 7.46.0.
+
# NOTES
-Support for FTP added in 7.46.0. This option is not working for HTTP when
-libcurl is built to use the hyper backend.
+This option is not working for HTTP when libcurl is built to use the hyper
+backend.
+
+# %AVAILABILITY%
# RETURN VALUE
Unset
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
SMTP support added in 7.23.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Unset
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
SMTP support added in 7.23.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL, use whatever the TCP stack finds suitable
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
The `if!` and `host!` syntax was added in 7.24.0.
The `ifhost!` syntax was added in 8.9.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK on success or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL, the interleave data is then passed to the regular write function:
CURLOPT_WRITEFUNCTION(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-By default, the value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
Deprecated since 7.18.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-By default, this parameter is set to NULL. Not used.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
Deprecated since 7.18.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURL_IPRESOLVE_WHATEVER
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0, stop sending on error
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
This option was known as CURLOPT_SSLKEYPASSWD up to 7.16.4 and
CURLOPT_SSLCERTPASSWD up to 7.9.2.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
This option was known as CURLOPT_KRB4LEVEL up to 7.16.3
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0, disabled - use whatever the system thinks is fine
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
Support for OpenLDAP added in 7.82.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option was called CURLOPT_MAIL_RCPT_ALLLOWFAILS (with three instead of
two letter L) before 8.2.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-Default maximum age is set to 118 seconds.
+118 seconds
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
5
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0, meaning disabled.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the size passed is valid or CURLE_BAD_FUNCTION_ARGUMENT if
0, meaning disabled.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
# DEFAULT
-Default *maxlifetime* is 0 seconds (i.e., disabled).
+0 seconds (i.e., disabled)
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
30 (since 8.3.0), it was previously unlimited.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
type for HTTP to the default to disable the POST. Typically that would mean it
is reset to GET. Instead you should set a desired request method explicitly.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
0, meaning disabled.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
CURL_NETRC_IGNORED
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0755
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0644
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, the body is transferred
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
1, meaning it normally runs without a progress meter.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-The default value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-The default behavior is the equivalent of this:
+The equivalent of this:
~~~c
return socket(addr->family, addr->socktype, addr->protocol);
~~~
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
-----END PUBLIC KEY-----
~~~
-# NOTES
+# HISTORY
## PEM/DER support
Other SSL backends not supported.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
0 (off)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-By default this is 0 which makes it not used. This also makes port number zero
-impossible to set with this API.
+0 which makes it not used. This also makes port number zero impossible to set
+with this API.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
-1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
-1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option was known as CURLOPT_POST301 up to 7.19.0 as it only supported the
301 then. CURL_REDIR_POST_303 was added in 7.26.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-By default, this is NULL and unused.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Setting the pre proxy string to "" (an empty string) explicitly disables the
use of a pre proxy.
+When you set a hostname to use, do not assume that there is any particular
+single port number used widely for proxies. Specify it.
+
The application does not have to keep the string around after setting this
option.
# DEFAULT
-Default is NULL, meaning no pre proxy is used.
+NULL
-When you set a hostname to use, do not assume that there is any particular
-single port number used widely for proxies. Specify it!
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-The default value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
# DEFAULT
-By default, libcurl has an internal progress meter. That is rarely wanted by
-users.
+NULL. libcurl has an internal progress meter. That is rarely wanted by users.
+
+# %PROTOCOLS%
# EXAMPLE
Deprecated since 7.32.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
All protocols built-in.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.85.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
All protocols built-in
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_UNKNOWN_OPTION if the option is not implemented,
Unix domain sockets are supported for socks proxies since 7.84.0. Set
localhost for the host part. e.g. socks5h://localhost/path/to/socket.sock
+When you set a hostname to use, do not assume that there is any particular
+single port number used widely for proxies. Specify it.
+
When a proxy is used, the active FTP mode as set with *CUROPT_FTPPORT(3)*,
cannot be used.
# DEFAULT
-Default is NULL, meaning no proxy is used.
+NULL
-When you set a hostname to use, do not assume that there is any particular
-single port number used widely for proxies. Specify it!
+# %PROTOCOLS%
# EXAMPLE
}
~~~
-# NOTES
+# HISTORY
Since 7.14.1 the proxy environment variable names can include the protocol
scheme.
Since 7.50.2, unsupported schemes in proxy strings cause libcurl to return
error.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
CURLAUTH_BASIC
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
We discourage use of this option.
Pass a long with this option to set the proxy port to connect to unless it is
-specified in the proxy string CURLOPT_PROXY(3) or uses 443 for https
-proxies and 1080 for all others as default.
+specified in the proxy string CURLOPT_PROXY(3) or uses 443 for https proxies
+and 1080 for all others as default.
+
+Disabling this option, setting it to zero, makes it not specified which makes
+libcurl use the default proxy port number or the port number specified in the
+proxy URL string.
While this accepts a 'long', the port number is 16 bit so it cannot be larger
than 65535.
# DEFAULT
-0, not specified which makes it use the default port
+0
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
CURLPROXY_HTTP
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
# DEFAULT
-This is NULL by default.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
Built-in system specific
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
CURLOPT_PROXY_CAINFO(3) option is ignored. Refer to
https://curl.se/docs/ssl-compared.html
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK if supported; or an error such as:
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
-----END PUBLIC KEY-----
~~~
-# NOTES
+# HISTORY
PEM/DER support:
Other SSL backends not supported.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
See above
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
"PEM"
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
The application does not have to keep the string around after setting this
option.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
CURL_SSLVERSION_DEFAULT
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-NULL, use internal default
+NULL, use internal built-in list.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
2
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not.
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-NULL, use internal default
+NULL, use internal built-in list
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.12.1.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
SFTP support added in 7.16.3. *-prefix for SFTP added in 7.24.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
Deprecated since 7.84.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
FILE since 7.18.0, RTSP since 7.20.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK on success or
# DEFAULT
-By default, this is a FILE * to stdin.
+stdin
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
-# NOTES
+# HISTORY
This option was once known by the older name CURLOPT_INFILE, the name
CURLOPT_READDATA(3) was introduced in 7.9.7.
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
# DEFAULT
-The default internal read callback is fread().
+fread(3)
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
-# NOTES
+# HISTORY
CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT
was added in 7.12.1.
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
Older versions defaulted to all protocols except FILE, SCP and since 7.40.0
SMB and SMBS.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.85.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
Older versions defaulted to all protocols except FILE, SCP and since 7.40.0
SMB and SMBS.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_UNKNOWN_OPTION if the option is not implemented,
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP support is enabled, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
Added in 7.21.3. Removal support added in 7.42.0.
Support for adding non-permanent entries by using the "+" prefix was added in
7.75.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL (No callback)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0, not used
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0, not used
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
"*"
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
If you do not set this, NULL is passed to the callback.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
# DEFAULT
-By default, this is NULL and unused.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
None
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if supported, and CURLE_UNKNOWN_OPTION if not. Returns
None
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if supported, and CURLE_UNKNOWN_OPTION if not. Returns
See above
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
# DEFAULT
-The default value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns *CURLE_OK* if the option is supported, and *CURLE_UNKNOWN_OPTION* if not.
# DEFAULT
-By default, this callback is NULL and unused.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURLAUTH_BASIC|CURLAUTH_GSSAPI
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
?
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
See above
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.49.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
CURLSSH_AUTH_ANY (all available)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Works only with the libssh2 backend.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Work only with the libssh2 backend.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Requires the libssh2 backend.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
As explained above
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
-# NOTES
+# HISTORY
The "" trick was added in 7.26.0
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
"PEM"
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK - Engine found.
None
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK - Engine set as default.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
"PEM"
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
CURL_SSLVERSION_DEFAULT
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
SSLv3 is disabled by default since 7.39.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-NULL, use internal default
+NULL, use built-in list
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
-# NOTES
+# HISTORY
Added in 7.9, in 7.83.0 for BearSSL, in 8.8.0 for mbedTLS
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Added in 7.11.0 for OpenSSL, in 7.42.0 for wolfSSL, in 7.54.0 for mbedTLS,
in 7.83.0 in BearSSL.
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK if supported; or an error such as:
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK if supported; or an error such as:
"", embedded in SSL backend
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1, enabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1, enabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Deprecated since 7.86.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if false start is supported by the SSL backend, otherwise
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
2
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not.
1 - enabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if OCSP stapling is supported by the SSL backend, otherwise
stderr
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-If nothing is set, the HTTP/2 protocol itself uses its own default which is
-16.
+16
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
This option is only supported on Linux and macOS 10.11 or later.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if fast open is supported by the operating system, otherwise
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
9
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
60
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
60
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
1
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
The default was changed to 1 from 0 in 7.50.2.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if TELNET is supported, and CURLE_UNKNOWN_OPTION if not.
512
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
CURL_TIMECOND_NONE (0)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
# DEFAULT
-Default timeout is 0 (zero) which means it never times out during transfer.
+0 (zero) which means it never times out during transfer.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK. Returns CURLE_BAD_FUNCTION_ARGUMENT if set to a negative
# DEFAULT
-Default timeout is 0 (zero) which means it never times out during transfer.
+0 (zero) which means it never times out during transfer.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
# DEFAULT
-NULL, use internal default
+NULL, use internal built-in
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
-# NOTES
+# HISTORY
Added in 7.61.0 for OpenSSL. Available when built with OpenSSL \>= 1.1.1.
Added in 7.85.0 for Schannel.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
static int trailer_cb(struct curl_slist **tr, void *data)
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
0, disabled
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-Default is NULL, meaning that no Unix domain sockets are used.
+NULL - no Unix domain sockets are used.
+
+# %PROTOCOLS%
# EXAMPLE
/* Be sure to keep dirfd valid until you discard the handle */
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
CURL_UPKEEP_INTERVAL_DEFAULT (currently defined as 60000L, which is 60 seconds)
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
# DESCRIPTION
The long parameter *upload* set to 1 tells the library to prepare for and
-perform an upload. The CURLOPT_READDATA(3) and
-CURLOPT_INFILESIZE(3) or CURLOPT_INFILESIZE_LARGE(3) options are
-also interesting for uploads. If the protocol is HTTP, uploading means using
-the PUT request unless you tell libcurl otherwise.
+perform an upload. The CURLOPT_READDATA(3) and CURLOPT_INFILESIZE(3) or
+CURLOPT_INFILESIZE_LARGE(3) options are also interesting for uploads. If the
+protocol is HTTP, uploading means using the PUT request unless you tell
+libcurl otherwise.
Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
You can disable this header with CURLOPT_HTTPHEADER(3) as usual.
If you use PUT to an HTTP 1.1 server, you can upload data without knowing the
size before starting the transfer. The library enables this by adding a header
-"Transfer-Encoding: chunked". With HTTP 1.0 or if you prefer not to use chunked
-transfer, you must specify the size of the data with
+"Transfer-Encoding: chunked". With HTTP 1.0 or if you prefer not to use
+chunked transfer, you must specify the size of the data with
CURLOPT_INFILESIZE(3) or CURLOPT_INFILESIZE_LARGE(3).
# DEFAULT
-0, default is download
+0
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
65536 bytes
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-There is no default URL. If this option is not set, no transfer can be
-performed.
+NULL. If this option is not set, no transfer can be performed.
# SECURITY CONCERNS
(possibly to other protocols too). Consider your
CURLOPT_FOLLOWLOCATION(3) and CURLOPT_REDIR_PROTOCOLS_STR(3) settings.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient
# DEFAULT
-NULL, no User-Agent: header is used by default.
+NULL, no User-Agent: header is used.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or
blank
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK on success or
CURLUSESSL_NONE
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
known as CURLFTPSSL_* Handled by LDAP since 7.81.0. Fully supported by the
OpenLDAP backend only.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
0, meaning disabled.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
ftp://example.com/some/path/[a-z[:upper:]\\].jpg
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-By default, this is a FILE * to stdout.
+stdout
+
+# %PROTOCOLS%
# EXAMPLE
This option was formerly known as CURLOPT_FILE, the name CURLOPT_WRITEDATA(3)
was added in 7.9.7.
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
# DEFAULT
-libcurl uses 'fwrite' as a callback by default.
+fwrite(3)
+
+# %PROTOCOLS%
# EXAMPLE
Support for the CURL_WRITEFUNC_PAUSE return code was added in version 7.18.0.
+# %AVAILABILITY%
+
# RETURN VALUE
This returns CURLE_OK.
0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
# DEFAULT
-The default value of this parameter is NULL.
+NULL
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK
# DEFAULT
-By default, libcurl has an internal progress meter. That is rarely wanted by
-users.
+NULL - use the internal progress meter. That is rarely wanted by users.
+
+# %PROTOCOLS%
# EXAMPLE
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK.
NULL
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
Support for OpenLDAP added in 7.82.0.
+# %AVAILABILITY%
+
# RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
*clientp* is the private pointer you set with CURLSHOPT_USERDATA(3).
This pointer is not used by libcurl itself.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
Added in 7.88.0
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
*clientp* is the private pointer you set with CURLSHOPT_USERDATA(3).
This pointer is not used by libcurl itself.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
The Public Suffix List is no longer shared.
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
the *clientp* argument to the callbacks set with
CURLSHOPT_LOCKFUNC(3) and CURLSHOPT_UNLOCKFUNC(3).
+# %PROTOCOLS%
+
# EXAMPLE
~~~c
}
~~~
+# %AVAILABILITY%
+
# RETURN VALUE
CURLSHE_OK (zero) means that the option was set properly, non-zero means an
push @o, ".SH PROTOCOLS\n";
if($p[0] eq "TLS") {
- push @o, "All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.";
+ push @o, "This functionality affects all TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.";
}
else {
my @s = sort @p;
+ push @o, "This functionality affects ";
for my $e (sort @s) {
- push @o, sprintf "%s$e",
- $comma ? (($e eq $s[-1]) ? " and " : ", "): "";
+ push @o, sprintf "%s%s",
+ $comma ? (($e eq $s[-1]) ? " and " : ", "): "",
+ lc($e);
$comma = 1;
}
+ if($#s == 0) {
+ if($s[0] eq "All") {
+ push @o, " supported protocols";
+ }
+ else {
+ push @o, " only";
+ }
+ }
}
push @o, "\n";
return @o;
elsif($word eq "AVAILABILITY") {
print STDERR "$f:$line:1:WARN: AVAILABILITY section in source file\n";
}
- elsif($word eq "EXAMPLE") {
- # insert the generated PROTOCOLS section before EXAMPLE
+ elsif($word eq "%PROTOCOLS%") {
+ # insert the generated PROTOCOLS section
push @desc, outprotocols(@proto);
if($proto[0] eq "TLS") {
push @desc, outtls(@tls);
}
+ $header = 1;
+ next;
}
- elsif($word eq "RETURN VALUE") {
+ elsif($word eq "%AVAILABILITY%") {
if($addedin ne "n/a") {
- # insert the generated AVAILABILITY section before RETURN VALUE
+ # insert the generated AVAILABILITY section
push @desc, ".SH AVAILABILITY\n";
push @desc, "Added in curl $addedin\n";
}
+ $header = 1;
+ next;
}
push @desc, ".SH $word\n";
$header = 1;