logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

io_waitread - read from a descriptor

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

Name

       io_waitread - read from a descriptor

See Also

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

                                                                                                  io_waitread(3)

Syntax

#include<libowfat/io.h>

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

See Also