Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



   _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).