unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

llseek(2)                        System Calls                        llseek(2)



NAME
       llseek - move extended read/write file pointer

SYNOPSIS
       #include <sys/types.h>
       #include <unistd.h>

       offset_t llseek(int fildes, offset_t offset, int whence);

DESCRIPTION
       The  llseek() function sets the 64-bit extended file pointer associated
       with the open file descriptor specified by fildes as follows:

         o  If whence is SEEK_SET, the pointer is set to offset bytes.

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

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


       Although each file has a 64-bit file pointer associated with  it,  some
       existing  file  system  types  (such  as tmpfs) do not support the full
       range of 64-bit offsets.  In particular, on  such  file  systems,  non-
       device  files  remain  limited  to  offsets of less than two gigabytes.
       Device drivers may support offsets of up to 1024 gigabytes  for  device
       special files.

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

RETURN VALUES
       Upon successful completion,  llseek()  returns  the  resulting  pointer
       location  as  measured  in bytes from the beginning of the file. Remote
       file descriptors are the only ones that allow negative  file  pointers.
       Otherwise,  -1  is  returned,  the  file pointer remains unchanged, and
       errno is set to indicate the error.

ERRORS
       The llseek() function will fail if:

       EBADF           The fildes argument is not an open file descriptor.



       EINVAL          The whence  argument  is  not  SEEK_SET,  SEEK_CUR,  or
                       SEEK_END; the offset argument is not a valid offset for
                       this file system type; or the fildes argument is not  a
                       remote  file  descriptor and the resulting file pointer
                       would be negative.



       ESPIPE          The fildes argument is associated with a pipe or FIFO.



SEE ALSO
       creat(2), dup(2), fcntl(2), lseek(2), open(2)



SunOS 5.10                        6 Jan 1999                         llseek(2)