Index of Section 3 Manual Pages

Interix / SUAcurl_multi_assign.3Interix / SUA

curl_multi_assign(3)      libcurl Manual     curl_multi_assign(3)



NAME
       curl_multi_assign  - set data to associated with an inter-
       nal socket

SYNOPSIS
       #include 

       CURLMcode      curl_multi_assign(CURLM      *multi_handle,
       curl_socket_t sockfd,
                                   void *sockptr);

DESCRIPTION
       This  function  assigns an association in the multi handle
       between the given socket and  a  private  pointer  of  the
       application.     This     is     (only)     useful     for
       curl_multi_socket(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  pri-
       vate  pointer) is something that just about every applica-
       tion 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
       curl_multi_socket(3) approach.

       When  our socket-callback get called by libcurl and we get
       to know about yet another socket to wait for, we  can  use
       curl_multi_assign(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.

SEE ALSO
       curl_multi_setopt(3), curl_multi_socket(3)



libcurl 7.16.0              9 Jul 2006       curl_multi_assign(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA