3.3. Messages

Message structures are used to encapsulate the information passed between processes. The underlying messaging primitives do not specify a data format so information concerning the sending task, the message length and message type is not necessarily available. The IP_Msg structure efficiently encapsulates this information, while following the OS convention on message type and subtype header information.

An IP_Msg is in fact a wrapper on a data buffer. Only the msg portion is transmitted or received into during an interprocess communication transaction. In most cases, the msg portion is a pointer to an IP_MsgBuffer structure which defines the message type, subtype, length and identifying information about the sender. The IP_MsgBuffer structure is of varying length, with the last part of the structure containing the data.