EAGAIN
The file descriptor underlying stream is marked
nonblocking, and the read operation would block.
EBADF
The file descriptor underlying stream is invalid, or not
open for reading.
EILSEQ
Input byte sequence does not form a valid character.
EINTR
The read operation was interrupted by a signal; see
signal(7).
EINVAL
Not enough arguments; or format is NULL.
ENOMEM
Out of memory.
ERANGE
The result of an integer conversion would exceed the size
that can be stored in the corresponding integer type.