_llseek2
Reposition read/write file offset
Usage
#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);
Library
Standard C library (libc, -lc)
Overview
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. |
Versions
You probably want to use the lseek(2) wrapper function instead.
Releases
15 releases since Debian 2.1 (Slink); the text changed 14 times.