iofunc_ocb_attach()

Инициализировать блок открытого контекста (OCB, Open Control Block)

Прототип:

#include <sys/iofunc.h>
int iofunc_ocb_attach( resmgr_context_t *ctp,
io_open_t *msg,
iofunc_ocb_t *ocb,
iofunc_attr_t *attr,
const resmgr_io_funcs_t *io_funcs );

Аргументы:

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

Библиотека:

libc

Описание:

Функция iofunc_ocb_attach() проверяет режим, указанный в msg, увеличивает счётчики количества чтений и записей (ocb->attr->rcount и ocb->attr->wcount) и флаги блокировки (ocb->attr->rlocks и ocb->attr->wlocks), как указано в режиме доступа при открытии.

Эта функция вызывается из iofunc_open_default() как часть ее инициализации.

Эта функция выделяет память для OCB (Open Control Block), если в качестве ocb передан NULL.

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

EOK
Успешное завершение.

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

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

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

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

io_open_t, iofunc_attr_init(), iofunc_attr_t, iofunc_ocb_detach(), iofunc_ocb_t, iofunc_open_default(), resmgr_context_t, resmgr_io_funcs_t




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