gnuk/ChibiOS_2.0.2/docs/html/chevents_8h.html

100 lines
15 KiB
HTML
Raw Normal View History

2010-08-10 03:11:02 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChibiOS/RT: chevents.h File Reference</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
</table>
<hr size="1">
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>chevents.h File Reference</h1>
<p>Events macros and structures.
<a href="#_details">More...</a></p>
<p><a href="chevents_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_event_listener.html">EventListener</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event Listener structure. <a href="struct_event_listener.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_event_source.html">EventSource</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event Source structure. <a href="struct_event_source.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga00aa72be61db8d43dbca3a3ba7cecf6b">_EVENTSOURCE_DATA</a>(name)&nbsp;&nbsp;&nbsp;{(void *)(&amp;name)}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data part of a static event source initializer. <a href="group__events.html#ga00aa72be61db8d43dbca3a3ba7cecf6b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gaeb4c660b05db4760eab6093499963314">EVENTSOURCE_DECL</a>(name)&nbsp;&nbsp;&nbsp;<a class="el" href="struct_event_source.html">EventSource</a> name = _EVENTSOURCE_DATA(name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Static event source initializer. <a href="group__events.html#gaeb4c660b05db4760eab6093499963314"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gaed91c5e7fac293ba4fd2181dca73a59e">ALL_EVENTS</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>)-1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gaad4eb14b222d2668a8ab6e7f52192f3f">EVENT_MASK</a>(eid)&nbsp;&nbsp;&nbsp;((<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>)(1 &lt;&lt; (eid)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gad478062f3e09d00e1ad8ebe65a06ec0c">chEvtRegister</a>(esp, elp, eid)&nbsp;&nbsp;&nbsp;chEvtRegisterMask(esp, elp, EVENT_MASK(eid))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers an Event Listener on an Event Source. <a href="group__events.html#gad478062f3e09d00e1ad8ebe65a06ec0c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gab8d0fdc09be629dfb438c32a0523db42">chEvtInit</a>(esp)&nbsp;&nbsp;&nbsp;((esp)-&gt;es_next = (<a class="el" href="struct_event_listener.html">EventListener</a> *)(void *)(esp))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes an Event Source. <a href="group__events.html#gab8d0fdc09be629dfb438c32a0523db42"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f">chEvtIsListening</a>(esp)&nbsp;&nbsp;&nbsp;((void *)(esp) != (void *)(esp)-&gt;es_next)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifies if there is at least one <code><a class="el" href="struct_event_listener.html" title="Event Listener structure.">EventListener</a></code> registered. <a href="group__events.html#ga440eefff93d7c8f741b7572bcc24355f"></a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_event_source.html">EventSource</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga19ef0b2769d1df4d22250135a6de57b8">EventSource</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event Source structure. <a href="group__events.html#ga19ef0b2769d1df4d22250135a6de57b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga1a153010620569dd0cac24da8952269f">evhandler_t</a> )(<a class="el" href="group___s_t_m8___c_o_r_e.html#gaf16c40a5bf824e0202419cdaa9387759">eventid_t</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event Handler callback function. <a href="group__events.html#ga1a153010620569dd0cac24da8952269f"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga4002600fe552128aaf96a6a1d3ada3ee">chEvtRegisterMask</a> (<a class="el" href="struct_event_source.html">EventSource</a> *esp, <a class="el" href="struct_event_listener.html">EventListener</a> *elp, <a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers an Event Listener on an Event Source. <a href="group__events.html#ga4002600fe552128aaf96a6a1d3ada3ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga68d15e1c7e12e96edd40069a27981d38">chEvtUnregister</a> (<a class="el" href="struct_event_source.html">EventSource</a> *esp, <a class="el" href="struct_event_listener.html">EventListener</a> *elp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters an Event Listener from its Event Source. <a href="group__events.html#ga68d15e1c7e12e96edd40069a27981d38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad">chEvtClear</a> (<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the pending events specified in the mask. <a href="group__events.html#ga76f41b9668c3f1adafc516a8f92b9cad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga94f14b6063f42b9be79a7dabde18232d">chEvtPend</a> (<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pends a set of event flags on the current thread, this is <b>much</b> faster than using <code><a class="el" href="group__events.html#ga44015af4dd20f74b0f73824ff1c1b2f4" title="Signals all the Event Listeners registered on the specified Event Source.">chEvtBroadcast()</a></code> or <code><a class="el" href="group__events.html#ga75a812ae99ce83a3689f51d797a038de" title="Pends a set of event flags on the specified Thread.">chEvtSignal()</a></code>. <a href="group__events.html#ga94f14b6063f42b9be79a7dabde18232d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga75a812ae99ce83a3689f51d797a038de">chEvtSignal</a> (<a class="el" href="struct_thread.html">Thread</a> *tp, <a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pends a set of event flags on the specified <code><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a></code>. <a href="group__events.html#ga75a812ae99ce83a3689f51d797a038de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga6c219038c3e618e2142c6e1601997907">chEvtSignalI</a> (<a class="el" href="struct_thread.html">Thread</a> *tp, <a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pends a set of event flags on the specified <code><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a></code>. <a href="group__events.html#ga6c219038c3e618e2142c6e1601997907"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga44015af4dd20f74b0f73824ff1c1b2f4">chEvtBroadcast</a> (<a class="el" href="struct_event_source.html">EventSource</a> *esp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signals all the Event Listeners registered on the specified Event Source. <a href="group__events.html#ga44015af4dd20f74b0f73824ff1c1b2f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gaa24d9bed5b676b577200c4a8ebe3b8a3">chEvtBroadcastI</a> (<a class="el" href="struct_event_source.html">EventSource</a> *esp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signals all the Event Listeners registered on the specified Event Source. <a href="group__events.html#gaa24d9bed5b676b577200c4a8ebe3b8a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gaba2061f315848a8a722efcae258edc8c">chEvtDispatch</a> (const <a class="el" href="group__events.html#ga1a153010620569dd0cac24da8952269f">evhandler_t</a> *handlers, <a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes the event handlers associated to an event flags mask. <a href="group__events.html#gaba2061f315848a8a722efcae258edc8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga2944a7fc82e7cc15537f5a7c04f457d3">chEvtWaitOneTimeout</a> (<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask, <a class="el" href="group___s_t_m8___c_o_r_e.html#gac46524873fe28f00864e5ebe155bb523">systime_t</a> time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for exactly one of the specified events. <a href="group__events.html#ga2944a7fc82e7cc15537f5a7c04f457d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gaf690406ccc833e2c9235e7e2041a6715">chEvtWaitAnyTimeout</a> (<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask, <a class="el" href="group___s_t_m8___c_o_r_e.html#gac46524873fe28f00864e5ebe155bb523">systime_t</a> time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for any of the specified events. <a href="group__events.html#gaf690406ccc833e2c9235e7e2041a6715"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#ga90d702300eecee3d05f83e95b155c3ee">chEvtWaitAllTimeout</a> (<a class="el" href="group___s_t_m8___c_o_r_e.html#ga5a2c45e2f40668cdd66fe8d2e700ff64">eventmask_t</a> mask, <a class="el" href="group___s_t_m8___c_o_r_e.html#gac46524873fe28f00864e5ebe155bb523">systime_t</a> time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for all the specified events. <a href="group__events.html#ga90d702300eecee3d05f83e95b155c3ee"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Events macros and structures. </p>
<p>Definition in file <a class="el" href="chevents_8h_source.html">chevents.h</a>.</p>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated on Sun Jul 11 13:13:02 2010 for ChibiOS/RT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.6.3</small></address>
</body>
</html>