CURLSHOPT_USERDATA(3) Library Functions Manual CURLSHOPT_USERDATA(3)

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).

All

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));
}

Added in 7.10

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.

CURLSHOPT_LOCKFUNC(3), curl_share_cleanup(3), curl_share_init(3), curl_share_setopt(3)

March 12 2024 libcurl