- 49 -
T_MSG
header
T_MSG
header
T_MSG
header
Message
queue
Message A
Message B
Message C
Figure 4.16 Message queue
There are following data queue service calls that are provided by the MR100 kernel.
•
Send to Mailbox (snd_mbx, isnd_mbx)
Transmits a message. Namely, a message is dropped into the mailbox.
•
Receive from Mailbox (rcv_mbx, trcv_mbx)
Receives a message. Namely, a message is retrieved from the mailbox. At this time, if the mailbox has no mes-
sages in it, the task is kept waiting until a message is sent to the mailbox.
•
Receive from Mailbox (polling) (prcv_mbx, iprcv_mbx)
Receives a message. The difference from the rcv_mbx service call is that if the mailbox has no messages in it, the
task returns error code without going to a wait state.
•
Reference Mailbox Status (ref_mbx, iref_mbx)
Checks to see if there are any tasks waiting for a message to be put into the target mailbox and refers to the mes-
sage present at the top of the mailbox.