Linux repositories inspector
Linux
2017-09-15
Aliases: _llseek(2), _llseek(2), _llseek(2), _llseek(2), _llseek(2), _llseek(2), _llseek(2), _llseek(2), _llseek(2), _llseek(2)

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

_llseek - установить позицию чтения/записи в файле

ОБЗОР

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

СМОТРИТЕ ТАКЖЕ

REFERENCED BY

⇧ Top