.\"
.TH SELECT 2 2021-03-22 "Linux" "Linux Programmer's Manual"
.SH NAME
-select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO \-
+select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO, fd_set \-
synchronous I/O multiplexing
.SH SYNOPSIS
.nf
.B #include <sys/select.h>
.PP
+.BR typedef " /* ... */ " fd_set;
+.PP
.BI "int select(int " nfds ", fd_set *restrict " readfds ,
.BI " fd_set *restrict " writefds ", fd_set *restrict " exceptfds ,
.BI " struct timeval *restrict " timeout );
.BR write (2))
without blocking.
.\"
+.SS fd_set
+A structure type that can represent a set of file descriptors.
+According to POSIX,
+the maximum number of file descriptors in an
+.I fd_set
+structure is the value of the macro
+.BR FD_SETSIZE .
+.\"
.SS File descriptor sets
The principal arguments of
.BR select ()
.BR pselect ()
is defined in POSIX.1g, and in
POSIX.1-2001 and POSIX.1-2008.
+.PP
+.B fd_set
+is defined in POSIX.1-2001 and later.
.SH NOTES
+The following header also provides the
+.I fd_set
+type:
+.IR <sys/time.h> .
+.PP
An
.I fd_set
is a fixed size buffer.
.\"------------------------------------- div_t ------------------------/
.\"------------------------------------- double_t ---------------------/
.\"------------------------------------- fd_set -----------------------/
-.TP
-.I fd_set
-.RS
-.IR Include :
-.IR <sys/select.h> .
-Alternatively,
-.IR <sys/time.h> .
-.PP
-A structure type that can represent a set of file descriptors.
-According to POSIX,
-the maximum number of file descriptors in an
-.I fd_set
-structure is the value of the macro
-.BR FD_SETSIZE .
-.PP
-.IR "Conforming to" :
-POSIX.1-2001 and later.
-.PP
-.IR "See also" :
-.BR select (2)
-.RE
.\"------------------------------------- fenv_t -----------------------/
.TP
.I fenv_t