ECROS provides a message mechanism to pass information between tasks. Messages can be placed in message queue by the sender and later retrieved from the message queue by the recipient. A message queue can send an event pattern to a task when it is empty and accepts a message. This allows the receiving task to become ready when a message enters a queue for it to process.
ECROS defines an integer type OsMsgDataT for message data. The size is such that the message can represent a memory address. Using appropriate pointer-to-integer and integer-to-pointer casts, an application can use a data structure to pass an arbitrary amount of information through the message mechanism. Of course, if the entire content of the message fits in the message data type, it should be passed in this way.