CURLMOPT_TIMERDATA(3)

CURLMOPT_TIMERDATA3

Custom pointer to pass to timer callback

Usage

#include <curl/curl.h>
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer);

Overview

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.

Default

NULL

Protocols

All

Examples

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);
}

Return value

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

Releases

74 releases since OS X 10.10.5; the text changed 13 times.

  1. 10.10.5–10.11.6
  2. 10.12–10.12.5
  3. 10.12.6–10.14.6
  4. 10.15–11.5
  5. 12.0.1–12.2
  6. 12.3–12.5
  7. 13.0
  8. 13.1
  9. 13.2
  10. 13.3
  11. 13.4
  12. 13.5–14.1
  13. 14.2–14.4
  14. 14.5–26.5

Availability

Added in 7.16.0

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.