io_devctl_t

Структура, характеризующая сообщения менеджера ресурсов типа _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, содержит следующие элементы:

type
_IO_DEVCTL
combine_len
Если сообщение комбинированное, устанавливается в _IO_COMBINE_FLAG.
dcmd
Команда управления устройством.
nbytes
Количество байт данных, передаваемых c командой.

Закомментированное объявление данных data указывает, что nbytes байт данных следуют непосредственно за структурой _io_devctl.

Макрос _DEVCTL_DATA() получает указатель на данные, следующие за сообщением. Вызывается следующим образом:

data = _DEVCTL_DATA( msg->i );

Элемент o сообщения io_devctl_t представляет собой структуру типа _io_devctl_reply, содержит следующие элементы:

ret_val
Значение, возвращаемое командой.
nbytes
Количество возвращаемых байт данных.

Закомментированное объявление для data указывает, что nbytes байт данных следуют непосредственно за структурой _io_devctl_reply.

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

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

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

resmgr_io_funcs_t, iofunc_devctl_default(), iofunc_devctl()




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