_llseek — reposition read/write file offset
#include <unistd.h> #include <sys/types.h> #include <linux/unistd.h> #include <errno.h> _syscall5(int, _llseek, unsigned int, fd, unsigned long, hi, unsigned long, lo, loff_t *, res, unsigned int, wh) /* Using syscall(2) may be preferable; see intro(2) */
int
_llseek( |
unsigned int | fd, |
unsigned long | offset_high, | |
unsigned long | offset_low, | |
loff_t * | result, | |
unsigned int | whence) ; |
The _llseek
() function
repositions the offset of the open file associated with the
file descriptor fd
to
(offset_high<<32) |
offset_low bytes relative to the beginning of the
file, the current position in the file, or the end of the
file, depending on whether whence
is SEEK_SET
, SEEK_CUR
, or SEEK_END
, respectively. It returns the
resulting file position in the argument result
.
Upon successful completion, _llseek
() returns 0. Otherwise, a value of
−1 is returned and errno
is set to indicate the error.
fd
is not an
open file descriptor.
Problem with copying results to user space.
whence
is
invalid.
This function is Linux specific, and should not be used in programs intended to be portable.
|