Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ lseek(S) — System V/386 Software Development System 3.2.2b

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     LSEEK(S)                  UNIX System V                  LSEEK(S)



     Name
          lseek - move read/write file pointer

     Syntax
          #include <unistd.h>

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

     Description
          The fildes argument is a file descriptor returned from a
          creat, open, dup, or fcntl system call.  The lseek system
          call sets the file pointer associated with fildes as
          follows:

               If whence is 0, the pointer is set to offset bytes.

               If whence is 1, the pointer is set to its current
                     location plus offset.

               If whence is 2, the pointer is set to the size of the
                     file plus offset.

          Symbolic constants for whence are defined in the <unistd.h>
          header file:

               Name      Description
               SEEK_SET  Set file-pointer equal to offset bytes.
               SEEK_CUR  Set file-pointer to current location plus
               offset.
               SEEK_END  Set file-pointer to EOF plus offset.

          Upon successful completion, the resulting pointer location,
          as measured in bytes from the beginning of the file, is
          returned.  Note that if fildes is a remote file descriptor
          and offset is negative, lseek will return the file pointer
          even if it is negative.

          lseek will fail and the file pointer will remain unchanged
          if one or more of the following is true:

          [EBADF]        fildes is not an open file descriptor.

          [ESPIPE]       fildes is associated with a pipe or fifo.

          [EINVAL and SIGSYS signal]
                         whence is not 0, 1, or 2.

          [EINVAL]       fildes is not a remote file descriptor, and
                         the resulting file pointer would be negative.

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

     See Also
          creat(S), dup(S), fcntl(S), open(S)

     Diagnostics
          Upon successful completion, a non-negative integer
          indicating the file pointer value is returned.  Otherwise, a
          value of -1 is returned, and errno is set to indicate the
          error.

     Standards Conformance
          lseek is conformant with:
          AT&T SVID Issue 2, Select Code 307-127;
          The X/Open Portability Guide II of January 1987;
          IEEE POSIX Std 1003.1-1988 with C Standard Language-
          Dependent System Support;
          and NIST FIPS 151-1.


                                             (printed 6/20/89)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026