_pulse

Structure that describes a pulse

Synopsis:

#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;
};

Description:

The _pulse structure describes a pulse, a fixed-size, nonblocking message that carries a small payload (four bytes of data plus a single byte code). The members include:

type
_PULSE_TYPE (0)
subtype
_PULSE_SUBTYPE (0)
code
A code that identifies the type of pulse. The QNX Neutrino OS reserves the negative codes, including the following:
  • _PULSE_CODE_UNBLOCK
  • _PULSE_CODE_DISCONNECT
  • _PULSE_CODE_THREADDEATH
  • _PULSE_CODE_COIDDEATH
  • _PULSE_CODE_NET_ACK, _PULSE_CODE_NET_UNBLOCK, and _PULSE_CODE_NET_DETACH — reserved for the io-pkt* resource manager.

You can define your own pulses, with a code in the range from _PULSE_CODE_MINAVAIL through _PULSE_CODE_MAXAVAIL.

value
Information that's relevant to the code:
  • _PULSE_CODE_UNBLOCK — the receive ID (rcvid) associated with the blocking message.
  • _PULSE_CODE_DISCONNECT — no value defined.
  • _PULSE_CODE_THREADDEATH — the thread ID of the thread that died.
  • _PULSE_CODE_COIDDEATH — the connection ID of a connection that was attached to a destroyed channel.

For more details, see ChannelCreate().

If you define your own pulses, you can decide what information you want to store in this field.

scoid
Server connection ID.

Classification:

QNX Neutrino