This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

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

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



curl_multi_assign(3)                           libcurl Manual                           curl_multi_assign(3)



NAME
       curl_multi_assign - set data to association 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 gets 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)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.