The macro "##" is ISO C, we assume pre-ISO C doesn't support it.
The macro "##" is ISO C, we assume pre-ISO C doesn't support it.
The following typedef's are signatures of malloc, free, realloc, strdup and calloc respectively. Function pointers of these types can be passed to the curl_global_init_mem() function to set user defined memory management callback routines.
if splitting of data transfer is enabled, this callback is called before download of an individual chunk started. Note that parameter "remains" works only for FTP wildcard downloading (for now), otherwise is not used
If splitting of data transfer is enabled this callback is called after download of an individual chunk finished. Note! After this callback was set then it have to be called FOR ALL chunks. Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC. This is the reason why we don't need "transfer_info" parameter in this callback and we are not interested in "remains" parameter too.
This prototype applies to all conversion callbacks
callback type for wildcard downloading pattern matching. If the string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc.
callback function for curl_formget() The void *arg pointer will be the one passed as second argument to curl_formget(). The character buffer passed to it must not be freed. Should return the buffer length passed to it as the argument "len" on success.
The following typedef's are signatures of malloc, free, realloc, strdup and calloc respectively. Function pointers of these types can be passed to the curl_global_init_mem() function to set user defined memory management callback routines.
The following typedef's are signatures of malloc, free, realloc, strdup and calloc respectively. Function pointers of these types can be passed to the curl_global_init_mem() function to set user defined memory management callback routines.
Name: curl_multi_timer_callback
Data type definition of curl_off_t.
The following typedef's are signatures of malloc, free, realloc, strdup and calloc respectively. Function pointers of these types can be passed to the curl_global_init_mem() function to set user defined memory management callback routines.
jdrewsen - Get socket alias from std.socket
actually an OpenSSL SSL_CTX
The following typedef's are signatures of malloc, free, realloc, strdup and calloc respectively. Function pointers of these types can be passed to the curl_global_init_mem() function to set user defined memory management callback routines.
tmp decl
the kind of data that is passed to information_callback
return codes for CURLOPT_CHUNK_BGN_FUNCTION
return codes for CURLOPT_CHUNK_END_FUNCTION
All possible error codes from all sorts of curl functions. Future versions may return other values, stay prepared.
enumeration of file types
return codes for FNMATCHFUNCTION
Use this for multipart formpost building
parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option
parameter for the CURLOPT_FTPSSLAUTH option
parameter for the CURLOPT_FTP_FILEMETHOD option
parameter for the CURLOPT_FTP_SSL_CCC option
These enums are for use with the CURLOPT_HTTP_VERSION option.
Below here follows defines for the CURLOPT_IPRESOLVE option. If a host name resolves addresses using more than one IP protocol version, this option might be handy to force libcurl to use a specific IP version.
this is the set of status codes pass in to the callback
this is the set of return values expected from the curl_sshkeycallback callback
points to a zero-terminated string encoded with base64 if len is zero, otherwise to the "raw" data
Different lock access types
Different data locks for a single share
These enums are for use with the CURLOPT_NETRC option.
Name: curl_multi_socket() and curl_multi_socket_all()
CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options
symbols to use with CURLOPT_POSTREDIR. CURL_REDIR_POST_301 and CURL_REDIR_POST_302 can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302 == CURL_REDIR_POST_ALL
Public API enums for RTSP requests
These are the return codes for the seek callbacks
seek whence...
pass in a user data pointer used in the lock/unlock callback functions
parameter for the CURLOPT_USE_SSL option
Structures for querying information about the curl library at runtime.
Name: curl_easy_duphandle()
Name: curl_easy_escape()
Name: curl_easy_getinfo()
Name: curl_easy_pause()
Name: curl_easy_recv()
Name: curl_easy_reset()
Name: curl_easy_send()
Name: curl_easy_strerror()
Name: curl_easy_unescape()
the previous version:
Name: curl_formadd()
Name: curl_formfree()
Name: curl_formget()
Name: curl_free()
Name: curl_getdate()
Name: curl_getenv()
Name: curl_global_cleanup()
Name: curl_global_init()
Name: curl_global_init_mem()
Name: curl_multi_add_handle()
Name: curl_multi_assign()
Name: curl_multi_cleanup()
Name: curl_multi_info_read()
Name: curl_multi_init()
Name: curl_multi_perform()
Name: curl_multi_remove_handle()
Name: curl_multi_setopt()
Name: curl_multi_timer_callback
Name: curl_multi_strerror()
Name: curl_multi_timeout()
Name: curl_share_strerror()
Name: curl_slist_append()
Name: curl_slist_free_all()
curl_strequal() and curl_strnequal() are subject for removal in a future libcurl, see lib/README.curlx for details
the previous version
Name: curl_version()
Name: curl_version_info()
CURLINFO_RESPONSE_CODE is the new name for the option previously known as CURLINFO_HTTP_CODE
just to make code nicer when using curl_multi_socket() you can now check for CURLM_CALL_MULTI_SOCKET too in the same style it works for curl_multi_perform() and CURLM_CALL_MULTI_PERFORM
long may be 32 or 64 bits, but we should never depend on anything else but 32
long may be 32 or 64 bits, but we should never depend on anything else but 32
three convenient "aliases" that follow the name scheme better
three convenient "aliases" that follow the name scheme better
The 'CURLVERSION_NOW' is the symbolic name meant to be used by basically all programs ever that want to get version information. It is meant to be a built-in version number for what kind of struct the caller expects. If the struct ever changes, we redefine the NOW to another enum from above.
The only reason to have a max limit for this is to avoid the risk of a bad server feeding libcurl with a never-ending header that will cause reallocs infinitely
Tests have proven that 20K is a very bad buffer size for uploads on Windows, while 16K for some odd reason performed a lot better. We do the ifndef check to allow this value to easier be changed at build time for those who feel adventurous. The practical minimum is about 400 bytes since libcurl uses a buffer of this size as a scratch area (unrelated to network send operations).
This is a magic return code for the write callback that, when returned, will signal libcurl to pause receiving on the current transfer.
upload file from buffer
upload file contents by using the regular read callback to get the data and pass the given pointer as custom pointer
specified content is a file name
upload file from pointer contents
contents is only stored pointer do not free in formfree
name is only stored pointer do not free in formfree
specified content is a file name
This is the global package copyright
This is the date and time when the full source package was created. The timestamp is not stored in git, as the timestamp is properly set in the tarballs by the maketgz script.
This is the version number of the libcurl package from which this header file origins:
The numeric version number is also available "in parts" by using these constants
This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will always follow this syntax:
The numeric version number is also available "in parts" by using these constants
If some of these fields is not NULL, it is a pointer to b_data.
info about the certificate chain, only for OpenSSL builds. Asked for with CURLOPT_CERTINFO / CURLINFO_CERTINFO
Content of this structure depends on information which is known and is achievable (e.g. by FTP LIST parsing). Please see the url_easy_setopt(3) man page for callbacks returning this structure -- some fields are mandatory, some others are optional. The FLAG field has special meaning.
structure to be used as parameter for CURLFORM_ARRAY
linked-list structure for the CURLOPT_QUOTE option (and other)
addrlen was a socklen_t type before 7.18.0 but it turned really ugly and painful on the systems that lack this type
Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
This software is licensed as described in the file COPYING, which you should have received as part of this distribution. The terms are also available at http://curl.haxx.se/docs/copyright.html.
You may opt to use, copy, modify, merge, publish, distribute and/or sell copies of the Software, and permit persons to whom the Software is furnished to do so, under the terms of the COPYING file.
This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.