read
RETURN VALUES
If successful, these functions return a non-negative integer that indicates the number of bytes read. The number of bytes read may be less than the number of bytes requested in any of the following conditions:
. The number of bytes left in the file is less than the requested length.
. The read() was interrupted by a signal.
. The file is a pipe or FIFO or special device and has fewer bytes than requested immediately available for reading.
On error, these functions return -1