NAME
sys/select.h —
select types
SYNOPSIS
#include
<sys/select.h>
DESCRIPTION
The <sys/select.h> header shall define the timeval structure, which shall include at least the following members:
time_t tv_sec Seconds. suseconds_t tv_usec Microseconds.
The <sys/select.h> header shall define the time_t and suseconds_t types as described in <sys/types.h>.
The <sys/select.h> header shall define the sigset_t type as described in <signal.h>.
The <sys/select.h> header shall define the timespec structure as described in <time.h>.
The <sys/select.h> header shall define the fd_set type as a structure.
The <sys/select.h> header shall define the following symbolic constant, which shall have a value suitable for use in #if preprocessing directives:
- FD_SETSIZE
- Maximum number of file descriptors in an fd_set structure.
The following shall be declared as functions, defined as macros, or both. If functions are declared, function prototypes shall be provided.
void FD_CLR(int, fd_set *); int FD_ISSET(int, const fd_set *); void FD_SET(int, fd_set *); void FD_ZERO(fd_set *);
If implemented as macros, these may evaluate their arguments more than once, so applications should ensure that the arguments they supply are never expressions with side-effects.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
int pselect(int, fd_set *restrict, fd_set *restrict, fd_set *restrict,
const struct timespec *restrict, const sigset_t *restrict);
int select(int, fd_set *restrict, fd_set *restrict, fd_set *restrict,
struct timeval *restrict);
Inclusion of the <sys/select.h> header may make visible all symbols from the headers <signal.h> and <time.h>.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
<signal.h>, <sys/time.h>, <sys/types.h> , <time.h>
XSH pselect(3)
CHANGE HISTORY
First released in Issue 6. Derived from IEEE Std 1003.1g-2000 (“POSIX.1g”).
The requirement for the fd_set structure to have a member fds_bits has been removed as per The Open Group Base Resolution bwg2001-005.
Issue 7
SD5-XBD-ERN-6 is applied, reordering the DESCRIPTION.
This reference page is clarified with respect to macros and symbolic constants.
Issue 8
Austin Group Defect 220 is applied, adding
const to the second parameter of
FD_ISSET(3).