_llseek - установить позицию чтения/записи в файле
_llseek(2)
установить позицию чтения/записи в файле
ОБЗОР
#include <sys/types.h>
#include <unistd.h>
int _llseek(unsigned int fd, unsigned long offset_high,
unsigned long offset_low, loff_t *result,
unsigned int whence);
Замечание:В glibc нет обёрточной функции для данного системного вызова;
смотрите
ЗАМЕЧАНИЯ.
ОПИСАНИЕ
Функция
_llseek() устанавливает позицию в файле, который задан в
параметре
fd, в значение
(offset_high<<32) | offset_low байт
относительно начала файла, текущей позиции файле или конца файла, в
зависимости от того, равен ли параметр
whence одному из значений
SEEK_SET,
SEEK_CUR или
SEEK_END, соответственно. Функция возвращает
результирующую позицию в файле в аргументе
result.
Данный системный вызов существует на различных 32-битных платформах для
поддержки перемещения по большим файловым смещениям.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха
_llseek() возвращает ноль. При ошибке возвращается -1, а
errno устанавливается таким образом, чтобы указывать на ошибку.
ОШИБКИ
EBADF
fd не является открытым файловым дескриптором.
EFAULT
Проблема с копированием результатов в пространство пользователя.
EINVAL
Значение whence неверно.
СООТВЕТСТВИЕ СТАНДАРТАМ
Данная функция есть только в Linux и не должна использоваться в программах,
которые задуманы как переносимые.
ЗАМЕЧАНИЯ
В glibc нет обёрточной функции для данного системного вызова. Вы можете
вызвать его с помощью
syscall(2). Но лучше воспользоваться обёрточной
функцией
lseek(2).