*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> read (2)              



NAME    [Toc]    [Back]

       read - read from a file descriptor

SYNOPSIS    [Toc]    [Back]

       #include <unistd.h>

       ssize_t read(int fd, void *buf, size_t count);

DESCRIPTION    [Toc]    [Back]

       read()  attempts to read up to count bytes from file descriptor fd into
       the buffer starting at buf.

       If count is zero, read() returns zero and has  no  other  results.   If
       count is greater than SSIZE_MAX, the result is unspecified.

RETURN VALUE    [Toc]    [Back]

       On success, the number of bytes read is returned (zero indicates end of
       file), and the file position is advanced by this number.  It is not  an
       error  if  this	number	is smaller than the number of bytes requested;
       this may happen for example because fewer bytes are actually  available
       right  now  (maybe  because we were close to end-of-file, or because we
       are reading from a pipe, or from a terminal),  or  because  read()  was
       interrupted  by	a  signal.  On error, -1 is returned, and errno is set
       appropriately. In this case it is left  unspecified  whether  the  file
       position (if any) changes.

ERRORS    [Toc]    [Back]

       EINTR  The call was interrupted by a signal before any data was read.

       EAGAIN Non-blocking  I/O has been selected using O_NONBLOCK and no data
	      was immediately available for reading.

       EIO    I/O error. This will happen for example when the process is in a
	      background  process  group,  tries  to read from its controlling
	      tty, and either it  is  ignoring	or  blocking  SIGTTIN  or  its
	      process  group  is  orphaned.  It may also occur when there is a
	      low-level I/O error while reading from a disk or tape.

       EISDIR fd refers to a directory.

       EBADF  fd is not a valid file descriptor or is not open for reading.

       EINVAL fd is attached to an object which is unsuitable for reading.

       EFAULT buf is outside your accessible address space.

       Other errors may occur, depending on the object connected to fd.  POSIX
       allows  a read that is interrupted after reading some data to return -1
       (with errno set to EINTR) or to return  the  number  of	bytes  already

CONFORMING TO    [Toc]    [Back]

       SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3

RESTRICTIONS    [Toc]    [Back]

       On NFS file systems, reading small amounts of data will only update the
       time stamp the first time, subsequent calls may not  do	so.   This  is
       caused  by  client  side attribute caching, because most if not all NFS
       clients leave atime updates to the server and client side reads	satisfied
 from the client's cache will not cause atime updates on the server
       as there are no server side reads.  UNIX semantics can be  obtained  by
       disabling  client  side	attribute caching, but in most situations this
       will substantially increase server load and decrease performance.

SEE ALSO    [Toc]    [Back]

       close(2),  fcntl(2),  ioctl(2),	lseek(2),   readdir(2),   readlink(2),
       select(2), write(2), fread(3)

Linux 2.0.32			  1997-07-12			       READ(2)
[ Back ]
 Similar pages
Name OS Title
pread Linux read from or write to a file descriptor at a given offset
qgetfd IRIX get the read file descriptor associated with the event queue
cdvd Tru64 Read Primary Volume Descriptor from a CD-ROM
pxfisatty IRIX Determines if file descriptor corresponds to a valid file descriptor
AFreadmisc IRIX read from / write to / move logical read/write pointer for data in a miscellaneous chunk in an audio file
fdetach Tru64 Detach a STREAMS-based file descriptor from a file in the file system name space
fattach Tru64 Attach a STREAMS-based file descriptor to a file in the file system name space
AFopenfile IRIX allocate an AFfilehandle structure for an audio file identified by name / by a Unix file descriptor
AFidentifyfd IRIX retrieve the audio file format of a file descriptor / open AFfilehandle
acl_set_fd Tru64 Sets the ACL on the file or directory designated by the file descriptor
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service