struct _pulse

Структура, описывающая импульс

Прототип:

#include <sys/neutrino.h>
struct _pulse {
uint16_t type;
uint16_t subtype;
int8_t code;
uint8_t zero[3];
union sigval value;
int32_t scoid;
};

Описание:

Структура _pulse описывает импульс или неблокирующее сообщение фиксированного платформо-зависимого размера, которое характеризуется несколькими байтами данных и одним байтом с кодом импульса.


Caution: Размер данной структуры варьируется в зависимости от разрядности архитектуры.

В состав структуры входят:

type
_PULSE_TYPE( 0 )
subtype
_PULSE_SUBTYPE( 0 )
code
Код, определяющий тип импульса. В ЗОСРВ «Нейтрино» зарезервированы следующие отрицательные коды:
_PULSE_CODE_UNBLOCK
_PULSE_CODE_DISCONNECT
_PULSE_CODE_THREADDEATH
_PULSE_CODE_COIDDEATH
системные импульсы
_PULSE_CODE_NET_ACK
_PULSE_CODE_NET_UNBLOCK
_PULSE_CODE_NET_DETACH
зарезервировано для менеджера ресурсов io-pkt-*.

Имеется возможность определить свои собственные импульсы с кодом в диапазоне от _PULSE_CODE_MINAVAIL до _PULSE_CODE_MAXAVAIL.
value
Информация, и представляющая передаваемые данные. В соответствии с кодом пульса данные содержат:
_PULSE_CODE_UNBLOCK
идентификатор rcvid, связанный с заблокированным сообщением.
_PULSE_CODE_DISCONNECT
значение не определено.
_PULSE_CODE_THREADDEATH
идентификатор потока, который только что был терминирован.
_PULSE_CODE_COIDDEATH
идентификатор соединения, которое было подключено к только что закрытому каналу.

Дополнительные сведения см. в разделе ChannelCreate(). При определении собственных импульсов, можно собственноручно определить информацию, которую необходимо передавать в этом поле.
scoid
Идентификатор подключения к серверу.

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

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

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

ChannelCreate(), MsgReceive(), MsgReceivePulse(), MsgReceivePulsev(), MsgReceivev(), MsgSendPulse(), struct _pulse32, struct _pulse64, struct sigevent, union sigval, union __sigval32, union __sigval64




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