iofunc_openfd()

Инкрементировать счетчик и флаги блокировки

Прототип:

#include <sys/iofunc.h>
int iofunc_openfd( resmgr_context_t *ctp,
io_openfd_t *msg,
iofunc_ocb_t *ocb,
iofunc_attr_t *attr );

Аргументы:

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

Библиотека:

libc

Описание:

Вспомогательная функция iofunc_openfd() проверяет режим, указанный в сообщении _IO_OPENFD, и увеличивает счетчики чтения и записи (ocb->attr->rcount и ocb->attr->wcount) и счетчики блокировок (ocb->attr->rlocks и ocb->attr->wlocks), в соответствии с режимом открытия.

Функция выполняет необходимые для поддержки функции openfd() действия.

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

EOK
Успешное завершение.
EACCES
Нет прав на открытие файла.
EBUSY
У файла есть использующиеся блокировки.

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

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

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

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

io_openfd_t, iofunc_ocb_attach(), iofunc_openfd_default(), struct _msg_info, openfd(), resmgr_context_t




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