Operating systems, development tools, and professional services
for connected embedded systems
for connected embedded systems
![]() |
![]() |
![]() |
![]() |
_msg_info
Information about a message
Synopsis:
struct _msg_info { /* _msg_info _server_info */
uint32_t nd; /* client server */
uint32_t srcnd; /* server n/a */
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 */
int32_t msglen; /* msg n/a */
int32_t srcmsglen; /* thread n/a */
int32_t dstmsglen; /* thread n/a */
int16_t priority; /* thread n/a */
int16_t flags; /* n/a client */
uint32_t reserved;
};
Description:
The _msg_info structure contains information about a message. The members include:
- nd
- The node descriptor of the client machine as viewed by the server. See "Node descriptors," below.
- srcnd
- The node descriptor of the server, as viewed by the client.
- 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.
- 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. This member is valid only if you set _NTO_CHF_SENDER_LEN in the flags argument to ChannelCreate() for the channel that received the message.
- dstmsglen
- The length of the client's reply buffer, in bytes, as passed to MsgSend*(). This member is valid only if you set _NTO_CHF_REPLY_LEN in the flags argument to ChannelCreate() for the channel that received the message.
- priority
- The priority of the sending thread.
- flags
- The client has an unblock pending _NTO_MI_UNBLOCK_REQ (i.e. a timeout on the send occurred or a signal was delivered and _NTO_CHF_UNBLOCK is set on the channel).
![]() |
The msglen and srcmsglen members are valid only until the next call to MsgRead*() or MsgWrite*(). |
If msglen is less than srcmsglen and is also less than the receive buffer size, the message is a network transaction that requires more reading of data with MsgRead*().
Node descriptors
The nd (node descriptor) is a temporary numeric description of a remote node. For more information, see the Qnet Networking chapter of the System Architecture guide.
| To: | Use this function: |
|---|---|
| Compare two nd objects | ND_NODE_CMP() |
| Convert a nd to text | netmgr_ndtostr() |
| Convert text to a nd | netmgr_strtond() |
Classification:
See also:
MsgInfo(), MsgReceive(), MsgReceivev(), ND_NODE_CMP(), netmgr_ndtostr(), netmgr_remote_nd(), netmgr_strtond()
Message Passing chapter of Getting Started with QNX Neutrino
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
