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

  man pages->OpenBSD man pages -> lseek (2)              



NAME    [Toc]    [Back]

     lseek - reposition read/write file offset

SYNOPSIS    [Toc]    [Back]

     #include <unistd.h>

     lseek(int fildes, off_t offset, int whence);

DESCRIPTION    [Toc]    [Back]

     The lseek() function repositions the offset of the file  descriptor fildes
     to  the  argument  offset according to the directive whence.
The argument
     fildes must be an open file descriptor.  lseek() repositions
the file
     pointer fildes as follows:

           If  whence  is  SEEK_SET,  the offset is set to offset

           If whence is SEEK_CUR, the offset is set to  its  current location
           plus offset bytes.

           If  whence  is SEEK_END, the offset is set to the size
of the file
           plus offset bytes.

     The lseek() function allows the file offset to be set beyond
the end of
     the  existing  end-of-file  of  the  file.  If data is later
written at this
     point, subsequent reads of the data in the gap return  bytes
of zeros (until
 data is actually written into the gap).

     Some  devices  are  incapable  of seeking.  The value of the
pointer associated
 with such a device is undefined.

RETURN VALUES    [Toc]    [Back]

     Upon successful completion, lseek()  returns  the  resulting
offset location
     as measured in bytes from the beginning of the file.  Otherwise, a value
     of -1 is returned and errno is set to indicate the error.

ERRORS    [Toc]    [Back]

     lseek() will fail and the file pointer will remain unchanged

     [EBADF]       fildes is not an open file descriptor.

     [ESPIPE]       fildes  is associated with a pipe, socket, or

     [EINVAL]      whence is not a proper value or the  resulting
offset would
                   be negative on a file system or special device
that does
                   not allow negative offsets to be used.

SEE ALSO    [Toc]    [Back]

     dup(2), open(2)

STANDARDS    [Toc]    [Back]

     The  lseek()  function  conforms  to  IEEE  Std  1003.1-1988

HISTORY    [Toc]    [Back]

     A seek() function appeared in Version 2 AT&T UNIX, later renamed into
     lseek() for ``long seek'' due to a  larger  offset  argument

BUGS    [Toc]    [Back]

     This  document's  use of whence is incorrect English, but is
maintained for
     historical reasons.

OpenBSD     3.6                          April      19,      1994
[ Back ]
 Similar pages
Name OS Title
lseek Tru64 Move read-write file offset
pread Linux read from or write to a file descriptor at a given offset
AFreadmisc IRIX read from / write to / move logical read/write pointer for data in a miscellaneous chunk in an audio file
VOP_RDWR FreeBSD read or write a file
VOP_READ FreeBSD read or write a file
VOP_WRITE FreeBSD read or write a file
curs_scr_dmp IRIX read (write) a curses screen from (to) a file
VOP_GETPAGES FreeBSD read or write VM pages from a file
VOP_PUTPAGES FreeBSD read or write VM pages from a file
scr_set Tru64 Read or write a Curses screen from or to a file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service