diff options
author | Daniel Stenberg <daniel@haxx.se> | 2005-12-22 15:27:41 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2005-12-22 15:27:41 +0000 |
commit | e5247ae65d9884c7c454b1cb641b66e2beb047ef (patch) | |
tree | 80004250818062cc8072fc38ea25d49b8a2a7a9a /ares/ares_getsock.3 | |
parent | a718cb05ff4405dd5a3e09b718413b5066fc5e09 (diff) |
Added ares_getsock() to extract sockets to wait for action on, without being
limited to select().
Diffstat (limited to 'ares/ares_getsock.3')
-rw-r--r-- | ares/ares_getsock.3 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ares/ares_getsock.3 b/ares/ares_getsock.3 new file mode 100644 index 000000000..301d8c244 --- /dev/null +++ b/ares/ares_getsock.3 @@ -0,0 +1,56 @@ +.\" $Id$ +.\" +.\" Copyright 1998 by Daniel Stenberg +.\" +.\" Permission to use, copy, modify, and distribute this +.\" software and its documentation for any purpose and without +.\" fee is hereby granted, provided that the above copyright +.\" notice appear in all copies and that both that copyright +.\" notice and this permission notice appear in supporting +.\" documentation, and that the name of M.I.T. not be used in +.\" advertising or publicity pertaining to distribution of the +.\" software without specific, written prior permission. +.\" M.I.T. makes no representations about the suitability of +.\" this software for any purpose. It is provided "as is" +.\" without express or implied warranty. +.\" +.TH ARES_GETSOCK 3 "22 December 2005" +.SH NAME +ares_getsock \- get file descriptors to wait on +.SH SYNOPSIS +.nf +.B #include <ares.h> +.PP +.B int ares_getsock(ares_channel \fIchannel\fP, int *\fIsocks\fP, +.B int \fInumsocks\fP); +.fi +.SH DESCRIPTION +The +.B ares_getsock +function retrieves the set of file 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 . +File descriptors will be set in the integer 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 about up to 16 sockets. If more are +in use (however unlikely that is), 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 SEE ALSO +.BR ares_timeout (3), +.BR ares_fds (3), +.BR ares_process (3) |