Changeset a3c8bda in rtems
- Timestamp:
- 08/02/99 13:55:39 (24 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- bd527866
- Parents:
- 1896a650
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/itron3.0/mailbox.t
r1896a650 ra3c8bda 7 7 @c 8 8 9 9 10 @chapter Mailbox Manager 10 11 11 12 @section Introduction 12 13 13 The 14 mailbox manager is ...14 The 15 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. 15 16 16 17 The services provided by the mailbox manager are: … … 26 27 @end itemize 27 28 29 28 30 @section Background 29 31 … … 43 45 44 46 @page 47 45 48 @subsection cre_mbx - Create Mailbox 46 49 … … 61 64 @subheading STATUS CODES: 62 65 63 @code{EXXX} - 64 65 @subheading DESCRIPTION: 66 @code{E_OK} - Normal completion 67 @code{E_NOMEM} - Insufficient memory 68 @code{E_ID} - Invalid ID number 69 @code{E_RSATR} - Reserved attribute 70 @code{E_OBJ} - Invalid object state 71 @code{E_OACV} - Object access violation 72 @code{E_PAR} - Parameter error 73 74 75 @subheading DESCRIPTION: Allocated a control area/buffer space for mailbox with some ID. 76 User area: +ve ids 77 System area: -ve ids 78 User may specify if its FIFO or priority level queue. 79 Assumes shared memory b/w communicating processes. 80 Initializes core message queue for this mbox. 66 81 67 82 @subheading NOTES: … … 73 88 74 89 @page 90 75 91 @subsection del_mbx - Delete Mailbox 76 92 … … 90 106 @subheading STATUS CODES: 91 107 92 @code{EXXX} - 93 94 @subheading DESCRIPTION: 108 @code{E_OK} - Normal completion 109 @code{E_ID} - Invalid ID number 110 @code{E_NOEXS} - Object does not exist 111 @code{E_OACV} - Object access violation 112 113 @subheading DESCRIPTION: Specified by the ID, cleans up all data structures and control blocks. 95 114 96 115 @subheading NOTES: … … 102 121 103 122 @page 123 104 124 @subsection snd_msg - Send Message to Mailbox 105 125 … … 120 140 @subheading STATUS CODES: 121 141 122 @code{EXXX} - 123 124 @subheading DESCRIPTION: 142 @code{E_OK} - Normal completion 143 @code{E_ID} - Invalid ID number 144 @code{E_NOEXS} - Object does not exist 145 @code{E_OACV} - Object access violation 146 @code{E_QOVR} - Queueing or nesting overflow 147 148 @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. 125 149 126 150 @subheading NOTES: … … 132 156 133 157 @page 134 @subsection rcv_msg - Receive Message from Mailbox 158 159 @subsection rcv_msg - Receive Message from Mailbox 135 160 136 161 @subheading CALLING SEQUENCE: … … 150 175 @subheading STATUS CODES: 151 176 152 @code{EXXX} - 153 154 @subheading DESCRIPTION: 177 @code{E_OK} - Normal completion 178 @code{E_ID} - Invalid ID number 179 @code{E_NOEXS} - Object does not exist 180 @code{E_OACV} - Object access violation 181 @code{E_PAR} - Parameter error 182 @code{E_DLT} - The object being waited for was deleted 183 @code{E_RLWAI} - WAIT state was forcibly released 184 @code{E_CTX} - Context error 185 186 @subheading DESCRIPTION: If there is no message then receiver blocks, if not empty then it takes the first message of the queue. 155 187 156 188 @subheading NOTES: … … 162 194 163 195 @page 196 164 197 @subsection prcv_msg - Poll and Receive Message from Mailbox 165 198 … … 168 201 @ifset is-C 169 202 @example 170 ER ercd =prcv_msg(203 ER prcv_msg( 171 204 T_MSG **ppk_msg, 172 205 ID mbxid … … 180 213 @subheading STATUS CODES: 181 214 182 @code{EXXX} - 183 184 @subheading DESCRIPTION: 215 @code{E_OK} - Normal completion 216 @code{E_ID} - Invalid ID number 217 @code{E_NOEXS} - Object does not exist 218 @code{E_OACV} - Object access violation 219 @code{E_PAR} - Parameter error 220 @code{E_DLT} - The object being waited for was deleted 221 @code{E_RLWAI} - WAIT state was forcibly released 222 @code{E_CTX} - Context error 223 224 @subheading DESCRIPTION: Poll and receive message from mailbox. 185 225 186 226 @subheading NOTES: … … 192 232 193 233 @page 234 194 235 @subsection trcv_msg - Receive Message from Mailbox with Timeout 195 236 … … 198 239 @ifset is-C 199 240 @example 200 ER ercd =trcv_msg(241 ER trcv_msg( 201 242 T_MSG **ppk_msg, 202 243 ID mbxid, … … 211 252 @subheading STATUS CODES: 212 253 213 @code{EXXX} - 214 215 @subheading DESCRIPTION: 254 @code{E_OK} - Normal completion 255 @code{E_ID} - Invalid ID number 256 @code{E_NOEXS} - Object does not exist 257 @code{E_OACV} - Object access violation 258 @code{E_PAR} - Parameter error 259 @code{E_DLT} - The object being waited for was deleted 260 @code{E_RLWAI} - WAIT state was forcibly released 261 @code{E_CTX} - Context error 262 263 @subheading DESCRIPTION: Blocking receive with a maximum timeout. 216 264 217 265 @subheading NOTES: … … 223 271 224 272 @page 273 225 274 @subsection ref_mbx - Reference Mailbox Status 226 275 … … 241 290 @subheading STATUS CODES: 242 291 243 @code{EXXX} - 244 245 @subheading DESCRIPTION: 246 247 @subheading NOTES: 248 292 @code{E_OK} - Normal completion 293 @code{E_ID} - Invalid ID number 294 @code{E_NOEXS} - Object does not exist 295 @code{E_OACV} - Object access violation 296 @code{E_PAR} - Parameter error 297 298 @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. 299 300 @subheading NOTES: 301 302
Note: See TracChangeset
for help on using the changeset viewer.