mirror of
https://salsa.debian.org/gnuk-team/gnuk/gnuk.git
synced 2024-09-21 19:30:08 +00:00
132 lines
18 KiB
HTML
132 lines
18 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: chqueues.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.7.1 -->
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="main.html"><span>Main Page</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>Globals</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Data Structures</a> |
|
|
<a href="#define-members">Defines</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<h1>chqueues.h File Reference</h1> </div>
|
|
</div>
|
|
<div class="contents">
|
|
|
|
<p>Queues macros and structures.
|
|
<a href="#_details">More...</a></p>
|
|
|
|
<p><a href="chqueues_8h_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr><td colspan="2"><h2><a name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_generic_queue.html">GenericQueue</a></td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Generic I/O queue structure. <a href="struct_generic_queue.html#_details">More...</a><br/></td></tr>
|
|
<tr><td colspan="2"><h2><a name="define-members"></a>
|
|
Defines</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gadfbe2a9b3e7477d3fd4026d61caf1fcd">Q_OK</a> RDY_OK</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returned by the queue functions if the operation is successful. <a href="group__io__queues.html#gadfbe2a9b3e7477d3fd4026d61caf1fcd"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gaed5efaf47ab37022f69e8080610bcb8b">Q_TIMEOUT</a> RDY_TIMEOUT</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returned by the queue functions if a timeout occurs. <a href="group__io__queues.html#gaed5efaf47ab37022f69e8080610bcb8b"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gaef6ed06ced720075658356892318f92d">Q_RESET</a> RDY_RESET</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returned by the queue functions if the queue is reset. <a href="group__io__queues.html#gaef6ed06ced720075658356892318f92d"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga9d3fcfacb433cb513882db4515ac348b">Q_EMPTY</a> -3</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returned by the queue functions if the queue is empty. <a href="group__io__queues.html#ga9d3fcfacb433cb513882db4515ac348b"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga6c462ef0a5b01afbd0d94a8e1ac8575a">Q_FULL</a> -4</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returned by the queue functions if the queue is full. <a href="group__io__queues.html#ga6c462ef0a5b01afbd0d94a8e1ac8575a"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga1d70b6f0faef169fd343806e4fd26f55">chQSize</a>(q) ((q)->q_top - (q)->q_buffer)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the queue's buffer size. <a href="group__io__queues.html#ga1d70b6f0faef169fd343806e4fd26f55"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga36b3ceeb9c971245fb5cd5bfdce29804">chQSpace</a>(q) chSemGetCounterI(&(q)->q_sem)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Queue space. <a href="group__io__queues.html#ga36b3ceeb9c971245fb5cd5bfdce29804"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga01d87285eb173d213eb9849514969d7d">chIQIsEmpty</a>(q) ((<a class="el" href="group__types.html#ga7556af1cb61728b53228fa3af1c851de">bool_t</a>)(chQSpace(q) <= 0))</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates to <code>TRUE</code> if the specified Input Queue is empty. <a href="group__io__queues.html#ga01d87285eb173d213eb9849514969d7d"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga3b87d6f7e4110c882b13870930db5cbb">chIQIsFull</a>(q) ((<a class="el" href="group__types.html#ga7556af1cb61728b53228fa3af1c851de">bool_t</a>)(chQSpace(q) >= chQSize(q)))</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates to <code>TRUE</code> if the specified Input Queue is full. <a href="group__io__queues.html#ga3b87d6f7e4110c882b13870930db5cbb"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga677247f42b796cedc0c0b58a15c11794">chIQGet</a>(iqp) chIQGetTimeout(iqp, TIME_INFINITE)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Input queue read. <a href="group__io__queues.html#ga677247f42b796cedc0c0b58a15c11794"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga4103f441ac5c12c89180194b7a3044f2">_INPUTQUEUE_DATA</a>(name, buffer, size, inotify)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Data part of a static input queue initializer. <a href="group__io__queues.html#ga4103f441ac5c12c89180194b7a3044f2"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga49e3c172ebb6efca6579bf97ca82569d">INPUTQUEUE_DECL</a>(name, buffer, size, inotify) <a class="el" href="struct_generic_queue.html">InputQueue</a> name = _INPUTQUEUE_DATA(name, buffer, size, inotify)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Static input queue initializer. <a href="group__io__queues.html#ga49e3c172ebb6efca6579bf97ca82569d"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gabf0eb1ba20cde6d4d9afa1139eaac19d">chOQIsEmpty</a>(q) ((<a class="el" href="group__types.html#ga7556af1cb61728b53228fa3af1c851de">bool_t</a>)(chQSpace(q) >= chQSize(q)))</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates to <code>TRUE</code> if the specified Output Queue is empty. <a href="group__io__queues.html#gabf0eb1ba20cde6d4d9afa1139eaac19d"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gaca8b2bc8aae722ba9f47f21c358420f9">chOQIsFull</a>(q) ((<a class="el" href="group__types.html#ga7556af1cb61728b53228fa3af1c851de">bool_t</a>)(chQSpace(q) <= 0))</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates to <code>TRUE</code> if the specified Output Queue is full. <a href="group__io__queues.html#gaca8b2bc8aae722ba9f47f21c358420f9"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga825aba08aea4a6ac97a763404265956b">chOQPut</a>(oqp, b) chOQPutTimeout(oqp, b, TIME_INFINITE)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output queue write. <a href="group__io__queues.html#ga825aba08aea4a6ac97a763404265956b"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gafc29412cc872c152eadcb24183010a52">_OUTPUTQUEUE_DATA</a>(name, buffer, size, onotify)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Data part of a static output queue initializer. <a href="group__io__queues.html#gafc29412cc872c152eadcb24183010a52"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga9381af63d682d4e0883bc9336a2366eb">OUTPUTQUEUE_DECL</a>(name, buffer, size, onotify) <a class="el" href="struct_generic_queue.html">InputQueue</a> name = _OUTPUTQUEUE_DATA(name, buffer, size, onotify)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Static output queue initializer. <a href="group__io__queues.html#ga9381af63d682d4e0883bc9336a2366eb"></a><br/></td></tr>
|
|
<tr><td colspan="2"><h2><a name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5">qnotify_t</a> )(void)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Queue notification callback type. <a href="group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_generic_queue.html">GenericQueue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gab15bb5ea346b37cd021c6a658e86084b">InputQueue</a></td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Input queue structure. <a href="group__io__queues.html#gab15bb5ea346b37cd021c6a658e86084b"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_generic_queue.html">GenericQueue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gac7723f9b71300f4231db2b6e502f23c9">OutputQueue</a></td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output queue structure. <a href="group__io__queues.html#gac7723f9b71300f4231db2b6e502f23c9"></a><br/></td></tr>
|
|
<tr><td colspan="2"><h2><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5">chIQInit</a> (<a class="el" href="struct_generic_queue.html">InputQueue</a> *iqp, <a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *bp, size_t size, <a class="el" href="group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5">qnotify_t</a> infy)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initializes an input queue. <a href="group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59">chIQResetI</a> (<a class="el" href="struct_generic_queue.html">InputQueue</a> *iqp)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Resets an input queue. <a href="group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc">chIQPutI</a> (<a class="el" href="struct_generic_queue.html">InputQueue</a> *iqp, <a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> b)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Input queue write. <a href="group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0">chIQGetTimeout</a> (<a class="el" href="struct_generic_queue.html">InputQueue</a> *iqp, <a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> time)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Input queue read with timeout. <a href="group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764">chIQReadTimeout</a> (<a class="el" href="struct_generic_queue.html">InputQueue</a> *iqp, <a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *bp, size_t n, <a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> time)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Input queue read with timeout. <a href="group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1">chOQInit</a> (<a class="el" href="struct_generic_queue.html">OutputQueue</a> *oqp, <a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *bp, size_t size, <a class="el" href="group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5">qnotify_t</a> onfy)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initializes an output queue. <a href="group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296">chOQResetI</a> (<a class="el" href="struct_generic_queue.html">OutputQueue</a> *oqp)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Resets an output queue. <a href="group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9">chOQPutTimeout</a> (<a class="el" href="struct_generic_queue.html">OutputQueue</a> *oqp, <a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> b, <a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> time)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output queue write with timeout. <a href="group__io__queues.html#ga3df1926602eb698119990b311b097ad9"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9">chOQGetI</a> (<a class="el" href="struct_generic_queue.html">OutputQueue</a> *oqp)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output queue read. <a href="group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8">chOQWriteTimeout</a> (<a class="el" href="struct_generic_queue.html">OutputQueue</a> *oqp, const <a class="el" href="group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *bp, size_t n, <a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> time)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output queue write with timeout. <a href="group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8"></a><br/></td></tr>
|
|
</table>
|
|
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
|
<p>Queues macros and structures. </p>
|
|
<p>I/O </p>
|
|
|
|
<p>Definition in file <a class="el" href="chqueues_8h_source.html">chqueues.h</a>.</p>
|
|
</div>
|
|
<hr size="1"><address style="text-align: right;"><small>
|
|
Generated on Sun Oct 24 2010 09:40:38 for ChibiOS/RT by <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>
|