ext_defs.h
来自「澳洲人写的Cortex,包括uC_IP协议栈」· C头文件 代码 · 共 211 行
H
211 行
<HTML><HEAD><TITLE>/home/asysweb/public_html/cortex/kernel/src/ext_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 * * ext_defs.h * * SYSTEM COMPONENT * * Extension Manager * * DESCRIPTION * * This file contains data and constant definitions for * Extension manager * * * The following table lists extension handlers supported on the * different extension levels (EXTS_LEVEL): * * Level 1 Level 2 Level 3 Level 4 Level 5 * ----------------------------------------------------------------------- * TaskCreate TaskCreate TaskCreate TaskCreate TaskCreate * TaskRun TaskRun TaskRun TaskRun TaskRun * TaskRestart TaskRestart TaskRestart TaskRestart TaskRestart * TaskStart TaskStart TaskStart TaskStart TaskStart * TaskStop TaskStop TaskStop TaskStop TaskStop * TaskDeleted TaskDeleted TaskDeleted TaskDeleted TaskDeleted * BeforeSwitch AfterSwitch BeforeSwitch BeforeSwitch * AfterSwitch AfterSwitch * TaskSleep * TaskWait * TaskBlock * * SCCS HISTORY * * @(#)ext_defs.h 1.1, 12/22/99, 16:43:31 * * AUTHOR * * Vadim N. Azarovsky * * CREATED * * 10-Dec-1998 by Vadim N. Azarovsky * * REVISION HISTORY * * NAME DATE REMARKS * **************************************************************************/</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> __EXT_DEFS__H</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="__EXT_DEFS__H">__EXT_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><b><font color='DarkGreen'>#include</font></b> <a href="tsk_defs.h.FIND-INC"><font color="blue">"tsk_defs.h"</font></a><font color="#6920ac">/*********************** * GLOBAL CONSTANSTS * ***********************/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_BLOCK_ID">EXTS_BLOCK_ID</a></font> 0x45585442ul <font color="#6920ac">/* "EXTB" - extensions control * block ID */</font><font color="#6920ac">/* * Return Codes */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_SUCCESS">EXTS_SUCCESS</a></font> CRTX_SUCCESS <font color="#6920ac">/* successful completion */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_ERR_INVALID_BLOCK">EXTS_ERR_INVALID_BLOCK</a></font> -1 <font color="#6920ac">/* invalid ext control block */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_ERR_DISABLED">EXTS_ERR_DISABLED</a></font> -2 <font color="#6920ac">/* extensions disabled */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_ERROR">EXTS_ERROR</a></font> -3 <font color="#6920ac">/* other errors */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_LEVEL">EXTS_LEVEL</a></font> ENVI_EXTS_LEVEL<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_CREATE">EXTS_STATIC_TASK_CREATE</a></font> ENVI_EXTS_STATIC_TASK_CREATE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_RUN">EXTS_STATIC_TASK_RUN</a></font> ENVI_EXTS_STAITC_TASK_RUN<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_RESTART">EXTS_STATIC_TASK_RESTART</a></font> ENVI_EXTS_STAITC_TASK_RESTART<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_START">EXTS_STATIC_TASK_START</a></font> ENVI_EXTS_STAITC_TASK_START<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_STOP">EXTS_STATIC_TASK_STOP</a></font> ENVI_EXTS_STAITC_TASK_STOP<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_DELETED">EXTS_STATIC_TASK_DELETED</a></font> ENVI_EXTS_STAITC_TASK_DELETED<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_BEFORE_SWITCH">EXTS_STATIC_BEFORE_SWITCH</a></font> ENVI_EXTS_STATIC_BEFORE_SWITCH<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_AFTER_SWITCH">EXTS_STATIC_AFTER_SWITCH</a></font> ENVI_EXTS_STATIC_AFTER_SWITCH<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_SLEEP">EXTS_STATIC_TASK_SLEEP</a></font> ENVI_EXTS_STAITC_TASK_SLEEP<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_WAIT">EXTS_STATIC_TASK_WAIT</a></font> ENVI_EXTS_STAITC_TASK_WAIT<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="EXTS_STATIC_TASK_BLOCK">EXTS_STATIC_TASK_BLOCK</a></font> ENVI_EXTS_STAITC_TASK_BLOCK<b><font color='DarkGreen'>#if</font></b><font color="maroon"> (EXTS_LEVEL > 0) && ((EXTS_STATIC_TASK_CREATE != 0) || \</font> (<a href="#EXTS_STATIC_TASK_RUN">EXTS_STATIC_TASK_RUN</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_RESTART">EXTS_STATIC_TASK_RESTART</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_START">EXTS_STATIC_TASK_START</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_STOP">EXTS_STATIC_TASK_STOP</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_DELETED">EXTS_STATIC_TASK_DELETED</a> != 0) || \ (<a href="#EXTS_STATIC_BEFORE_SWITCH">EXTS_STATIC_BEFORE_SWITCH</a> != 0) || \ (<a href="#EXTS_STATIC_AFTER_SWITCH">EXTS_STATIC_AFTER_SWITCH</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_SLEEP">EXTS_STATIC_TASK_SLEEP</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_WAIT">EXTS_STATIC_TASK_WAIT</a> != 0) || \ (<a href="#EXTS_STATIC_TASK_BLOCK">EXTS_STATIC_TASK_BLOCK</a> != 0))<b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="EXTS_STATIC_ENABLED">EXTS_STATIC_ENABLED</a></font> 1<b><font color='DarkGreen'># else</font></b><font color="maroon"></font><b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="EXTS_STATIC_ENABLED">EXTS_STATIC_ENABLED</a></font> 0<b><font color='DarkGreen'># endif</font></b><font color="maroon"></font><font color="#6920ac">/***************** * GLOBAL MACROS * *****************/</font><font color="#6920ac">/* None */</font><font color="#6920ac">/*********************** * GLOBAL DATA TYPES * ***********************/</font><font color="#6920ac">/* task Child_a is created by Parent_a task */</font><i><a name="exts_TaskCreate_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskCreate_t</font></i>)(<i>task_ID_t</i> Parent_a, <i>task_ID_t</i> Child_a);<font color="#6920ac">/* task Child_a is make runnable by Parent_a task */</font><i><a name="exts_TaskRun_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskRun_t</font></i>)(<i>task_ID_t</i> Parent_a, <i>task_ID_t</i> Child_a);<font color="#6920ac">/* task Child_a is restarted by Parent_a task */</font><i><a name="exts_TaskRestart_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskRestart_t</font></i>)(<i>task_ID_t</i> Parent_a,<i>task_ID_t</i> Child_a);<font color="#6920ac">/* task Task_a started execution */</font><i><a name="exts_TaskStart_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskStart_t</font></i>)(<i>task_ID_t</i> Task_a);<font color="#6920ac">/* task Task_a stoped execution (terminated) */</font><i><a name="exts_TaskStop_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskStop_t</font></i>)(<i>task_ID_t</i> Task_a);<font color="#6920ac">/* task Deleted_a deleted is deleted by Current_a task */</font><i><a name="exts_TaskDeleted_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskDeleted_t</font></i>)(<i>task_ID_t</i> Current_a, <i>task_ID_t</i> Deleted_a);<font color="#6920ac">/* task Current_a is about to be preempted by Next_a task */</font><i><a name="exts_BeforeSwitch_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_BeforeSwitch_t</font></i>)(<i>task_ID_t</i> Current_a, <i>task_ID_t</i> Next_a);<font color="#6920ac">/* task Previous_a has been preempted by Current_a task */</font><i><a name="exts_AfterSwitch_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_AfterSwitch_t</font></i>)(<i>task_ID_t</i> Previous_a, <i>task_ID_t</i> Current_a);<font color="#6920ac">/* task Task_a is going to sleep for Ticks_a */</font><i><a name="exts_TaskSleep_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskSleep_t</font></i>)(<i>task_ID_t</i> Task_a, <i>tick_Timeout_t</i> Ticks_a);<font color="#6920ac">/* task Task_a is going to wait for Ticks_a */</font><i><a name="exts_TaskWait_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskWait_t</font></i>)(<i>task_ID_t</i> Task_a, <i>rque_Queue_t</i> *pQueue_a, <i>task_SuspendPolicy_t</i> SuspendPolicy_a, <i>tick_Timeout_t</i> Ticks_a);<font color="#6920ac">/* task Task_a is going to block */</font><i><a name="exts_TaskBlock_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>exts_TaskBlock_t</font></i>)(<i>task_ID_t</i> Task_a, <i>rque_Queue_t</i> *pQueue_a, <i>task_SuspendPolicy_t</i> SuspendPolicy_a);<font color="#6920ac">/* extensions control block (ECB) */</font><i><a name="exts_Handlers_t">typedef</a></i> <i>struct</i> exts_Handlers_s { <i>exts_TaskCreate_t</i> TaskCreate; <i>exts_TaskRun_t</i> TaskRun; <i>exts_TaskRestart_t</i> TaskRestart; <i>exts_TaskStart_t</i> TaskStart; <i>exts_TaskStop_t</i> TaskStop; <i>exts_TaskDeleted_t</i> TaskDeleted; <i>exts_TaskSleep_t</i> TaskSleep; <i>exts_TaskWait_t</i> TaskWait; <i>exts_TaskBlock_t</i> TaskBlock; <i>exts_BeforeSwitch_t</i> BeforeSwitch; <i>exts_AfterSwitch_t</i> AfterSwitch;} <i><font color='DarkBlue'>exts_Handlers_t</font></i>;<i><a name="exts_ECB_t">typedef</a></i> <i>struct</i> exts_ECB_s { <i>rlst_Node_t</i> Node; <font color="#6920ac">/* node to link EXBs together */</font> <i>exts_Handlers_t</i> Handlers; <font color="#6920ac">/* extension handlers */</font><b><font color='DarkGreen'>#if</font></b><font color="maroon"> ENVI_CRTX_ERR_CHECK_LEVEL > 0</font> <i>crtx_Uint32_t</i> CheckID; <font color="#6920ac">/* object id (for error checking) */</font><b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* ENVI_CRTX_ERR_CHECK_LEVEL > 0 */</font></font>} <i><font color='DarkBlue'>exts_ECB_t</font></i>;<font color="#6920ac">/***************** * GLOBAL DATA * *****************/</font><font color="#6920ac">/* None */</font><font color="#6920ac">/*************************** * PROCEDURES PROTOTYPES * ***************************/</font><font size="+1"><i>exts_ECB_t</i> *<a href="exts_Create.FIND-FUNC">exts_Create</a>(<i>exts_Handlers_t</i> *pHandlers_a);</font><font size="+1"><i>crtx_Status_t</i> <a href="exts_Delete.FIND-FUNC">exts_Delete</a>(<i>exts_ECB_t</i> *pECB_a);</font><font color="#6920ac">/* ===== END OF THE DEFINITION FILE ===== */</font><b><font color='DarkGreen'>#ifdef</font></b><font color="maroon"> __cplusplus</font>}<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* __cplusplus */</font></font><b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* __EXT_DEFS__H */</font></font></pre></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?