Manpages - llseek.2
Table of Contents
NAME
_llseek - reposition read/write file offset
SYNOPSIS
#include <sys/syscall.h> /* Definition of SYS_* constants */ #include <unistd.h> int syscall(SYS__llseek, unsigned int fd, unsigned long offset_high, unsigned long offset_low, loff_t *result, unsigned int whence);
Note: glibc provides no wrapper for *_llseek*(), necessitating the use of *syscall*(2).
DESCRIPTION
Note: for information about the *llseek*(3) library function, see *lseek64*(3).
The *_llseek*() system call repositions the offset of the open file description associated with the file descriptor fd to the value
(offset_high << 32) | offset_low
This new offset is a byte offset relative to the beginning of the file, the current file offset, or the end of the file, depending on whether whence is SEEK_SET, SEEK_CUR, or SEEK_END, respectively.
The new file offset is returned in the argument result. The type loff_t is a 64-bit signed type.
This system call exists on various 32-bit platforms to support seeking to large file offsets.
RETURN VALUE
Upon successful completion, *_llseek*() returns 0. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
- EBADF
- fd is not an open file descriptor.
- EFAULT
- Problem with copying results to user space.
- EINVAL
- whence is invalid.
CONFORMING TO
This function is Linux-specific, and should not be used in programs intended to be portable.
NOTES
You probably want to use the *lseek*(2) wrapper function instead.
SEE ALSO
*lseek*(2), *open*(2), *lseek64*(3)
COLOPHON
This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.