curl/docs/libcurl/opts/CURLMOPT_TIMERDATA.md
Daniel Stenberg e3fe020089
docs/libcurl: generate PROTOCOLS from meta-data
Remove the PROTOCOLS section from the source files completely and
instead generate them based on the header data in the curldown files.

It also generates TLS backend information for options marked for TLS as
protocol.

Closes #13175
2024-03-23 18:13:03 +01:00

1.3 KiB

c SPDX-License-Identifier Title Section Source See-also Protocol
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLMOPT_TIMERDATA 3 libcurl
CURLMOPT_SOCKETFUNCTION (3)
CURLMOPT_TIMERFUNCTION (3)
All

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

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 7.16.0

RETURN VALUE

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