table of contents
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 нет обёрточной функции для данного системного вызова; смотрите ЗАМЕЧАНИЯ.
ОПИСАНИЕ¶
Системный вызов _llseek() изменяет смещение в описании открытого файла, связанного с файловым дескриптором fd, на значение (offset_high<<32) | offset_low байт относительно начала файла, текущего смещения файла или конца файла, в зависимости от того, равен ли параметр whence одному из значений SEEK_SET, SEEK_CUR или SEEK_END, соответственно. Функция возвращает получившеюся позицию в файле в аргументе result.
Данный системный вызов существует на различных 32-битных платформах для поддержки перемещения по большим файловым смещениям.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
В случае успеха _llseek() возвращает ноль. При ошибке возвращается -1, а errno устанавливается таким образом, чтобы указывать на ошибку.
ОШИБКИ¶
СООТВЕТСТВИЕ СТАНДАРТАМ¶
Данная функция есть только в Linux и не должна использоваться в программах, которые задуманы как переносимые.
ЗАМЕЧАНИЯ¶
В glibc нет обёрточной функции для данного системного вызова. Вы можете вызвать его с помощью syscall(2). Но лучше воспользоваться обёрточной функцией lseek(2).
СМ. ТАКЖЕ¶
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 4.16. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу 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.
15 сентября 2017 г. | Linux |