LinuxGuruz
  • Last 5 Forum Topics
    Replies
    Views
    Last post


The Web Only This Site
  • BOOKMARK

  • ADD TO FAVORITES

  • REFERENCES


  • MARC

    Mailing list ARChives
    - Search by -
     Subjects
     Authors
     Bodies





    FOLDOC

    Computing Dictionary




  • Text Link Ads






  • LINUX man pages
  • Linux Man Page Viewer


    The following form allows you to view linux man pages.

    Command:

    lseek

    
    
    

    SYNOPSIS

           #include <sys/types.h>
           #include <unistd.h>
    
           off_t lseek(int fd, off_t offset, int whence);
    
    
    

    DESCRIPTION

           The lseek() function repositions the offset of the open file associated
           with the file descriptor fd to the argument  offset  according  to  the
           directive whence as follows:
    
           SEEK_SET
                  The offset is set to offset bytes.
    
           SEEK_CUR
                  The offset is set to its current location plus offset bytes.
    
           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 file (but this does not change the size of the file).  If  data  is
           later written at this point, subsequent reads of the data in the gap (a
           "hole") return null bytes ('\0') until data is  actually  written  into
           the gap.
    
       Seeking file data and holes
           Since  version  3.1, Linux supports the following additional values for
           whence:
    
           SEEK_DATA
                  Adjust the file offset to the next location in the file  greater
                  than  or  equal  to offset containing data.  If offset points to
                  data, then the file offset is set to offset.
    
           SEEK_HOLE
                  Adjust the file offset to the next hole in the file greater than
                  or equal to offset.  If offset points into the middle of a hole,
                  then the file offset is set to offset.  If there is no hole past
                  offset,  then the file offset is adjusted to the end of the file
                  (i.e., there is an implicit hole at the end of any file).
    
           In both of the above cases, lseek() fails if offset points past the end
           of the file.
    
           These  operations  allow  applications to map holes in a sparsely allo-
           cated file.  This can be useful for applications such  as  file  backup
           tools,  which  can save space when creating backups and preserve holes,
           if they have a mechanism for discovering holes.
    
           For the purposes of these operations, a hole is  a  sequence  of  zeros
           that  (normally) has not been allocated in the underlying file storage.
           filesystems:
    
           *  Btrfs (since Linux 3.1)
    
           *  OCFS (since Linux 3.2)
    
           *  XFS (since Linux 3.5)
    
           *  ext4 (since Linux 3.8)
    
           *  tmpfs (since Linux 3.8)
    
    
    

    RETURN VALUE

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

    ERRORS

           EBADF  fd is not an open file descriptor.
    
           EINVAL whence  is  not  valid.   Or: the resulting file offset would be
                  negative, or beyond the end of a seekable device.
    
           EOVERFLOW
                  The resulting file offset cannot be represented in an off_t.
    
           ESPIPE fd is associated with a pipe, socket, or FIFO.
    
           ENXIO  whence is SEEK_DATA or SEEK_HOLE, and the current file offset is
                  beyond the end of the file.
    
    
    

    CONFORMING TO

           SVr4, 4.3BSD, POSIX.1-2001.
    
           SEEK_DATA  and  SEEK_HOLE  are  nonstandard  extensions also present in
           Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in
           the next POSIX revision (Issue 8).
    
    
    

    NOTES

           Some  devices are incapable of seeking and POSIX does not specify which
           devices must support lseek().
    
           On Linux, using lseek() on a terminal device returns ESPIPE.
    
           When converting old code, substitute values for whence with the follow-
           ing macros:
    
            old       new
           0        SEEK_SET
           1        SEEK_CUR
           2        SEEK_END
    
  • MORE RESOURCE


  • Linux

    The Distributions





    Linux

    The Software





    Linux

    The News



  • MARKETING






  • Toll Free

webmaster@linuxguruz.com
Copyright © 1999 - 2016 by LinuxGuruz