The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

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>.


The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<signal.h> , <sys/time.h> , <sys/types.h> , <time.h>

XSH pselect

CHANGE HISTORY

First released in Issue 6. Derived from IEEE Std 1003.1g-2000.

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().

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]