.\" generated by cd2nroff 0.1 from curl_share_init.md .TH curl_share_init 3 "2024-07-29" libcurl .SH NAME curl_share_init \- create a share object .SH SYNOPSIS .nf #include CURLSH *curl_share_init(); .fi .SH DESCRIPTION This function returns a pointer to a \fICURLSH\fP 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 \fIcurl_share_cleanup(3)\fP when all operations using the share are complete. This \fIshare handle\fP is what you pass to curl using the \fICURLOPT_SHARE(3)\fP option with \fIcurl_easy_setopt(3)\fP, to make that specific curl handle use the data in this share. .SH PROTOCOLS This functionality affects all supported protocols .SH EXAMPLE .nf 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)); } .fi .SH AVAILABILITY Added in curl 7.10 .SH RETURN VALUE If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created. .SH SEE ALSO .BR curl_share_cleanup (3), .BR curl_share_setopt (3)