rlq_defs.h

来自「澳洲人写的Cortex,包括uC_IP协议栈」· C头文件 代码 · 共 265 行 · 第 1/2 页

H
265
字号
<HTML><HEAD><TITLE>/home/asysweb/public_html/cortex/kernel/src/rlq_defs.h</TITLE></HEAD><BODY><pre><font color="#6920ac">/*************************************************************************/</font><font color="#6920ac">/*                                                                       */</font><font color="#6920ac">/*     Copyright (c) 1997-1999 Australian Real Time Embedded Systems     */</font><font color="#6920ac">/*                                                                       */</font><font color="#6920ac">/* PROPRIETARY RIGHTS of Australian Real Time Embedded Systems           */</font><font color="#6920ac">/* are involved in the subject matter of this material. All reproduction,*/</font><font color="#6920ac">/* manufacturing, use, and sales rights pertaining to this subject matter*/</font><font color="#6920ac">/* are governed by the license agreement. The recipient of this software */</font><font color="#6920ac">/* implicitly accepts the terms of the license.                          */</font><font color="#6920ac">/*                                                                       */</font><font color="#6920ac">/*************************************************************************/</font><font color="#6920ac">/************************************************************************* * * FILE NAME * *      rlq_defs.h * * SYSTEM COMPONENT * *      Reference Linked Queue (RLQ) Management Component * * DESCRIPTION * *      This file contains data and constant definitions for *      Referens Linked Queue Management Component. *      RLQ based on RLL Coponent * * SCCS HISTORY * *      @(#)rlq_defs.h  1.8, 01/25/99, 00:30:34 * * AUTHOR * *      Vadim N. Azarovsky * * CREATED * *      10-Feb-1998         by Vadim N. Azarovsky * * REVISION HISTORY * *      NAME                DATE                    REMARKS * **************************************************************************/</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> __RLQ_DEFS__H</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="__RLQ_DEFS__H">__RLQ_DEFS__H</a></font><b><font color='DarkGreen'>#ifdef</font></b><font color="maroon">  __cplusplus</font><i>extern</i> <font color="DarkGreen">"C"</font> {<b><font color='DarkGreen'>#endif</font></b><font color="maroon">  <font color="#6920ac">/* __cplusplus */</font></font><b><font color='DarkGreen'>#include</font></b> <a href="crt_defs.h.FIND-INC"><font color="blue">"crt_defs.h"</font></a><b><font color='DarkGreen'>#include</font></b> <a href="rll_defs.h.FIND-INC"><font color="blue">"rll_defs.h"</font></a><font color="#6920ac">/*********************** *  GLOBAL CONSTANSTS  * ***********************/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_QUEUE_ID">RQUE_QUEUE_ID</a></font>   0x524C5151UL    <font color="#6920ac">/* "RLQQ" - RLQ Queue */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_NODE_ID">RQUE_NODE_ID</a></font>    0x524C514EUL    <font color="#6920ac">/* "RLQN" - RLQ Node */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_CURSOR_ID">RQUE_CURSOR_ID</a></font>  0x524C5143UL    <font color="#6920ac">/* "RLQC" - RLQ Cursor */</font><font color="#6920ac">/* * Return Codes */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_SUCCESS">RQUE_SUCCESS</a></font>            CRTX_SUCCESS    <font color="#6920ac">/* successful completion */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_ERR_INVALID_QUEUE">RQUE_ERR_INVALID_QUEUE</a></font>  -1              <font color="#6920ac">/* invalid RLQ */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_ERR_INVALID_NODE">RQUE_ERR_INVALID_NODE</a></font>   -2              <font color="#6920ac">/* invalid RLQ node */</font><font color="#6920ac">/* * RLQ flags  */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_FLAG_INIT">RQUE_FLAG_INIT</a></font>          0x00    <font color="#6920ac">/* initialisation flags */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_FLAG_QUEUE_ALLOC">RQUE_FLAG_QUEUE_ALLOC</a></font>   0x01    <font color="#6920ac">/* queue control block is allocated */</font><font color="#6920ac">/***************** * GLOBAL MACROS * *****************/</font><font color="#6920ac">/* * RQUE_IS_EMPTY return TRUE is pQueue_a is empty */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_IS_EMPTY">RQUE_IS_EMPTY</a></font>(pQueue_a) \        ((pQueue_a)-&gt;Length==0)<font color="#6920ac">/* * RQUE_INIT_QUEUE init queue control block */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_INIT_QUEUE">RQUE_INIT_QUEUE</a></font>(pQueue_a) \        (pQueue_a)-&gt;Length=0; \        <a href="#RQUE_SET_QUEUE_ID">RQUE_SET_QUEUE_ID</a>(pQueue_a); \        <a href="rlst_CreateList.FIND-FUNC">rlst_CreateList</a>(&amp;((pQueue_a)-&gt;RllList),<a href="CRTX_NULL.FIND-DEF">CRTX_NULL</a>)<font color="#6920ac">/* * RQUE_INIT_NODE init queue node */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_INIT_NODE">RQUE_INIT_NODE</a></font>(pNode_a) \        <a href="#RQUE_SET_NODE_ID">RQUE_SET_NODE_ID</a>(pNode_a); \        (pNode_a)-&gt;pOnQueue=<a href="CRTX_NULL.FIND-DEF">CRTX_NULL</a><font color="#6920ac">/* * RQUE_INIT_CURSOR init queue cursor */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_INIT_CURSOR">RQUE_INIT_CURSOR</a></font>(pCursor_a,pQueue_a) \        <a href="#RQUE_SET_CURSOR_ID">RQUE_SET_CURSOR_ID</a>(pCursor_a); \        (pCursor_a)-&gt;pNode = (<i>rque_Node_t</i>*)&amp;pQueue_a-&gt;RllList.pEndOfList; \        (pCursor_a)-&gt;Removed = <a href="CRTX_FALSE.FIND-DEF">CRTX_FALSE</a><font color="#6920ac">/* get key value of the node at the head of list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_GET_HEAD_KEY">RQUE_GET_HEAD_KEY</a></font>(pQueue_a) \        <a href="RLST_GET_HEAD_KEY.FIND-DEF">RLST_GET_HEAD_KEY</a>(&amp;(pQueue_a)-&gt;RllList)<font color="#6920ac">/* get key value of the node at the tail of list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_GET_TAIL_KEY">RQUE_GET_TAIL_KEY</a></font>(pQueue_a) \        <a href="RLST_GET_TAIL_KEY.FIND-DEF">RLST_GET_TAIL_KEY</a>(&amp;(pQueue_a)-&gt;RllList)<font color="#6920ac">/* get argument value of the node at the head of list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_GET_HEAD_ARG">RQUE_GET_HEAD_ARG</a></font>(pQueue_a) \        ((<i>rque_Node_t</i>*)<a href="RLST_GET_HEAD_REF.FIND-DEF">RLST_GET_HEAD_REF</a>(&amp;(pQueue_a)-&gt;RllList))-&gt;Arg<font color="#6920ac">/* get argument value of the node at the tail of list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_GET_TAIL_ARG">RQUE_GET_TAIL_ARG</a></font>(pQueue_a) \        ((<i>rque_Node_t</i>*)<a href="RLST_GET_TAIL_REF.FIND-DEF">RLST_GET_TAIL_REF</a>(&amp;(pQueue_a)-&gt;RllList))-&gt;Arg<font color="#6920ac">/* get argumetn value of the specified node */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="RQUE_GET_NODE_ARG">RQUE_GET_NODE_ARG</a></font>(pNode_a) \        (pNode_a)-&gt;Arg<b><font color='DarkGreen'>#if</font></b><font color="maroon"> ENVI_CRTX_ERR_CHECK_LEVEL == 0</font><b><font color='DarkGreen'>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?