CURLMOPT_TIMERDATA(3) | Library Functions Manual | CURLMOPT_TIMERDATA(3) |
CURLMOPT_TIMERDATA - custom pointer to pass to timer callback
#include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer);
A data pointer to pass to the timer callback set with the CURLMOPT_TIMERFUNCTION(3) option.
This pointer is not touched by libcurl but is only be passed in to the timer callbacks's clientp argument.
NULL
All
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) { /* this is the new single timeout to wait for */ } else { /* delete the timeout, nothing to wait for now */ } } 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); }
Added in 7.16.0
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
CURLMOPT_SOCKETFUNCTION(3), CURLMOPT_TIMERFUNCTION(3)
March 12 2024 | libcurl |