GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CURLMOPT_SOCKETDATA(3) FreeBSD Library Functions Manual CURLMOPT_SOCKETDATA(3)

CURLMOPT_SOCKETDATA - custom pointer passed to the socket callback

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

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

This pointer is not touched by libcurl but is only passed in as the socket callback's clientp argument.

NULL

This functionality affects all supported protocols

struct priv {

void *ours; }; static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp) {
struct priv *p = sockp;
printf("my ptr: %p\n", p->ours);
if(what == CURL_POLL_REMOVE) {
/* remove the socket from our collection */
}
if(what & CURL_POLL_IN) {
/* wait for read on this socket */
}
if(what & CURL_POLL_OUT) {
/* wait for write on this socket */
}
return 0; } int main(void) {
struct priv setup;
CURLM *multi = curl_multi_init();
/* ... use socket callback and custom pointer */
curl_multi_setopt(multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
curl_multi_setopt(multi, CURLMOPT_SOCKETDATA, &setup); }

Added in curl 7.15.4

Returns CURLM_OK.

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

2025-07-03 libcurl

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.