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

       Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION
       if not.


SEE ALSO

       CURLMOPT_SOCKETFUNCTION(3), CURLMOPT_TIMERFUNCTION(3)

libcurl                           2024-08-05             CURLMOPT_TIMERDATA(3)

curl 8.9.1 - Generated Wed Aug 14 08:15:03 CDT 2024
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.