diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-08-02 13:55:39 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-08-02 13:55:39 +0000 |
commit | a3c8bdabdb381c95fa42df0a9cd388d8c8201298 (patch) | |
tree | ac1e3f1d5e5b3283b367bc3931e47b3ed16dc5ef | |
parent | Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>: (diff) | |
download | rtems-a3c8bdabdb381c95fa42df0a9cd388d8c8201298.tar.bz2 |
Update from Andrew McDowell <drew@getaway.net>. DOS CR/LF, etc fixed
by Joel.
-rw-r--r-- | doc/itron3.0/mailbox.t | 92 |
1 files changed, 73 insertions, 19 deletions
diff --git a/doc/itron3.0/mailbox.t b/doc/itron3.0/mailbox.t index 99957a7daa..6aee7547b3 100644 --- a/doc/itron3.0/mailbox.t +++ b/doc/itron3.0/mailbox.t @@ -6,12 +6,13 @@ @c $Id$ @c + @chapter Mailbox Manager @section Introduction -The -mailbox manager is ... +The +mailbox manager is basically a linked list, hidden by the super core message queue and consists of a control block, a private structure. The control block comprises of the create mailbox structure, the message structure and the reference mailbox structure. The services provided by the mailbox manager are: @@ -25,6 +26,7 @@ The services provided by the mailbox manager are: @item @code{ref_mbx} - Reference Mailbox Status @end itemize + @section Background @section Operations @@ -42,6 +44,7 @@ and status codes. @c @page + @subsection cre_mbx - Create Mailbox @subheading CALLING SEQUENCE: @@ -60,9 +63,21 @@ ER cre_mbx( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_NOMEM} - Insufficient memory +@code{E_ID} - Invalid ID number +@code{E_RSATR} - Reserved attribute +@code{E_OBJ} - Invalid object state +@code{E_OACV} - Object access violation +@code{E_PAR} - Parameter error -@subheading DESCRIPTION: + +@subheading DESCRIPTION: Allocated a control area/buffer space for mailbox with some ID. + User area: +ve ids + System area: -ve ids +User may specify if its FIFO or priority level queue. +Assumes shared memory b/w communicating processes. +Initializes core message queue for this mbox. @subheading NOTES: @@ -72,6 +87,7 @@ ER cre_mbx( @c @page + @subsection del_mbx - Delete Mailbox @subheading CALLING SEQUENCE: @@ -89,9 +105,12 @@ ER del_mbx( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_ID} - Invalid ID number +@code{E_NOEXS} - Object does not exist +@code{E_OACV} - Object access violation -@subheading DESCRIPTION: +@subheading DESCRIPTION: Specified by the ID, cleans up all data structures and control blocks. @subheading NOTES: @@ -101,6 +120,7 @@ ER del_mbx( @c @page + @subsection snd_msg - Send Message to Mailbox @subheading CALLING SEQUENCE: @@ -119,9 +139,13 @@ ER snd_msg( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_ID} - Invalid ID number +@code{E_NOEXS} - Object does not exist +@code{E_OACV} - Object access violation +@code{E_QOVR} - Queueing or nesting overflow -@subheading DESCRIPTION: +@subheading DESCRIPTION: Sends the address of message to mbox having a given id, any waiting tasks (blocked tasks) will be woken up. It supports non-blocking send. @subheading NOTES: @@ -131,7 +155,8 @@ ER snd_msg( @c @page -@subsection rcv_msg - Receive Message from Mailbox + +@subsection rcv_msg - Receive Message from Mailbox @subheading CALLING SEQUENCE: @@ -149,9 +174,16 @@ ER rcv_msg( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_ID} - Invalid ID number +@code{E_NOEXS} - Object does not exist +@code{E_OACV} - Object access violation +@code{E_PAR} - Parameter error +@code{E_DLT} - The object being waited for was deleted +@code{E_RLWAI} - WAIT state was forcibly released +@code{E_CTX} - Context error -@subheading DESCRIPTION: +@subheading DESCRIPTION: If there is no message then receiver blocks, if not empty then it takes the first message of the queue. @subheading NOTES: @@ -161,13 +193,14 @@ ER rcv_msg( @c @page + @subsection prcv_msg - Poll and Receive Message from Mailbox @subheading CALLING SEQUENCE: @ifset is-C @example -ER ercd =prcv_msg( +ER prcv_msg( T_MSG **ppk_msg, ID mbxid ); @@ -179,9 +212,16 @@ ER ercd =prcv_msg( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_ID} - Invalid ID number +@code{E_NOEXS} - Object does not exist +@code{E_OACV} - Object access violation +@code{E_PAR} - Parameter error +@code{E_DLT} - The object being waited for was deleted +@code{E_RLWAI} - WAIT state was forcibly released +@code{E_CTX} - Context error -@subheading DESCRIPTION: +@subheading DESCRIPTION: Poll and receive message from mailbox. @subheading NOTES: @@ -191,13 +231,14 @@ ER ercd =prcv_msg( @c @page + @subsection trcv_msg - Receive Message from Mailbox with Timeout @subheading CALLING SEQUENCE: @ifset is-C @example -ER ercd =trcv_msg( +ER trcv_msg( T_MSG **ppk_msg, ID mbxid, TMO tmout @@ -210,9 +251,16 @@ ER ercd =trcv_msg( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_ID} - Invalid ID number +@code{E_NOEXS} - Object does not exist +@code{E_OACV} - Object access violation +@code{E_PAR} - Parameter error +@code{E_DLT} - The object being waited for was deleted +@code{E_RLWAI} - WAIT state was forcibly released +@code{E_CTX} - Context error -@subheading DESCRIPTION: +@subheading DESCRIPTION: Blocking receive with a maximum timeout. @subheading NOTES: @@ -222,6 +270,7 @@ ER ercd =trcv_msg( @c @page + @subsection ref_mbx - Reference Mailbox Status @subheading CALLING SEQUENCE: @@ -240,9 +289,14 @@ ER ref_mbx( @subheading STATUS CODES: -@code{EXXX} - +@code{E_OK} - Normal completion +@code{E_ID} - Invalid ID number +@code{E_NOEXS} - Object does not exist +@code{E_OACV} - Object access violation +@code{E_PAR} - Parameter error -@subheading DESCRIPTION: +@subheading DESCRIPTION: Supports non-blocking receive. If there are no messages, it returns -1. Also returns id of the next process waiting on a message. @subheading NOTES: + |