_msg_info

QNX SDP8.0C Library ReferenceAPIDeveloper

Information about a message

Synopsis:

#include <sys/neutrino.h>

struct _msg_info_hdr {    /* _msg_info    _server_info */
    uint32_t  reserved[2];         /*  reserved */
    pid_t     pid;        /*  client      server */
    int32_t   tid;        /*  thread      n/a */
    int32_t   chid;       /*  server      server */
    int32_t   scoid;      /*  server      server */
    int32_t   coid;       /*  client      client */   
};

struct _msg_info32 {      /* _msg_info    _server_info */
    uint32_t  reserved[2];         /*  reserved  */
    pid_t     pid;        /*  client      server */
    int32_t   tid;        /*  thread      n/a */
    int32_t   chid;       /*  server      server */
    int32_t   scoid;      /*  server      server */
    int32_t   coid;       /*  client      client */
    ssize32_t msglen;     /*  msg         n/a */
    ssize32_t srcmsglen;  /*  thread      n/a */
    ssize32_t dstmsglen;  /*  thread      n/a */
    int16_t   priority;   /*  thread      n/a */
    int16_t   flags;      /*  n/a         client */
    uint32_t  type_id;    /*  client      server channel */
};

struct _msg_info64 {      /* _msg_info    _server_info */
    uint32_t  reserved[2];         /*  reserved  */
    pid_t     pid;        /*  client      server */
    int32_t   tid;        /*  thread      n/a */
    int32_t   chid;       /*  server      server */
    int32_t   scoid;      /*  server      server */
    int32_t   coid;       /*  client      client */
    int16_t   priority;   /*  thread      n/a */
    int16_t   flags;      /*  n/a         client */
    ssize64_t msglen;     /*  msg         n/a */
    ssize64_t srcmsglen;  /*  thread      n/a */
    ssize64_t dstmsglen;  /*  thread      n/a */
    uint32_t  type_id;    /*  client      server channel */
    uint32_t  reserved;
};

#if __PTR_BITS__ <= 32
    #define _msg_info   _msg_info32
#else
    #define _msg_info   _msg_info64
#endif
#define _server_info32  _msg_info32
#define _server_info64  _msg_info64
#define _server_info    _msg_info

Description:

The _msg_info structure contains information about a message. The members include:

reserved[2]
Currently unused.
pid
The process ID of the sending thread.
tid
The thread ID of the sending thread.
chid
The channel ID that the message was received on.
scoid
The server connection ID. This is a unique server-side client process identifier, corresponding to a particular process ID.
coid
The client connection ID.
msglen
The number of bytes received.
srcmsglen
The length of the source message, in bytes, as sent by MsgSend*(). This may be greater than the value in msglen.
dstmsglen
The length of the client's reply buffer, in bytes, as passed to MsgSend*().
priority
The priority of the sending thread.
flags
Flags that provide information about the sender and message:
  • _NTO_MI_CHROOTchroot() has been applied to the client process.
  • _NTO_MI_CONSTRAINED — the message was received from a resource-constrained client. A thread that allocates resource on behalf of a constrained client should temporarily constrain itself too; see Resource constraint thresholds in the Processes chapter of the QNX OS Programmer's Guide.
  • _NTO_MI_UNBLOCK_REQ — the client has an unblock pending (i.e., a timeout on the send occurred or a signal was delivered and _NTO_CHF_UNBLOCK is set on the channel).
type_id
The type identifier of the process that sent the message.

Classification:

QNX OS

Page updated: