mirror of
https://github.com/curl/curl.git
synced 2024-12-03 06:20:31 +08:00
e3fe020089
Remove the PROTOCOLS section from the source files completely and instead generate them based on the header data in the curldown files. It also generates TLS backend information for options marked for TLS as protocol. Closes #13175
1.2 KiB
1.2 KiB
c | SPDX-License-Identifier | Title | Section | Source | See-also | Protocol | |||
---|---|---|---|---|---|---|---|---|---|
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | curl | curl_share_init | 3 | libcurl |
|
|
NAME
curl_share_init - Create a shared object
SYNOPSIS
#include <curl/curl.h>
CURLSH *curl_share_init();
DESCRIPTION
This function returns a pointer to a CURLSH handle to be used as input to all the other share-functions, sometimes referred to as a share handle in some places in the documentation. This init call MUST have a corresponding call to curl_share_cleanup(3) when all operations using the share are complete.
This share handle is what you pass to curl using the CURLOPT_SHARE(3) option with curl_easy_setopt(3), to make that specific curl handle use the data in this share.
EXAMPLE
int main(void)
{
CURLSHcode sh;
CURLSH *share = curl_share_init();
sh = curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
if(sh)
printf("Error: %s\n", curl_share_strerror(sh));
}
AVAILABILITY
Added in 7.10
RETURN VALUE
If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created.