iofunc_lseek_default()

Обработчик по умолчанию для сообщений _IO_LSEEK

Прототип:

#include <sys/iofunc.h>
int iofunc_lseek_default( resmgr_context_t *ctp,
io_lseek_t *msg,
iofunc_ocb_t *ocb );

Аргументы:

ctp
Указатель на структуру resmgr_context_t, которую библиотека менеджера ресурсов использует для передачи контекстной информации между функциями.
msg
Указатель на структуру io_lseek_t, содержащую сообщение, полученное менеджером ресурсов.
ocb
Указатель на структуру блока управления открытым контекстом (OCB, Open Control Block) iofunc_ocb_t, созданную при открытии ресурса клиентом.

Библиотека:

libc

Описание:

Функция iofunc_lseek_default() реализует POSIX семантику для клиентского вызова lseek(), принимаемого как _IO_LSEEK сообщение менеджером ресурсов.

Эту функцию можно поместить в таблицу io_funcs, передаваемую в resmgr_attach(), на место lseek или вызвать iofunc_func_init(), чтобы инициализировать все функции в их значения по умолчанию.

iofunc_lseek_default() вызывает iofunc_lseek() для выполнения фактической работы.

Возвращаемое значение:

-1
Успешное завершение; библиотека менеджера ресурсов должна вернуть клиенту IOV, состоящий из одной части.
EOK
Сообщение является комбинированным, нет ошибки.
EINVAL
Элемент whence в сообщении _IO_LSEEK не был одним из SEEK_SET, SEEK_CUR или SEEK_END, или полученная после смещения позиция была отрицательной (переполнение).
EOVERFLOW
Полученное смещение не может быть правильно представлено в объекте типа off_t.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

io_lseek_t, iofunc_func_init(), iofunc_lseek(), iofunc_ocb_t, lseek(), resmgr_attach(), resmgr_context_t, resmgr_io_funcs_t




Предыдущий раздел: Описание API системной библиотеки