AP05/curl_arm64/share/man/man3/CURLMOPT_TIMERDATA.3
2025-12-02 13:06:35 +08:00

59 lines
1.5 KiB
Groff

.\" generated by cd2nroff 0.1 from CURLMOPT_TIMERDATA.md
.TH CURLMOPT_TIMERDATA 3 "2025-07-07" libcurl
.SH NAME
CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback
.SH SYNOPSIS
.nf
#include <curl/curl.h>
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer);
.fi
.SH DESCRIPTION
A data \fBpointer\fP to pass to the timer callback set with the
\fICURLMOPT_TIMERFUNCTION(3)\fP option.
This pointer is not touched by libcurl but is only be passed in to the timer
callback\(aqs \fBclientp\fP argument.
.SH DEFAULT
NULL
.SH PROTOCOLS
This functionality affects all supported protocols
.SH EXAMPLE
.nf
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 >= 0) {
/* this is the new single timeout to wait for */
}
else {
/* delete the timeout, nothing to wait for now */
}
return 0;
}
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);
}
.fi
.SH AVAILABILITY
Added in curl 7.16.0
.SH RETURN VALUE
\fIcurl_multi_setopt(3)\fP returns a CURLMcode indicating success or error.
CURLM_OK (0) means everything was OK, non\-zero means an error occurred, see
\fIlibcurl\-errors(3)\fP.
.SH SEE ALSO
.BR CURLMOPT_SOCKETFUNCTION (3),
.BR CURLMOPT_TIMERFUNCTION (3)