diff options
Diffstat (limited to 'docs/libcurl/curl_share_init.md')
-rw-r--r-- | docs/libcurl/curl_share_init.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/libcurl/curl_share_init.md b/docs/libcurl/curl_share_init.md new file mode 100644 index 000000000..553710727 --- /dev/null +++ b/docs/libcurl/curl_share_init.md @@ -0,0 +1,56 @@ +--- +c: Copyright (C) Daniel Stenberg, <daniel.se>, et al. +SPDX-License-Identifier: curl +Title: curl_share_init +Section: 3 +Source: libcurl +See-also: + - curl_share_cleanup (3) + - curl_share_setopt (3) +--- + +# NAME + +curl_share_init - Create a shared object + +# SYNOPSIS + +~~~c +#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 + +~~~c +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. |