The Open Group Base Specifications Issue 7
IEEE Std 1003.1, 2013 Edition
Copyright © 2001-2013 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, 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.

End of informative text.

return to top of page

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