Man page - io_waitread(3)

Packages contains this manual

Manual

io_waitread

NAME
SYNTAX
DESCRIPTION
SEE ALSO

NAME

io_waitread - read from a descriptor

SYNTAX

#include <libowfat/io.h>

int io_waitread (int64 fd,char* buf,int64 len);

DESCRIPTION

io_waitread tries to read len bytes of data from descriptor fd into buf[0], buf[1], ..., buf[len-1]. (The effects are undefined if len is 0 or smaller.) There are several possible results:

o_waitread returns an integer between 1 and len : This number of bytes was available for immediate reading; the bytes were read into the beginning of buf . Note that this number can be, and often is, smaller than len ; you must not assume that io_waitread always succeeds in reading exactly len bytes.

io_waitread returns 0: No bytes were read, because the descriptor is at end of file. For example, this descriptor has reached the end of a disk file, or is reading an empty pipe that has been closed by all writers.

io_waitread returns -3, setting errno to something other than EAGAIN: No bytes were read, because the read attempt encountered a persistent error, such as a serious disk failure (EIO), an unreachable network (ENETUNREACH), or an invalid descriptor number (EBADF).

SEE ALSO

io_nonblock(3), io_waitread(3), io_waitreadtimeout(3)