The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> sys/select.h - select types

#### SYNOPSIS

> `#include <sys/select.h>`

#### DESCRIPTION

> The <sys/select.h> header shall define the timeval structure that includes at least the following members:

>     time_t         tv_sec      Seconds.
>     suseconds_t    tv_usec     Microseconds.

> The time_t and suseconds_t types shall be defined as described in <sys/types.h>.

> The sigset_t type shall be defined as described in <signal.h>.

> The timespec structure shall be defined as described in <time.h>.

> The <sys/select.h> header shall define the fd_set type as a structure.

> Each of the following may be declared as a function, or defined as a macro, or both:

> void FD_CLR(int fd, fd_set *fdset)
>   Clears the bit for the file descriptor fd in the file descriptor set fdset.
> int FD_ISSET(int fd, fd_set *fdset)
>   Returns a non-zero value if the bit for the file descriptor fd is set in the file descriptor set by fdset, and 0 otherwise.
> void FD_SET(int fd, fd_set *fdset)
>   Sets the bit for the file descriptor fd in the file descriptor set fdset.
> void FD_ZERO(fd_set *fdset)
>   Initializes the file descriptor set fdset to have zero bits for all file descriptors.

> 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 defined as a macro:

> FD_SETSIZE
>   Maximum number of file descriptors in an fd_set structure.

> 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>, <sys/time.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>, the System Interfaces volume of IEEE Std 1003.1-2001, pselect(), select()

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

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]