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.
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 HTML page was made with roffit.