summaryrefslogtreecommitdiff
path: root/ares_getsock.3
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-12-22 15:27:41 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-12-22 15:27:41 +0000
commit8d63eb75a948235973717310f7fd605dd908bb3c (patch)
tree8e40df4f39328ca0311901f422923f2d887bcc13 /ares_getsock.3
parentcb2a75dece92c36e58b894da01d0012c729b130d (diff)
downloadc-ares-8d63eb75a948235973717310f7fd605dd908bb3c.tar.gz
c-ares-8d63eb75a948235973717310f7fd605dd908bb3c.tar.bz2
c-ares-8d63eb75a948235973717310f7fd605dd908bb3c.zip
Added ares_getsock() to extract sockets to wait for action on, without being
limited to select().
Diffstat (limited to 'ares_getsock.3')
-rw-r--r--ares_getsock.356
1 files changed, 56 insertions, 0 deletions
diff --git a/ares_getsock.3 b/ares_getsock.3
new file mode 100644
index 0000000..301d8c2
--- /dev/null
+++ b/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)