<p>A mailbox is an asynchronous communication mechanism.<br/>
Operations defined for mailboxes:</p>
<ul>
<li><b>Post</b>: Posts a message on the mailbox in FIFO order.</li>
<li><b>Post Ahead</b>: Posts a message on the mailbox with urgent priority.</li>
<li><b>Fetch</b>: A message is fetched from the mailbox and removed from the queue.</li>
<li><b>Reset</b>: The mailbox is emptied and all the stored messages are lost.</li>
</ul>
<p>A message is a variable of type msg_t that is guaranteed to have the same size of and be compatible with (data) pointers (anyway an explicit cast is needed). If larger messages need to be exchanged then a pointer to a structure can be posted in the mailbox but the posting side has no predefined way to know when the message has been processed. A possible approach is to allocate memory (from a memory pool as example) from the posting side and free it on the fetching side. Another approach is to set a "done" flag into the structure pointed by the message.<br/>
In order to use the mailboxes APIs the <code>CH_USE_MAILBOXES</code> option must be enabled in <code><aclass="el"href="chconf_8h.html"title="Configuration file template.">chconf.h</a></code>. </p>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the free space into the mailbox. <ahref="#ga883666d096d855c8c372c0241fc47142"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the number of messages into the mailbox. <ahref="#gad41c9e058c4a35cceeecbf21038f4c03"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the next message in the queue without removing it. <ahref="#ga620fdbcfe9e4f631f6ea87bed82aa581"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Data part of a static mailbox initializer. <ahref="#ga258b7bab4fa19d63854e7f7f2e3641e6"></a><br/></td></tr>
<tr><tdclass="memItemLeft"align="right"valign="top">#define </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group__mailboxes.html#gafb06e097629b88a09b1f29146a86bf20">MAILBOX_DECL</a>(name, buffer, size) Mailbox name = _MAILBOX_DATA(name, buffer, size)</td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes a Mailbox object. <ahref="#gaff65b97bfdbf9144e9727a100a9be93a"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Posts a message into a mailbox. <ahref="#ga9bafcc634765886f59cf68c0e35d070d"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Posts a message into a mailbox. <ahref="#gac6514c185ae87c2633132478ea48d689"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Posts an high priority message into a mailbox. <ahref="#ga55c5b8890b78127bc1fa5a324252d5e6"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Posts an high priority message into a mailbox. <ahref="#gaa9c91c0b781bec0df3540407d75b1bb3"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Retrieves a message from a mailbox. <ahref="#ga61543bf11d0caa737f5818c67548c055"></a><br/></td></tr>
<tr><tdclass="mdescLeft"> </td><tdclass="mdescRight">Retrieves a message from a mailbox. <ahref="#gadc562242a8854497a1f9539cb9ffea09"></a><br/></td></tr>
<dlclass="note"><dt><b>Note:</b></dt><dd>Can be invoked in any system state but if invoked out of a locked state then the returned value may change after reading. </dd>
<dd>
The returned value can be less than zero when there are waiting threads on the internal semaphore.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
</table>
</dd>
</dl>
<dlclass="return"><dt><b>Returns:</b></dt><dd>The number of empty message slots. </dd></dl>
<p>Definition at line <aclass="el"href="chmboxes_8h_source.html#l00093">93</a> of file <aclass="el"href="chmboxes_8h_source.html">chmboxes.h</a>.</p>
<p>Returns the number of messages into the mailbox. </p>
<dlclass="note"><dt><b>Note:</b></dt><dd>Can be invoked in any system state but if invoked out of a locked state then the returned value may change after reading. </dd>
<dd>
The returned value can be less than zero when there are waiting threads on the internal semaphore.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
</table>
</dd>
</dl>
<dlclass="return"><dt><b>Returns:</b></dt><dd>The number of queued messages. </dd></dl>
<p>Definition at line <aclass="el"href="chmboxes_8h_source.html#l00105">105</a> of file <aclass="el"href="chmboxes_8h_source.html">chmboxes.h</a>.</p>
<p>Returns the next message in the queue without removing it. </p>
<dlclass="note"><dt><b>Note:</b></dt><dd>A message must be waiting in the queue for this function to work or it would return garbage. The correct way to use this macro is to use <code><aclass="el"href="group__mailboxes.html#gad41c9e058c4a35cceeecbf21038f4c03"title="Returns the number of messages into the mailbox.">chMBGetFull()</a></code> and then use this macro, all within a lock state. </dd></dl>
<p>Definition at line <aclass="el"href="chmboxes_8h_source.html#l00114">114</a> of file <aclass="el"href="chmboxes_8h_source.html">chmboxes.h</a>.</p>
(<aclass="code"href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3"title="Message, use signed pointer equivalent.">msg_t</a> *)(buffer), \
(<aclass="code"href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3"title="Message, use signed pointer equivalent.">msg_t</a> *)(buffer) + size, \
(<aclass="code"href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3"title="Message, use signed pointer equivalent.">msg_t</a> *)(buffer), \
(<aclass="code"href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3"title="Message, use signed pointer equivalent.">msg_t</a> *)(buffer), \
<aclass="code"href="group__semaphores.html#ga1100c867cc8bd8328f7a7db5e7c74f6d"title="Data part of a static semaphore initializer.">_SEMAPHORE_DATA</a>(name.mb_fullsem, 0), \
<aclass="code"href="group__semaphores.html#ga1100c867cc8bd8328f7a7db5e7c74f6d"title="Data part of a static semaphore initializer.">_SEMAPHORE_DATA</a>(name.mb_emptysem, size), \
}
</pre></div>
<p>Data part of a static mailbox initializer. </p>
<p>This macro should be used when statically initializing a mailbox that is part of a bigger structure.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>name</em> </td><td>the name of the mailbox variable </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>buffer</em> </td><td>pointer to the mailbox buffer area </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>size</em> </td><td>size of the mailbox buffer area </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="chmboxes_8h_source.html#l00125">125</a> of file <aclass="el"href="chmboxes_8h_source.html">chmboxes.h</a>.</p>
<p>Statically initialized mailboxes require no explicit initialization using <code><aclass="el"href="group__mailboxes.html#gaff65b97bfdbf9144e9727a100a9be93a"title="Initializes a Mailbox object.">chMBInit()</a></code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>name</em> </td><td>the name of the mailbox variable </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>buffer</em> </td><td>pointer to the mailbox buffer area </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>size</em> </td><td>size of the mailbox buffer area </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="chmboxes_8h_source.html#l00143">143</a> of file <aclass="el"href="chmboxes_8h_source.html">chmboxes.h</a>.</p>
<tr><tdvalign="top"><tt>[out]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to the Mailbox structure to be initialized </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>n</em> </td><td>the buffer size as number of <code>msg_t</code></td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="chmboxes_8c_source.html#l00069">69</a> of file <aclass="el"href="chmboxes_8c_source.html">chmboxes.c</a>.</p>
<p>References <aclass="el"href="group__debug.html#ga6bb6c0f97caab3a66332c8bfbf7a3844">chDbgCheck</a>, and <aclass="el"href="group__semaphores.html#gafe8fc6155a871074e8017efd908b2c58">chSemInit()</a>.</p>
<areashape="rect"id="node3"href="group__semaphores.html#gafe8fc6155a871074e8017efd908b2c58"title="Initializes a semaphore with the specified counter value."alt=""coords="119,5,185,32"/></map>
<areashape="rect"id="node3"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="131,5,248,32"/><areashape="rect"id="node9"href="group__semaphores.html#gae7972b6b22b80ac09bac5a186277ab81"title="Performs a reset operation on the semaphore."alt=""coords="147,56,232,83"/><areashape="rect"id="node5"href="group__scheduler.html#ga0257cf203e72a766a52059750cb97e6e"title="Switches to the first thread on the runnable queue."alt=""coords="296,5,421,32"/><areashape="rect"id="node7"href="group__scheduler.html#ga535d58cfb3436c8d4e4586c31c062298"title="Inserts a thread in the Ready List."alt=""coords="471,31,556,57"/><areashape="rect"id="node12"href="group__internals.html#gacacfe77140cab62948e63d898bf4dfba"title="Removes the last-out Thread from a queue and returns it."alt=""coords="320,107,397,133"/></map>
<p>The invoking thread waits until a empty slot in the mailbox becomes available or the specified time runs out.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>msg</em> </td><td>the message to be posted on the mailbox </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>time</em> </td><td>the number of ticks before the operation timeouts, the following special values are allowed:</p>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_OK</em> </td><td>if the message was correctly posted. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_RESET</em> </td><td>if the mailbox was reset while waiting. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_TIMEOUT</em> </td><td>if the operation timed out. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="chmboxes_8c_source.html#l00115">115</a> of file <aclass="el"href="chmboxes_8c_source.html">chmboxes.c</a>.</p>
<p>References <aclass="el"href="group__mailboxes.html#gac6514c185ae87c2633132478ea48d689">chMBPostS()</a>, <aclass="el"href="group__system.html#ga9f6573c0763d1e4e97c63c62edad6e42">chSysLock</a>, and <aclass="el"href="group__system.html#ga5a257fa58a09815eb64a45e2dfbdc22e">chSysUnlock</a>.</p>
<areashape="rect"id="node3"href="group__mailboxes.html#gac6514c185ae87c2633132478ea48d689"title="Posts a message into a mailbox."alt=""coords="125,56,203,83"/><areashape="rect"id="node5"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="252,5,369,32"/><areashape="rect"id="node7"href="group__semaphores.html#gaca0b70cf495a9cb7569e1cf5b07e2b3d"title="Performs a signal operation on a semaphore."alt=""coords="268,56,353,83"/><areashape="rect"id="node9"href="group__semaphores.html#ga924ec5d191bb8debe8727ae4dd5d6d03"title="Performs a wait operation on a semaphore with timeout specification."alt=""coords="251,107,371,133"/></map>
<p>The invoking thread waits until a empty slot in the mailbox becomes available or the specified time runs out.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>msg</em> </td><td>the message to be posted on the mailbox </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>time</em> </td><td>the number of ticks before the operation timeouts, the following special values are allowed:</p>
<areashape="rect"id="node3"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="132,56,249,83"/><areashape="rect"id="node11"href="group__semaphores.html#gaca0b70cf495a9cb7569e1cf5b07e2b3d"title="Performs a signal operation on a semaphore."alt=""coords="325,5,411,32"/><areashape="rect"id="node15"href="group__semaphores.html#ga924ec5d191bb8debe8727ae4dd5d6d03"title="Performs a wait operation on a semaphore with timeout specification."alt=""coords="131,107,251,133"/><areashape="rect"id="node5"href="group__scheduler.html#ga0257cf203e72a766a52059750cb97e6e"title="Switches to the first thread on the runnable queue."alt=""coords="305,56,431,83"/><areashape="rect"id="node7"href="group__scheduler.html#ga535d58cfb3436c8d4e4586c31c062298"title="Inserts a thread in the Ready List."alt=""coords="487,5,572,32"/><areashape="rect"id="node9"href="group__internals.html#ga042479f09357fc59befebf4dfe0e9f4a"title="Removes the first-out Thread from a queue and returns it."alt=""coords="489,56,569,83"/><areashape="rect"id="node17"href="group__scheduler.html#ga306e564f678c1a39139639490c77e78b"title="Puts the current thread to sleep into the specified state with timeout specification."alt=""coords="299,107,437,133"/></map>
<p>Posts an high priority message into a mailbox. </p>
<p>The invoking thread waits until a empty slot in the mailbox becomes available or the specified time runs out.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>msg</em> </td><td>the message to be posted on the mailbox </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>time</em> </td><td>the number of ticks before the operation timeouts, the following special values are allowed:</p>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_OK</em> </td><td>if the message was correctly posted. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_RESET</em> </td><td>if the mailbox was reset while waiting. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_TIMEOUT</em> </td><td>if the operation timed out. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="chmboxes_8c_source.html#l00174">174</a> of file <aclass="el"href="chmboxes_8c_source.html">chmboxes.c</a>.</p>
<p>References <aclass="el"href="group__mailboxes.html#gaa9c91c0b781bec0df3540407d75b1bb3">chMBPostAheadS()</a>, <aclass="el"href="group__system.html#ga9f6573c0763d1e4e97c63c62edad6e42">chSysLock</a>, and <aclass="el"href="group__system.html#ga5a257fa58a09815eb64a45e2dfbdc22e">chSysUnlock</a>.</p>
<areashape="rect"id="node3"href="group__mailboxes.html#gaa9c91c0b781bec0df3540407d75b1bb3"title="Posts an high priority message into a mailbox."alt=""coords="157,56,267,83"/><areashape="rect"id="node5"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="316,5,433,32"/><areashape="rect"id="node7"href="group__semaphores.html#gaca0b70cf495a9cb7569e1cf5b07e2b3d"title="Performs a signal operation on a semaphore."alt=""coords="332,56,417,83"/><areashape="rect"id="node9"href="group__semaphores.html#ga924ec5d191bb8debe8727ae4dd5d6d03"title="Performs a wait operation on a semaphore with timeout specification."alt=""coords="315,107,435,133"/></map>
<p>Posts an high priority message into a mailbox. </p>
<p>The invoking thread waits until a empty slot in the mailbox becomes available or the specified time runs out.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>msg</em> </td><td>the message to be posted on the mailbox </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>time</em> </td><td>the number of ticks before the operation timeouts, the following special values are allowed:</p>
<areashape="rect"id="node3"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="164,56,281,83"/><areashape="rect"id="node11"href="group__semaphores.html#gaca0b70cf495a9cb7569e1cf5b07e2b3d"title="Performs a signal operation on a semaphore."alt=""coords="357,5,443,32"/><areashape="rect"id="node15"href="group__semaphores.html#ga924ec5d191bb8debe8727ae4dd5d6d03"title="Performs a wait operation on a semaphore with timeout specification."alt=""coords="163,107,283,133"/><areashape="rect"id="node5"href="group__scheduler.html#ga0257cf203e72a766a52059750cb97e6e"title="Switches to the first thread on the runnable queue."alt=""coords="337,56,463,83"/><areashape="rect"id="node7"href="group__scheduler.html#ga535d58cfb3436c8d4e4586c31c062298"title="Inserts a thread in the Ready List."alt=""coords="519,5,604,32"/><areashape="rect"id="node9"href="group__internals.html#ga042479f09357fc59befebf4dfe0e9f4a"title="Removes the first-out Thread from a queue and returns it."alt=""coords="521,56,601,83"/><areashape="rect"id="node17"href="group__scheduler.html#ga306e564f678c1a39139639490c77e78b"title="Puts the current thread to sleep into the specified state with timeout specification."alt=""coords="331,107,469,133"/></map>
<p>The invoking thread waits until a message is posted in the mailbox or the specified time runs out.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
<tr><tdvalign="top"><tt>[out]</tt> </td><tdvalign="top"><em>msgp</em> </td><td>pointer to a message variable for the received message </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>time</em> </td><td>the number of ticks before the operation timeouts, the following special values are allowed:</p>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_OK</em> </td><td>if a message was correctly fetched. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_RESET</em> </td><td>if the mailbox was reset while waiting. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>RDY_TIMEOUT</em> </td><td>if the operation timed out. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="chmboxes_8c_source.html#l00233">233</a> of file <aclass="el"href="chmboxes_8c_source.html">chmboxes.c</a>.</p>
<p>References <aclass="el"href="group__mailboxes.html#gadc562242a8854497a1f9539cb9ffea09">chMBFetchS()</a>, <aclass="el"href="group__system.html#ga9f6573c0763d1e4e97c63c62edad6e42">chSysLock</a>, and <aclass="el"href="group__system.html#ga5a257fa58a09815eb64a45e2dfbdc22e">chSysUnlock</a>.</p>
<areashape="rect"id="node3"href="group__mailboxes.html#gadc562242a8854497a1f9539cb9ffea09"title="Retrieves a message from a mailbox."alt=""coords="131,56,213,83"/><areashape="rect"id="node5"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="263,5,380,32"/><areashape="rect"id="node7"href="group__semaphores.html#gaca0b70cf495a9cb7569e1cf5b07e2b3d"title="Performs a signal operation on a semaphore."alt=""coords="279,56,364,83"/><areashape="rect"id="node9"href="group__semaphores.html#ga924ec5d191bb8debe8727ae4dd5d6d03"title="Performs a wait operation on a semaphore with timeout specification."alt=""coords="261,107,381,133"/></map>
<p>The invoking thread waits until a message is posted in the mailbox or the specified time runs out.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>mbp</em> </td><td>the pointer to an initialized Mailbox object </td></tr>
<tr><tdvalign="top"><tt>[out]</tt> </td><tdvalign="top"><em>msgp</em> </td><td>pointer to a message variable for the received message </td></tr>
<tr><tdvalign="top"><tt>[in]</tt> </td><tdvalign="top"><em>time</em> </td><td>the number of ticks before the operation timeouts, the following special values are allowed:</p>
<areashape="rect"id="node3"href="group__scheduler.html#ga4e38b4bee3d2330f6a0f1cdb7660af20"title="Performs a reschedule if a higher priority thread is runnable."alt=""coords="137,56,255,83"/><areashape="rect"id="node11"href="group__semaphores.html#gaca0b70cf495a9cb7569e1cf5b07e2b3d"title="Performs a signal operation on a semaphore."alt=""coords="331,5,416,32"/><areashape="rect"id="node15"href="group__semaphores.html#ga924ec5d191bb8debe8727ae4dd5d6d03"title="Performs a wait operation on a semaphore with timeout specification."alt=""coords="136,107,256,133"/><areashape="rect"id="node5"href="group__scheduler.html#ga0257cf203e72a766a52059750cb97e6e"title="Switches to the first thread on the runnable queue."alt=""coords="311,56,436,83"/><areashape="rect"id="node7"href="group__scheduler.html#ga535d58cfb3436c8d4e4586c31c062298"title="Inserts a thread in the Ready List."alt=""coords="492,5,577,32"/><areashape="rect"id="node9"href="group__internals.html#ga042479f09357fc59befebf4dfe0e9f4a"title="Removes the first-out Thread from a queue and returns it."alt=""coords="495,56,575,83"/><areashape="rect"id="node17"href="group__scheduler.html#ga306e564f678c1a39139639490c77e78b"title="Puts the current thread to sleep into the specified state with timeout specification."alt=""coords="304,107,443,133"/></map>
Generated on Sun Nov 28 2010 14:09:56 for ChibiOS/RT by <ahref="http://www.doxygen.org/index.html"><imgsrc="doxygen.png"alt="doxygen"align="middle"border="0"></a> 1.7.1</small></address>