ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



curl_multi_assign(3)                           libcurl Manual                           curl_multi_assign(3)



NAME
       curl_multi_assign - set data to associated with an internal socket

SYNOPSIS
       #include <curl/curl.h>

       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 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 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 our-selves. ourselves.
       selves.

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)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.