Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

_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_net 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

See also:

ChannelCreate(), MsgReceive(), MsgReceivePulse(), MsgReceivePulsev(), MsgReceivev(), MsgSendPulse(), sigevent


[Previous] [Contents] [Index] [Next]