iofunc_ocb_calloc()

Выделить память для блока открытого контекста (OCB, Open Control Block)

Прототип:

#include <sys/iofunc.h>
iofunc_ocb_t * iofunc_ocb_calloc( resmgr_context_t *ctp,
iofunc_attr_t *attr );

Аргументы:

ctp
Указатель на структуру resmgr_context_t, которую библиотека менеджера ресурсов использует для передачи контекстной информации между функциями.
attr
Указатель на атрибутную запись iofunc_attr_t, описывающую характеристики устройства, связанного с менеджером ресурсов.

Библиотека:

libc

Описание:

Функция iofunc_ocb_calloc() выделяет память для OCB. Имеет ряд применений:


Note: Следует заполнить структуру attr->mount вместо замены этой функции.

Если в структуре mount указать собственные обработчики iofunc_ocb_calloc() и iofunc_ocb_free(), то следует использовать их вместо вызова стандартных функций iofunc_ocb_calloc() и iofunc_ocb_free().


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

Указатель на структуру OCB iofunc_ocb_t.

Примеры:

Переопределение iofunc_ocb_calloc() и iofunc_ocb_free() для управления расширенным OCB:

typedef struct
{
iofunc_ocb_t iofuncOCB; /* OCB, использующийся iofunc_* */
int myFlags;
char moreOfMyStuff;
} MyOCBT;
MyOCBT *iofunc_ocb_calloc( resmgr_context_t *ctp, iofunc_attr_t *attr )
{
return ((MyOCBT *)calloc( 1, sizeof( MyOCBT ) );
}
void iofunc_ocb_free( MyOCBT *ocb )
{
free( ocb );
}

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

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

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

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

iofunc_ocb_free(), iofunc_ocb_t, resmgr_context_t




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