Check for descriptors that are ready for reading or writing (via a SOCKS server)
int Rselect( int width,
fd_set * readfds,
fd_set * writefds,
fd_set * exceptionfds,
struct timeval * timeout );
- width
- The number of descriptors to check in the given sets.
Only the descriptors from 0 through (width-1) in the descriptor
sets are examined.
Therefore, the value of width must be at least as large as:
(highest valued file descriptor in the sets) +1
- readfds
- NULL, or a pointer to a fd_set object that
specifies the descriptors to check for files that are ready for reading.
The function replaces the set with the file descriptors that are actually
ready for reading.
- writefds
- NULL, or a pointer to a fd_set object that
specifies the descriptors to check for files that are ready for writing.
The function replaces the set with the file descriptors that are actually
ready for writing.
- exceptionfds
- NULL, or a pointer to a fd_set object that
specifies the descriptors to check for files that have an exceptional
condition pending.
The function replaces the set with the file descriptors that actually
have an exceptional condition pending.
- timeout
- NULL, or a pointer to a timeval that
specifies how long to wait for the selection to complete.
libsocks
Use the -l socks option to
qcc
to link against this library.
The Rselect() function is a cover function for
select() —
the difference is that Rselect() does its job via
a SOCKS server.
For more information about SOCKS and its libraries, see the appendix,
SOCKS — A Basic Firewall.
The number of ready descriptors in the descriptor sets,
0 if the timeout expired, or -1 if an error
occurs (errno is set).
SOCKS
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
No |
select()
SOCKS — A Basic Firewall