pread, pwrite - read from or write to a file descriptor at
       a given offset


SYNOPSIS

       #define _XOPEN_SOURCE 500

       #include <unistd.h>

       ssize_t pread(int fd, void *buf, size_t count, off_t  off­
       set);

       ssize_t  pwrite(int  fd,  const  void  *buf, size_t count,
       off_t offset);


DESCRIPTION

       pread() reads up to count bytes from file descriptor fd at
       offset offset (from the start of the file) into the buffer
       starting at buf.  The file offset is not changed.

       pwrite() writes up to count bytes from the buffer starting
       at  buf  to  the file descriptor fd at offset offset.  The
       file offset is not changed.

       The file referenced by fd must be capable of seeking.


RETURN VALUE

       On success,  the  number  of  bytes  read  or  written  is
       returned  (zero indicates that nothing was written, in the
       case of pwrite, or end of file, in the case of pread),  or
       -1  on  error,  in which case errno is set to indicate the
       error.


ERRORS

       pread can fail and set errno to any  error  specified  for
       read(2) or lseek(2).  pwrite can fail and set errno to any
       error specified for write(2) or lseek(2).


CONFORMING TO

       Unix98


HISTORY

       The pread and pwrite system calls were added to  Linux  in
       version  2.1.60; the entries in the i386 system call table
       were added in 2.1.69.  The libc support (including  emula­
       tion  on older kernels without the system calls) was added
       in glibc 2.1.


SEE ALSO

       read(2), write(2), lseek(2)