c: Copyright (C) Daniel Stenberg, daniel@haxx.se, et al. SPDX-License-Identifier: curl Title: CURLSHOPT_USERDATA Section: 3 Source: libcurl See-also:
CURLSHOPT_USERDATA - pointer passed to the lock and unlock mutex callbacks
#include <curl/curl.h>
CURLSHcode curl_share_setopt(CURLSH *share, CURLSHOPT_USERDATA, void *clientp);
The clientp parameter is held verbatim by libcurl and is passed on as the clientp argument to the callbacks set with CURLSHOPT_LOCKFUNC(3) and CURLSHOPT_UNLOCKFUNC(3).
struct secrets {
void *custom;
};
int main(void)
{
CURLSHcode sh;
struct secrets private_stuff;
CURLSH *share = curl_share_init();
sh = curl_share_setopt(share, CURLSHOPT_USERDATA, &private_stuff);
if(sh)
printf("Error: %s\n", curl_share_strerror(sh));
}
CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred. See libcurl-errors(3) for the full list with descriptions.