int read(int fd, void *buf, unsigned int count);
On success, the number of bytes read is returned. Zero indicates end of file. If count is zero, read returns zero as well. On error, -1 is returned.
fd is not a valid file descriptor or is not open for reading.
bufptr is an invalid pointer value.
The call was interrupted by the user.