ill_defs.h
来自「澳洲人写的Cortex,包括uC_IP协议栈」· C头文件 代码 · 共 254 行 · 第 1/2 页
H
254 行
<HTML><HEAD><TITLE>/home/asysweb/public_html/cortex/kernel/src/ill_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 * * ill_defs.h * * SYSTEM COMPONENT * * Index Linked List (ILL) Management Component * * DESCRIPTION * * This file contains data and constant definitions for * Index Linked List Management Component. * * Index linked list is used when all list nodes located * within single node table. * * ILL defines pool of prealocated nodes and lists. Application * is allowed to put any node from the pool on any list within the * same pool. If multiple pools is created than node from one pool * cannot be put on the list within another pool (checked run-time * error when ENVI_CRTX_ERR_CHECK_LEVEL > 0). Node can be removed * from the list without specifying the list it's currntly on. * * SCCS HISTORY * * @(#)ill_defs.h 1.8, 01/25/99, 00:30:29 * * AUTHOR * * Vadim N. Azarovsky * * CREATED * * 28-Jan-1997 by Vadim N. Azarovsky * * REVISION HISTORY * * NAME DATE REMARKS * **************************************************************************/</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> __ILL_DEFS__H</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="__ILL_DEFS__H">__ILL_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="env_defs.h.FIND-INC"><font color="blue">"env_defs.h"</font></a><font color="#6920ac">/*********************** * GLOBAL CONSTANSTS * ***********************/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_LIST_ID">ILST_LIST_ID</a></font> 0x494C4C4CUL <font color="#6920ac">/* "ILLL" - ILL list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_NODE_ID">ILST_NODE_ID</a></font> 0x494C4C4EUL <font color="#6920ac">/* "ILLN" - ILL node */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_POOL_ID">ILST_POOL_ID</a></font> 0x494C4C50UL <font color="#6920ac">/* "ILLP" - ILL pool */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_INDEX_NODE_EMPTY">ILST_INDEX_NODE_EMPTY</a></font> -1<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_INVALID_INDEX">ILST_INVALID_INDEX</a></font> -1<font color="#6920ac">/* * Return Codes */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_SUCCESS">ILST_SUCCESS</a></font> CRTX_SUCCESS <font color="#6920ac">/* successful completion */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_ERR_INVALID_LIST">ILST_ERR_INVALID_LIST</a></font> -1 <font color="#6920ac">/* invalid ILL's list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_ERR_INVALID_NODE">ILST_ERR_INVALID_NODE</a></font> -2 <font color="#6920ac">/* invalid ILL's node */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_ERR_INVALID_POOL">ILST_ERR_INVALID_POOL</a></font> -3 <font color="#6920ac">/* invalid ILL's pool */</font><font color="#6920ac">/* * ILL flags */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_FLAG_INIT">ILST_FLAG_INIT</a></font> 0x00 <font color="#6920ac">/* initialisation flags */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_FLAG_POOL_ALLOC">ILST_FLAG_POOL_ALLOC</a></font> 0x01 <font color="#6920ac">/* pool control block is allocated */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_FLAG_TABLE_ALLOC">ILST_FLAG_TABLE_ALLOC</a></font> 0x02 <font color="#6920ac">/* node table is allocated */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_FLAG_LIST_ALLOC">ILST_FLAG_LIST_ALLOC</a></font> 0x04 <font color="#6920ac">/* list control block is allocated */</font><font color="#6920ac">/***************** * GLOBAL MACROS * *****************/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_LIST_HEAD">ILST_LIST_HEAD</a></font>(_list) ((_list)->Index)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_LIST_TAIL">ILST_LIST_TAIL</a></font>(_list) ((_list)->Index+1)<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="ILST_GET_HEAD_KEY">ILST_GET_HEAD_KEY</a></font>(pList_a) \ (pList_a)->pTable[(pList_a)->pTable[<a href="#ILST_LIST_HEAD">ILST_LIST_HEAD</a>(pList_a)].Next].Key<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="ILST_GET_TAIL_KEY">ILST_GET_TAIL_KEY</a></font>(pList_a) \ (pList_a)->pTable[(pList_a)->pTable[<a href="#ILST_LIST_TAIL">ILST_LIST_TAIL</a>(pList_a)].Prev].Key<font color="#6920ac">/* get index of the node at the head of list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_GET_HEAD_INDEX">ILST_GET_HEAD_INDEX</a></font>(pList_a) \ (pList_a)->pTable[<a href="#ILST_LIST_HEAD">ILST_LIST_HEAD</a>(pList_a)].Next<font color="#6920ac">/* get index of the node at the tail of list */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="ILST_GET_TAIL_INDEX">ILST_GET_TAIL_INDEX</a></font>(pList_a) \ (pList_a)->pTable[<a href="#ILST_LIST_TAIL">ILST_LIST_TAIL</a>(pList_a)].Prev<b><font color='DarkGreen'>#if</font></b><font color="maroon"> ENVI_CRTX_ERR_CHECK_LEVEL == 0</font><b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_SET_LIST_ID">ILST_SET_LIST_ID</a></font>(_list) <b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_SET_NODE_ID">ILST_SET_NODE_ID</a></font>(_node) <b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_SET_POOL_ID">ILST_SET_POOL_ID</a></font>(_pool) <b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_CHECK_LIST_ID">ILST_CHECK_LIST_ID</a></font>(_list) (CRTX_TRUE)<b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_CHECK_NODE_ID">ILST_CHECK_NODE_ID</a></font>(_node) (CRTX_TRUE)<b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_CHECK_POOL_ID">ILST_CHECK_POOL_ID</a></font>(_pool) (CRTX_TRUE)<b><font color='DarkGreen'>#else</font></b><font color="maroon"></font><b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_SET_LIST_ID">ILST_SET_LIST_ID</a></font>(_list) ((_list)->CheckID=ILST_LIST_ID)<b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="ILST_SET_NODE_ID">ILST_SET_NODE_ID</a></font>(_node) ((_node)->CheckID=ILST_NODE_ID)<b><font color='DarkGreen'>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?