Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ARES_GETSOCK(3)		   Library Functions Manual	       ARES_GETSOCK(3)

NAME
       ares_getsock - get socket descriptors to	wait on	(deprecated)

SYNOPSIS
       #include	<ares.h>

       int ares_getsock(const ares_channel_t *channel, ares_socket_t *socks,
			int numsocks);

DESCRIPTION
       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.

RETURN VALUES
       ares_getsock returns a bitmask for what actions to wait for on the dif-
       ferent  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)))

NOTES
       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_op-
       tions(3)	or to use socket state callbacks (ARES_OPT_SOCK_STATE_CB) reg-
       istered via ares_init_options(3).

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

				 11 March 2010		       ARES_GETSOCK(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ares_getsock&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help