tsk_defs.h
来自「澳洲人写的Cortex,包括uC_IP协议栈」· C头文件 代码 · 共 293 行 · 第 1/2 页
H
293 行
<HTML><HEAD><TITLE>/home/asysweb/public_html/cortex/kernel/src/tsk_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 * * tsk_defs.h * * SYSTEM COMPONENT * * Tasks Management Compenent (THRD) * * DESCRIPTION * * This file contains data and constant definitions for * Tasks Management Compenent. * * SCCS HISTORY * * @(#)tsk_defs.h 1.14, 02/01/00, 11:05:30 * * AUTHOR * * Vadim N. Azarovsky * * CREATED * * 28-Apr-1998 by Vadim N. Azarovsky * * REVISION HISTORY * * NAME DATE REMARKS * **************************************************************************/</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> __TSK_DEFS__H</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="__TSK_DEFS__H">__TSK_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="thr_defs.h.FIND-INC"><font color="blue">"thr_defs.h"</font></a><font color="#6920ac">/*********************** * GLOBAL CONSTANSTS * ***********************/</font><font color="#6920ac">/* lowest task's priority */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_LOWEST_PRIORITY">TASK_LOWEST_PRIORITY</a></font> ((PRIO_LOWEST)+1)<font color="#6920ac">/* highest task's priority */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_HIGHEST_PRIORITY">TASK_HIGHEST_PRIORITY</a></font> ((PRIO_HIGHEST)-1)<font color="#6920ac">/* max task's name length */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_MAX_NAME_LEN">TASK_MAX_NAME_LEN</a></font> THRD_MAX_NAME_LEN<font color="#6920ac">/* max number of arguments */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_MAX_ARGS_NUM">TASK_MAX_ARGS_NUM</a></font> THRD_MAX_ARGS_NUM<font color="#6920ac">/* max number of threads can be created */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_MAX_THREADS">TASK_MAX_THREADS</a></font> THRD_MAX_THREADS<font color="#6920ac">/* * Return Codes */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_SUCCESS">TASK_SUCCESS</a></font> THRD_SUCCESS<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_INVALID_BLOCK">TASK_ERR_INVALID_BLOCK</a></font> THRD_ERR_INVALID_BLOCK<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_MEM_ALLOC">TASK_ERR_MEM_ALLOC</a></font> THRD_ERR_MEM_ALLOC<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_ALL_TCB_IN_USE">TASK_ERR_ALL_TCB_IN_USE</a></font> THRD_ERR_ALL_TCB_IN_USE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_INVALID_PARAMS">TASK_ERR_INVALID_PARAMS</a></font> THRD_ERR_INVALID_PARAMS<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERROR">TASK_ERROR</a></font> THRD_ERROR<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_INVALID_ID">TASK_ERR_INVALID_ID</a></font> THRD_ERR_INVALID_ID <b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_SELF_DESTRUCTION">TASK_ERR_SELF_DESTRUCTION</a></font> THRD_ERR_SELF_DESTRUCTION<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_STACK_TOO_SMALL">TASK_ERR_STACK_TOO_SMALL</a></font> THRD_ERR_STACK_TOO_SMALL<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_INVALID_STATE">TASK_ERR_INVALID_STATE</a></font> THRD_ERR_INVALID_STATE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_INVALID_FRAME">TASK_ERR_INVALID_FRAME</a></font> THRD_ERR_INVALID_FRAME<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_STACK_OVERFLOW">TASK_ERR_STACK_OVERFLOW</a></font> THRD_ERR_STACK_OVERFLOW<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ERR_STACK_UNDERFLOW">TASK_ERR_STACK_UNDERFLOW</a></font> THRD_ERR_STACK_UNDERFLOW<font color="#6920ac">/* C-style 1: ArgC, pArgV (deft)*/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ARGS_TYPE_1">TASK_ARGS_TYPE_1</a></font> THRD_FLAG_ARGS_TYPE_1<font color="#6920ac">/* C-style 2: ArgC, pArgV, pEnvV */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ARGS_TYPE_2">TASK_ARGS_TYPE_2</a></font> THRD_FLAG_ARGS_TYPE_2<font color="#6920ac">/* pArgV, ArgC */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ARGS_TYPE_3">TASK_ARGS_TYPE_3</a></font> THRD_FLAG_ARGS_TYPE_3<font color="#6920ac">/* fixed list of max length */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ARGS_TYPE_4">TASK_ARGS_TYPE_4</a></font> THRD_FLAG_ARGS_TYPE_4<font color="#6920ac">/* illegal thread id number */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_ILLEGAL_ID">TASK_ILLEGAL_ID</a></font> THRD_ILLEGAL_ID<font color="#6920ac">/***************** * GLOBAL MACROS * *****************/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_PRI_TO_PERCENT">TASK_PRI_TO_PERCENT</a></font>(pri) \ (((pri)-<a href="#TASK_LOWEST_PRIORITY">TASK_LOWEST_PRIORITY</a>)*100/(<a href="#TASK_HIGHEST_PRIORITY">TASK_HIGHEST_PRIORITY</a>-\ <a href="#TASK_LOWEST_PRIORITY">TASK_LOWEST_PRIORITY</a>))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="TASK_PERCENT_TO_PRI">TASK_PERCENT_TO_PRI</a></font>(percent) \ ((percent)*(<a href="#TASK_HIGHEST_PRIORITY">TASK_HIGHEST_PRIORITY</a>-<a href="#TASK_LOWEST_PRIORITY">TASK_LOWEST_PRIORITY</a>)/100+\ <a href="#TASK_LOWEST_PRIORITY">TASK_LOWEST_PRIORITY</a>)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="task_AttrDefault_g">task_AttrDefault_g</a></font> thrd_AttrDefault_g<font color="#6920ac">/*********************** * GLOBAL DATA TYPES * ***********************/</font><font color="#6920ac">/* task id */</font><i><a name="task_ID_t">typedef</a></i> <i>thrd_ID_t</i> <i><font color='DarkBlue'>task_ID_t</font></i>;<font color="#6920ac">/* task argiment */</font><i><a name="task_Arg_t">typedef</a></i> <i>thrd_Arg_t</i> <i><font color='DarkBlue'>task_Arg_t</font></i>;<font color="#6920ac">/* task entries */</font><i><a name="task_Entry_t">typedef</a></i> <i>thrd_Entry_t</i> <i><font color='DarkBlue'>task_Entry_t</font></i>;<i><a name="task_Entry1_t">typedef</a></i> <i>thrd_Entry1_t</i> <i><font color='DarkBlue'>task_Entry1_t</font></i>; <font color="#6920ac">/* task type 1 */</font><i><a name="task_Entry2_t">typedef</a></i> <i>thrd_Entry2_t</i> <i><font color='DarkBlue'>task_Entry2_t</font></i>; <font color="#6920ac">/* task type 2 */</font><i><a name="task_Entry3_t">typedef</a></i> <i>thrd_Entry3_t</i> <i><font color='DarkBlue'>task_Entry3_t</font></i>; <font color="#6920ac">/* task type 3 */</font><i><a name="task_Entry4_t">typedef</a></i> <i>thrd_Entry4_t</i> <i><font color='DarkBlue'>task_Entry4_t</font></i>; <font color="#6920ac">/* task type 4 */</font><font color="#6920ac">/* task scheduling policy */</font><i><a name="task_SchdPolicy_t">typedef</a></i> <i>enum</i> { task_SchdRoundRobin = thrd_SchdRoundRobin, <font color="#6920ac">/* round-robin policy */</font> task_SchdTimeSharing = thrd_SchdTimeSharing, <font color="#6920ac">/* time sharing policy */</font> task_SchdOther = thrd_SchdOther, <font color="#6920ac">/* other */</font> task_SchdTimeSlicingRR = thrd_SchdTimeSlicingRR <font color="#6920ac">/* combination of time * sharing and round-robin */</font>} <i><font color='DarkBlue'>task_SchdPolicy_t</font></i>;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?