The READ and WRITE filters are intended to work on any file descriptor, and the ident field contains the descriptor number. These filters closely mirror the be- havior of poll() or select(), in that they are intended to return whenever there is data ready to read, or if the ap- plication can write without blocking. The kernel func- tion corresponding to the filter depends on the descriptor type, so the implementation is tailored for the require- ments of each type of descriptor in use. In general, the amount of data that is ready to read (or able to be writ- ten) will be returned in the data field within the.