DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

CURLMOPT_TIMERDATA(3)





CURLMOPT_TIMERDATA(3curl_multi_setopt optionCURLMOPT_TIMERDATA(3)



NAME

     CURLMOPT_TIMERDATA - custom pointer to pass to  timer  call-
     back


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 will not be touched by libcurl but will only be
     passed in to the timer callbacks's userp argument.


DEFAULT

     NULL


PROTOCOLS

     All


EXAMPLE

     static gboolean timeout_cb(gpointer user_data)
     {
       int running;
       if(user_data) {
         g_free(user_data);
         curl_multi_setopt(curl_handle, CURLMOPT_TIMERDATA, NULL);
       }
       curl_multi_socket_action(multi, CURL_SOCKET_TIMEOUT, 0, &running);
       return G_SOURCE_REMOVE;
     }

     static int timerfunc(CURLM *multi, long timeout_ms, void *userp)
     {
       guint *id = userp;

       if(id)
         g_source_remove(*id);

       /* -1 means we should just delete our timer. */
       if(timeout_ms == -1) {
         g_free(id);
         id = NULL;
       }
       else {
         if(!id)
           id = g_new(guint, 1);
         *id = g_timeout_add(timeout_ms, timeout_cb, id);
       }
       curl_multi_setopt(multi, CURLMOPT_TIMERDATA, id);

libcurl 7.58.0      Last change: May 27, 2017                   1


CURLMOPT_TIMERDATA(3curl_multi_setopt optionCURLMOPT_TIMERDATA(3)


       return 0;
     }

     curl_multi_setopt(multi, CURLMOPT_TIMERFUNCTION, timerfunc);


AVAILABILITY

     Added in 7.16.0


RETURN VALUE

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


SEE ALSO

     CURLMOPT_TIMERFUNCTION(3), CURLMOPT_SOCKETFUNCTION(3),

libcurl 7.58.0      Last change: May 27, 2017                   2


Man(1) output converted with man2html