libcurl Manual curlmultiassign(3)
NAME
curlmultiassign - set data to association with an internal
socket
SYNOPSIS
#include
CURLMcode curlmultiassign(CURLM *multihandle,
curlsockett sockfd,
void *sockptr);
DESCRIPTION
This function assigns an association in the multi handle
between the given socket and a private pointer of the appli-
cation. This is (only) useful for curlmultisocket(3) uses.
When set, the sockptr pointer will be passed to all future
socket callbacks for the specific sockfd socket.
If the given sockfd isn't already in use by libcurl, this
function will return an error.
libcurl only keeps one single pointer associated with a
socket, so calling this function several times for the same
socket will make the last set pointer get used.
The idea here being that this association (socket to private
pointer) is something that just about every application that
uses this API will need and then libcurl can just as well do
it since it already has an internal hash table lookup for
this.
RETURN VALUE
The standard CURLMcode for multi interface error codes.
TYPICAL USAGE
In a typical application you allocate a struct or at least
use some kind of semi-dynamic data for each socket that we
must wait for action on when using the curlmultisocket(3)
approach.
When our socket-callback gets called by libcurl and we get
to know about yet another socket to wait for, we can use
curlmultiassign(3) to point out the particular data so
that when we get updates about this same socket again, we
don't have to find the struct associated with this socket by
ourselves.
AVAILABILITY
This function was added in libcurl 7.15.5, although not
deemed stable yet.
libcurl 7.16.0 Last change: 9 Jul 2006 1
libcurl Manual curlmultiassign(3)
SEE ALSO
curlmultisetopt(3), curlmultisocket(3)
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWcurl
Interface Stability Uncommitted
NOTES
Source for C-URL is available on http:/opensolaris.org.
libcurl 7.16.0 Last change: 9 Jul 2006 2
|