Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLMOPT_TIMERDATA(3)	    Library Functions Manual	   CURLMOPT_TIMERDATA(3)

NAME
     CURLMOPT_TIMERDATA - custom pointer to pass to timer callback

SYNOPSIS
     #include <curl/curl.h>

     CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer);

DESCRIPTION
     A	data  pointer to pass to the timer callback set with the CURLMOPT_TIMER-
     FUNCTION(3) option.

     This pointer is not touched by libcurl but is only  be  passed  in  to  the
     timer callback's clientp argument.

DEFAULT
     NULL

PROTOCOLS
     This functionality affects all supported protocols

EXAMPLE
     struct priv {
       void *custom;
     };

     static int timerfunc(CURLM *multi, long timeout_ms, void *clientp)
     {
       struct priv *mydata = clientp;
       printf("our ptr: %p\n", mydata->custom);

       if(timeout_ms >= 0) {
	 /* this is the new single timeout to wait for */
       }
       else {
	 /* delete the timeout, nothing to wait for now */
       }
       return 0;
     }

     int main(void)
     {
       struct priv mydata;
       CURLM *multi = curl_multi_init();
       curl_multi_setopt(multi, CURLMOPT_TIMERFUNCTION, timerfunc);
       curl_multi_setopt(multi, CURLMOPT_TIMERDATA, &mydata);
     }

AVAILABILITY
     Added in curl 7.16.0

RETURN VALUE
     curl_multi_setopt(3) returns a CURLMcode indicating success or error.

     CURLM_OK (0) means everything was OK, non-zero means an error occurred, see
     libcurl-errors(3).

SEE ALSO
     CURLMOPT_SOCKETFUNCTION(3), CURLMOPT_TIMERFUNCTION(3)

libcurl 			   2026-06-11		   CURLMOPT_TIMERDATA(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLMOPT_TIMERDATA&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help