НАЗВА
_llseek - встановити позицію зчитування/запису інформації у файлі
СИНТАКСИС
#include <unistd.h>
#include <linux/unistd.h>
syscall5(int, llseek, uint, fd, ulong, hi, ulong, lo, loff_t *, res, uint, wh);
int _llseek(unsigned int fd , unsigned long offset_high , unsigned long offset_low , loff_t * result , unsigned int whence );
ОПИС
Функція _llseek встановлює значення дескриптора файлу fd у (offset_high<<32) | offset_low байтів відносно початку файлу, поточної позиції у файлі чи кінця файлу в залежності від того, чи дорівнює параметр whence одному з наступних значень: SEEK_SET , SEEK_CUR , чи SEEK_END відповідно. Функція повертає остаточну позицію у файлі за допомогою арґумента result .
ПОВЕРТАЄ ЗНАЧЕННЯ
В разі успішного виклику, повертає значення, що дорівнює нулю. В разі помилки повертається -1, і змінній errno призначається код помилки.
КОДИ ПОМИЛОК
EBADF |
fd не є відкритим файловим дескриптором. |
EINVAL |
Невірне значення whence . |
ВІДПОВІДНІСТЬ
Ця функція є специфічною для Linux і не повинна використовуватись в програмах, що мають працювати на інших платформах.
ЗНАЙДЕНІ ПОМИЛКИ
Файлова система ext2 не підтримує файли розміром 2 Гb і більше.
ДИВ. ТАКОЖ
?lseek(2)