gnuk/ChibiOS_2.0.6/docs/html/struct_generic_queue.html
2010-11-22 14:53:37 +09:00

199 lines
16 KiB
HTML

<!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: GenericQueue Struct 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.7.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle">
<h1>GenericQueue Struct Reference<br/>
<small>
[<a class="el" href="group__io__queues.html">I/O Queues</a>]</small>
</h1> </div>
</div>
<div class="contents">
<!-- doxytag: class="GenericQueue" -->
<p>Generic I/O queue structure.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="chqueues_8h_source.html">chqueues.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for GenericQueue:</div>
<div class="dyncontent">
<div class="center"><img src="struct_generic_queue__coll__graph.png" border="0" usemap="#_generic_queue_coll__map" alt="Collaboration graph"/></div>
<map name="_generic_queue_coll__map" id="_generic_queue_coll__map">
<area shape="rect" id="node2" href="struct_semaphore.html" title="Semaphore structure." alt="" coords="13,163,91,255"/>
<area shape="rect" id="node4" href="struct_threads_queue.html" title="Generic threads bidirectional linked list header and element." alt="" coords="5,6,99,98"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html#a644ac8a420048012cf562a31e8c144c6">q_buffer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the queue buffer. <a href="#a644ac8a420048012cf562a31e8c144c6"></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#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html#a2345976305f32ce54981ad1ee36e77be">q_top</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the first location after the buffer. <a href="#a2345976305f32ce54981ad1ee36e77be"></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#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html#a5cf5a39a1a57b15d1a2491edcbd72442">q_wrptr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write pointer. <a href="#a5cf5a39a1a57b15d1a2491edcbd72442"></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#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html#acc1453d7bc5a4ceddba2166b72ba3b47">q_rdptr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read pointer. <a href="#acc1453d7bc5a4ceddba2166b72ba3b47"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_semaphore.html">Semaphore</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html#a21fa1b28fa19bbb1b036c396b44d9fd5">q_sem</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counter <code><a class="el" href="struct_semaphore.html" title="Semaphore structure.">Semaphore</a></code>. <a href="#a21fa1b28fa19bbb1b036c396b44d9fd5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5">qnotify_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html#ab8c8dc77de2c387f8a980a9c179388e1">q_notify</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data notification callback. <a href="#ab8c8dc77de2c387f8a980a9c179388e1"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Generic I/O queue structure. </p>
<p>This structure represents a generic Input or Output asymmetrical queue. The queue is asymmetrical because one end is meant to be accessed from a thread context, and thus can be blocking, the other end is accessible from interrupt handlers or from within a kernel lock zone (see <b>I-Locked</b> and <b>S-Locked</b> states in <a class="el" href="concepts.html#system_states">System States</a>) and is non-blocking. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00070">70</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="a644ac8a420048012cf562a31e8c144c6"></a><!-- doxytag: member="GenericQueue::q_buffer" ref="a644ac8a420048012cf562a31e8c144c6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* <a class="el" href="struct_generic_queue.html#a644ac8a420048012cf562a31e8c144c6">GenericQueue::q_buffer</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pointer to the queue buffer. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00071">71</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<p>Referenced by <a class="el" href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0">chIQGetTimeout()</a>, <a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit()</a>, <a class="el" href="group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc">chIQPutI()</a>, <a class="el" href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764">chIQReadTimeout()</a>, <a class="el" href="group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59">chIQResetI()</a>, <a class="el" href="group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9">chOQGetI()</a>, <a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit()</a>, <a class="el" href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9">chOQPutTimeout()</a>, <a class="el" href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296">chOQResetI()</a>, and <a class="el" href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8">chOQWriteTimeout()</a>.</p>
</div>
</div>
<a class="anchor" id="a2345976305f32ce54981ad1ee36e77be"></a><!-- doxytag: member="GenericQueue::q_top" ref="a2345976305f32ce54981ad1ee36e77be" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* <a class="el" href="struct_generic_queue.html#a2345976305f32ce54981ad1ee36e77be">GenericQueue::q_top</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pointer to the first location after the buffer. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00072">72</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<p>Referenced by <a class="el" href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0">chIQGetTimeout()</a>, <a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit()</a>, <a class="el" href="group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc">chIQPutI()</a>, <a class="el" href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764">chIQReadTimeout()</a>, <a class="el" href="group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9">chOQGetI()</a>, <a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit()</a>, <a class="el" href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9">chOQPutTimeout()</a>, <a class="el" href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296">chOQResetI()</a>, and <a class="el" href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8">chOQWriteTimeout()</a>.</p>
</div>
</div>
<a class="anchor" id="a5cf5a39a1a57b15d1a2491edcbd72442"></a><!-- doxytag: member="GenericQueue::q_wrptr" ref="a5cf5a39a1a57b15d1a2491edcbd72442" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* <a class="el" href="struct_generic_queue.html#a5cf5a39a1a57b15d1a2491edcbd72442">GenericQueue::q_wrptr</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write pointer. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00074">74</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<p>Referenced by <a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit()</a>, <a class="el" href="group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc">chIQPutI()</a>, <a class="el" href="group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59">chIQResetI()</a>, <a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit()</a>, <a class="el" href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9">chOQPutTimeout()</a>, <a class="el" href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296">chOQResetI()</a>, and <a class="el" href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8">chOQWriteTimeout()</a>.</p>
</div>
</div>
<a class="anchor" id="acc1453d7bc5a4ceddba2166b72ba3b47"></a><!-- doxytag: member="GenericQueue::q_rdptr" ref="acc1453d7bc5a4ceddba2166b72ba3b47" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* <a class="el" href="struct_generic_queue.html#acc1453d7bc5a4ceddba2166b72ba3b47">GenericQueue::q_rdptr</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Read pointer. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00075">75</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<p>Referenced by <a class="el" href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0">chIQGetTimeout()</a>, <a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit()</a>, <a class="el" href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764">chIQReadTimeout()</a>, <a class="el" href="group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59">chIQResetI()</a>, <a class="el" href="group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9">chOQGetI()</a>, <a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit()</a>, and <a class="el" href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296">chOQResetI()</a>.</p>
</div>
</div>
<a class="anchor" id="a21fa1b28fa19bbb1b036c396b44d9fd5"></a><!-- doxytag: member="GenericQueue::q_sem" ref="a21fa1b28fa19bbb1b036c396b44d9fd5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_semaphore.html">Semaphore</a> <a class="el" href="struct_generic_queue.html#a21fa1b28fa19bbb1b036c396b44d9fd5">GenericQueue::q_sem</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Counter <code><a class="el" href="struct_semaphore.html" title="Semaphore structure.">Semaphore</a></code>. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00076">76</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<p>Referenced by <a class="el" href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0">chIQGetTimeout()</a>, <a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit()</a>, <a class="el" href="group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc">chIQPutI()</a>, <a class="el" href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764">chIQReadTimeout()</a>, <a class="el" href="group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59">chIQResetI()</a>, <a class="el" href="group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9">chOQGetI()</a>, <a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit()</a>, <a class="el" href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9">chOQPutTimeout()</a>, <a class="el" href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296">chOQResetI()</a>, and <a class="el" href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8">chOQWriteTimeout()</a>.</p>
</div>
</div>
<a class="anchor" id="ab8c8dc77de2c387f8a980a9c179388e1"></a><!-- doxytag: member="GenericQueue::q_notify" ref="ab8c8dc77de2c387f8a980a9c179388e1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5">qnotify_t</a> <a class="el" href="struct_generic_queue.html#ab8c8dc77de2c387f8a980a9c179388e1">GenericQueue::q_notify</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Data notification callback. </p>
<p>Definition at line <a class="el" href="chqueues_8h_source.html#l00077">77</a> of file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
<p>Referenced by <a class="el" href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0">chIQGetTimeout()</a>, <a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit()</a>, <a class="el" href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764">chIQReadTimeout()</a>, <a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit()</a>, <a class="el" href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9">chOQPutTimeout()</a>, and <a class="el" href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8">chOQWriteTimeout()</a>.</p>
</div>
</div>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated on Sun Oct 24 2010 09:40:49 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.7.1</small></address>
</body>
</html>