Информация о сообщении
#include <sys/neutrino.h>struct _msg_info { /* _msg_info _server_info */_Uint32t nd; /* client server */_Uint32t srcnd; /* server - */pid_t pid; /* client server */_Int32t tid; /* thread - */_Int32t chid; /* server server */_Int32t scoid; /* server server */_Int32t coid; /* client client */_Int32t msglen; /* msg - */_Int32t srcmsglen; /* thread - */_Int32t dstmsglen; /* thread - */_Int16t priority; /* thread - */_Int16t flags; /* - client */_Uint32t reserved;};
Структура _msg_info
содержит информацию о сообщении. Включает следующие поля:
_NTO_CHF_SENDER_LEN
в аргументе flags функции ChannelCreate() при создании канала, по которому было получено сообщение. _NTO_CHF_REPLY_LEN
в аргумент flags функции ChannelCreate() при создании канал, по которому было получено сообщение. _NTO_CHF_UNBLOCK
для канала).
Если значение поля msglen меньше srcmsglen и меньше размера полусенного буфера, сообщения представляет собой сетевую транзакцию, которая требует дополнительного чтения данных функцией MsgRead*().
Дескриптор узла nd - это временное числовое описание удалённого узла; ND_LOCAL_NODE
(или 0
) - это дескриптор локального узла.
Для: | Использовать функцию: |
---|---|
Сравнения двух nd объектов | ND_NODE_CMP() |
Преобразования nd в текст | netmgr_ndtostr() |
Преобразования текста в nd | netmgr_strtond() |
ЗОСРВ «Нейтрино»
struct _server_info, MsgInfo(), MsgRead*(), MsgReceive(), MsgReceivev(), MsgSend*(), MsgWrite*(), ND_NODE_CMP(), netmgr_ndtostr(), netmgr_remote_nd(), netmgr_strtond()
Предыдущий раздел: Описание API системной библиотеки