Контекст, используемый функциями менеджера ресурсов
#include <sys/resmgr.h>
typedef struct _resmgr_context {
int rcvid;
struct _msg_info info;
resmgr_iomsgs_t *msg;
dispatch_t *dpp;
int id;
unsigned tid;
unsigned msg_max_size;
int status;
int offset;
int size;
iov_t iov[1];
} resmgr_context_t;
Структура resmgr_context_t
определяет контекстную информацию, передающуюся в функции менеджера ресурсов. Структура имеет следующие поля:
- rcvid
- Идентификатор получения, который будет использоваться для сообщений к клиенту и от него.
- info
- Структура struct _msg_info, содержащая информацию о сообщении, полученном менджером ресурсов.
- msg
- Указатель на сообщение, полученное менеджером ресурсов, выраженный как объединение всех возможных типов сообщений.
- dpp
- Структура диспетчера, созданная при помощи dispatch_create().
- id
- Идентификатор ссылки, возвращенный resmgr_attach().
- tid
- Зарезервировано; данное поле всегда содержит нуль.
- msg_max_size
- Минимальный объем памяти, зарезервированный для приема сообщения.
- status
- Переменная для хранения статуса текущей операции. Следует использовать _RESMGR_STATUS() для установки значения данному полю.
- offset
- Смещение в байтах в сообщении клиента. Полезно при работе с комбинированными сообщениями.
- size
- Количество корректных байт в области сообщения.
- iov
- Вектор ввода/вывода, в который помещаются данные, возвращаемые клиенту.
ЗОСРВ «Нейтрино»
iov_t, dispatch_create(), struct _msg_info, MsgInfo(), resmgr_attach(), resmgr_context_alloc(), resmgr_context_free(), _RESMGR_STATUS()
Предыдущий раздел: Описание API системной библиотеки