Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

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)
2025-05-13 libcurl
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org