iofunc_read_default()

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

Прототип:

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

Аргументы:

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

Библиотека:

libc

Описание:

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

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

Функция iofunc_read_default() вызывает iofunc_read_verify() для проверки прав доступа к файлу. Если разрешения подходят, iofunc_read_default() указывает, что прочитано ноль байт.

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

EBADF
У клиента нет доступа для чтения этого ресурса.
EINVAL
Информация о расширенном типе недействительна.
EOK
Клиент имеет доступ для чтения этого ресурса.

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

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

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

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

io_read_t, iofunc_func_init(), iofunc_ocb_t, iofunc_read_verify(), read(), resmgr_attach(), resmgr_context_t, resmgr_io_funcs_t




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