As mentioned earlier, a message contains both system header information
and the actual message content. The system header is of the Message form
defined in <exec/ports.h> and <exec/ports.i>. In C this structure is as
follows:
struct Message {
struct Node mn_Node;
struct MsgPort *mn_ReplyPort;
UWORD mn_Length;
};
mn_Node
is a standard Node structure used for port linkage.
mn_ReplyPort
is used to indicate a port to which this message will be returned
when a reply is necessary.
mn_Length
indicates the total length of the message, including the Message
structure itself.
This structure is always attached to the head of all messages. For
example, if you want a message structure that contains the x and y
coordinates of a point on the screen, you could define it as follows:
struct XYMessage {
struct Message xy_Msg;
UWORD xy_X;
UWORD xy_Y;
}
For this structure, the mn_Length field should be set to sizeof(struct
XYMessage).
Putting a Message Getting a Message
Waiting For a Message Replying