Man Linux: Main Page and Category List


       ares_getsock - get socket descriptors to wait on


       #include <ares.h>

       int ares_getsock(ares_channel channel, ares_socket_t *socks,
       int numsocks);


       The ares_getsock function retrieves the set of socket descriptors which
       the calling application should wait on for reading and/or  writing  for
       the  processing  of  name  service  queries pending on the name service
       channel identified by channel.  Socket descriptors will be set  in  the
       socket  descriptor  array pointed to by socks.  numsocks is the size of
       the given array in number of ints.

       This function can only return information about up to  16  sockets.  If
       more  are  in  use  (however  unlikely  that  is),  they are simply not
       reported back.


       ares_getsock returns a bitmask for what actions  to  wait  for  on  the
       different  sockets.  The  ares.h header file provides these convenience
       macros to extract the information appropriately:

       #define ARES_GETSOCK_MAXNUM 16 /* ares_getsock() can return info about
                                         this many sockets */
       #define ARES_GETSOCK_READABLE(bits,num) (bits & (1<< (num)))
       #define ARES_GETSOCK_WRITABLE(bits,num) (bits & (1 << ((num) +                                          ARES_GETSOCK_MAXNUM)))


       This function was added in c-ares 1.3.1


       ares_timeout(3), ares_fds(3), ares_process(3)

                                 11 March 2010