Главная » 2017 » Ноябрь » 19 » man 2 llseek
22:53
man 2 llseek

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


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



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


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



Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 441 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar