GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
ARES_GETSOCK(3) FreeBSD Library Functions Manual ARES_GETSOCK(3)

ares_getsock - get socket descriptors to wait on (deprecated)

#include <ares.h>
int ares_getsock(const ares_channel_t *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 up to 16 sockets. If more are in use, 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 and deprecated in c-ares 1.20.0 due to the implementation of ARES_OPT_MAX_UDP_QUERIES which makes it likely to exceed 16 open file descriptors.

It is recommended to use ARES_OPT_EVENT_THREAD passed to ares_init_options(3) or to use socket state callbacks (ARES_OPT_SOCK_STATE_CB) registered via ares_init_options(3).

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

11 March 2010

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.