Структура, характеризующая сообщения менеджера ресурсов типа _IO_DEVCTL
#include <sys/iofunc.h>struct _io_devctl {uint16_t type;uint16_t combine_len;int32_t dcmd;int32_t nbytes;int32_t zero;/* char data[nbytes]; */};struct _io_devctl_reply {uint32_t zero;int32_t ret_val;int32_t nbytes;int32_t zero2;/* char data[nbytes]; */} ;typedef union {struct _io_devctl i;struct _io_devctl_reply o;} io_devctl_t;
Данная структура ассоциирована с сообщениями менеджера ресурсов типа _IO_DEVCTL
. Поле i определяет входящие данные (поступающие в менеджер ресурсов), поле o исходящие (отправляемые обратно клиенту).
Элемент i - структура _io_devctl
, содержит следующие элементы:
_IO_DEVCTL
_IO_COMBINE_FLAG
. Закомментированное объявление данных data указывает, что nbytes байт данных следуют непосредственно за структурой _io_devctl
.
Макрос _DEVCTL_DATA()
получает указатель на данные, следующие за сообщением. Вызывается следующим образом:
data = _DEVCTL_DATA( msg->i );
Элемент o сообщения io_devctl_t
представляет собой структуру типа _io_devctl_reply
, содержит следующие элементы:
Закомментированное объявление для data указывает, что nbytes байт данных следуют непосредственно за структурой _io_devctl_reply
.
ЗОСРВ «Нейтрино»
resmgr_io_funcs_t, iofunc_devctl_default(), iofunc_devctl()
Предыдущий раздел: Описание API системной библиотеки