manpagez: man pages & more
man CURLMOPT_TIMERDATA(3)
Home | html | info | man
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_TIMERFUNCTION(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) {
          /* 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);
       }


AVAILABILITY

       Added in curl 7.16.0


RETURN VALUE

       curl_multi_setopt(3) returns a CURLcode indicating success or error.

       CURLE_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                           2025-02-08             CURLMOPT_TIMERDATA(3)

curl 8.12.0 - Generated Tue Feb 11 15:27:15 CST 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.