mirror of https://github.com/c-ares/c-ares.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.9 KiB
53 lines
1.9 KiB
.\" |
|
.\" Copyright 1998 by Daniel Stenberg |
|
.\" SPDX-License-Identifier: MIT |
|
.\" |
|
.TH ARES_GETSOCK 3 "11 March 2010" |
|
.SH NAME |
|
ares_getsock \- get socket descriptors to wait on (deprecated) |
|
.SH SYNOPSIS |
|
.nf |
|
#include <ares.h> |
|
|
|
int ares_getsock(ares_channel_t *\fIchannel\fP, ares_socket_t *\fIsocks\fP, |
|
int \fInumsocks\fP); |
|
.fi |
|
.SH DESCRIPTION |
|
The |
|
.B 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 |
|
.IR channel . |
|
Socket descriptors will be set in the socket descriptor array pointed to by |
|
\fIsocks\fP. |
|
\fInumsocks\fP 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. |
|
.SH RETURN VALUES |
|
\fBares_getsock\fP 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: |
|
|
|
.nf |
|
#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))) |
|
.fi |
|
.SH NOTES |
|
This function was added in c-ares 1.3.1 and deprecated in c-ares 1.20.0 due to |
|
the implementation of \fBARES_OPT_MAX_UDP_QUERIES\fP which makes it likely to |
|
exceed 16 open file descriptors. |
|
|
|
It is recommended to use \fBARES_OPT_EVENT_THREAD\fP passed to |
|
\fIares_init_options(3)\fP or to use socket state callbacks |
|
(\fBARES_OPT_SOCK_STATE_CB\fP) registered via \fBares_init_options(3)\fP. |
|
.SH SEE ALSO |
|
.BR ares_init_options (3), |
|
.BR ares_timeout (3), |
|
.BR ares_fds (3), |
|
.BR ares_process (3)
|
|
|