"Fossies" - the Fresh Open Source Software Archive

Member "curl-7.66.0/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3" (11 Sep 2019, 2401 Bytes) of package /linux/www/curl-7.66.0.tar.xz:


Caution: As a special service "Fossies" has tried to format the requested manual source page into HTML format but links to other man pages may be missing or even erroneous. Alternatively you can here view or download the uninterpreted manual source code. A member file download can also be achieved by clicking within a package contents listing on the according byte size field. See also the latest Fossies "Diffs" side-by-side code changes report for "CURLMOPT_SOCKETDATA.3": 7.65.3_vs_7.66.0.

CURLMOPT_SOCKETDATA

NAME
SYNOPSIS
DESCRIPTION
DEFAULT
PROTOCOLS
EXAMPLE
AVAILABILITY
RETURN VALUE
SEE ALSO

NAME

CURLMOPT_SOCKETDATA − custom pointer passed to the socket callback

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETDATA, void *pointer);

DESCRIPTION

A data pointer to pass to the socket callback set with the CURLMOPT_SOCKETFUNCTION(3) option.

This pointer will not be touched by libcurl but will only be passed in to the socket callbacks’s userp argument.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
{
GlobalInfo *g = (GlobalInfo*) cbp;
SockInfo *fdp = (SockInfo*) sockp;

if(what == CURL_POLL_REMOVE) {
remsock(fdp);
}
else {
if(!fdp) {
addsock(s, e, what, g);
}
else {
setsock(fdp, s, e, what, g);
}
}
return 0;
}

main()
{
GlobalInfo setup;
/* ... use socket callback and custom pointer */
curl_multi_setopt(multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
curl_multi_setopt(multi, CURLMOPT_SOCKETDATA, &setup);
}

AVAILABILITY

Added in 7.15.4

RETURN VALUE

Returns CURLM_OK.

SEE ALSO

CURLMOPT_SOCKETFUNCTION(3), curl_multi_socket_action(3), CURLMOPT_TIMERFUNCTION(3)