int socket_callback(CURL *easy, /* easy handle */
curl_socket_t s, /* socket */
int what, /* see above */
void *userp, /* private callback pointer */
void *socketp); /* private socket pointer */
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETFUNCTION, socket_callback);
Pass a pointer to your callback function, which should match the prototype
When the curl_multi_socket_action(3) function runs, it informs the
application about updates in the socket (file descriptor) status by doing
none, one, or multiple calls to the socket_callback. The callback gets
status updates with changes since the previous time the callback was called.
If the given callback pointer is NULL, no callback will be called. Set the
callbacks userp argument with CURLMOPT_SOCKETDATA(3). See
curl_multi_socket_action(3) for more details on how the callback is used
and should work.