.TH SELECT 2 "Jun 9, 2005" .UC 4 .SH NAME select, FD_CLR, FD_ISSET, FD_SET, FD_ZERO \- synchronous I/O multiplexing .SH SYNOPSIS .nf .ft B #include int select(int \fInfds\fP, fd_set *\fIreadfds\fP, fd_set *\fIwritefds\fP, fd_set *\fIerrorfds\fP, struct timeval *\fItimeout\fP) void FD_CLR(int \fIfd\fP, fd_set *\fIfdset\fP) int FD_ISSET(int \fIfd\fP, fd_set *\fIfdset\fP) void FD_SET(int \fIfd\fP, fd_set *\fIfdset\fP) void FD_ZERO(fd_set *\fIfdset\fP) .ft R .fi .SH DESCRIPTION .B Select examines the file descriptors given in the sets .IR readfds , .IR writefds , and .IR errorfds , up to and including file descriptor .IR nfds -1 , for reading, writing, or exceptional conditions, respectively. .B Select currently supports regular files, pipes, named pipes, inet, and tty file descriptors (including pty). If the .I readfds argument is not a null pointer, it points to an object of type fd_set that on input specifies the file descriptors to be checked for being ready to read, and on output indicates which file descriptors are ready to read. .I Writefds and .I errorfds have an analogous meaning for file descriptors to be checked for being ready to read, respectively have pending exceptional (error) conditions.