Scroll to navigation

LLSEEK(2) Руководство программиста Linux LLSEEK(2)

ИМЯ

_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 нет обёрточной функции для данного системного вызова; смотрите ЗАМЕЧАНИЯ.

ОПИСАНИЕ

Note: for information about the llseek(3) library function, see lseek64(3).

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.

Данный системный вызов существует на различных 32-битных платформах для поддержки перемещения по большим файловым смещениям.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

В случае успеха _llseek() возвращает ноль. При ошибке возвращается -1, а errno устанавливается таким образом, чтобы указывать на ошибку.

ОШИБКИ

fd не является открытым файловым дескриптором.
Проблема с копированием результатов в пространство пользователя.
Значение whence неверно.

СООТВЕТСТВИЕ СТАНДАРТАМ

Данная функция есть только в Linux и не должна использоваться в программах, которые задуманы как переносимые.

ЗАМЕЧАНИЯ

В glibc нет обёрточной функции для данного системного вызова. Вы можете вызвать его с помощью syscall(2). Но лучше воспользоваться обёрточной функцией lseek(2).

СМ. ТАКЖЕ

lseek(2), open(2), lseek64(3)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Artyom Kunyov <artkun@guitarplayer.ru>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Konstantin Shvaykovskiy <kot.shv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

21 декабря 2020 г. Linux