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)