ares_getsock (3) - Linux Man Pages
ares_getsock: get socket descriptors to wait on
NAMEares_getsock - get socket descriptors to wait on
#include <ares.h> int ares_getsock(ares_channel channel, ares_socket_t *socks, int numsocks);
DESCRIPTIONThe 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.
RETURN VALUESares_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)))