Query: lseek
OS: sunos
Section: 2
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
lseek(2) System Calls lseek(2)NAMElseek - move read/write file pointerSYNOPSIS#include <sys/types.h> #include <unistd.h> off_t lseek(int fildes, off_t offset, int whence);DESCRIPTIONThe lseek() function sets the 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. The symbolic constants SEEK_SET, SEEK_CUR, and SEEK_END are defined in the header <unistd.h>. Some devices are incapable of seeking. The value of the file pointer associated with such a device is undefined. The lseek() function allows the file pointer to be set beyond the existing data in the file. If data are later written at this point, sub- sequent reads in the gap between the previous end of data and the newly written data will return bytes of value 0 until data are written into the gap. If fildes is a remote file descriptor and offset is negative, lseek() returns the file pointer even if it is negative. The lseek() func- tion will not, by itself, extend the size of a file. If fildes refers to a shared memory object, lseek() behaves as if fildes referred to a regular file.RETURN VALUESUpon successful completion, the resulting offset, as measured in bytes from the beginning of the file, is returned. Otherwise, (off_t)-1 is returned, the file offset remains unchanged, and errno is set to indicate the error.ERRORSThe lseek() 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; or the fildes argument is not a remote file descriptor and the resulting file pointer would be negative. EOVERFLOW The resulting file offset would be a value which cannot be represented correctly in an object of type off_t for regular files. ESPIPE The fildes argument is associated with a pipe, a FIFO, or a socket.USAGEThe lseek() function has a transitional interface for 64-bit file offsets. See lf64(5). In multithreaded applications, using lseek() in conjunction with a read(2) or write(2) call on a file descriptor shared by more than one thread is not an atomic operation. To ensure atomicity, use pread() or pwrite().ATTRIBUTESSee attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |Async-Signal-Safe | +-----------------------------+-----------------------------+SEE ALSOcreat(2), dup(2), fcntl(2), open(2), read(2), write(2), attributes(5), lf64(5), standards(5) SunOS 5.10 17 Apr 2002 lseek(2)
Related Man Pages |
---|
lseek(2) - linux |
lseek(3) - linux |
lseek(2) - hpux |
seek(2) - netbsd |
lseek(3posix) - posix |
Similar Topics in the Unix Linux Community |
---|
System calls? |
Lbunzip2 0.01 (Default branch) |
lseek() equivalent |
Understanding lseek |
Problem with lseek call. |