thr_defs.h
来自「澳洲人写的Cortex,包括uC_IP协议栈」· C头文件 代码 · 共 293 行 · 第 1/2 页
H
293 行
<HTML><HEAD><TITLE>/home/asysweb/public_html/cortex/kernel/src/thr_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 * * thr_defs.h * * SYSTEM COMPONENT * * Threads Management Compenent (THRD) * * DESCRIPTION * * This file contains data and constant definitions for * Threads Management Compenent. * * SCCS HISTORY * * @(#)thr_defs.h 1.16, 02/01/00, 11:06:34 * * AUTHOR * * Vadim N. Azarovsky * * CREATED * * 10-Apr-1998 by Vadim N. Azarovsky * * REVISION HISTORY * * NAME DATE REMARKS * **************************************************************************/</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> __THR_DEFS__H</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="__THR_DEFS__H">__THR_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="pri_defs.h.FIND-INC"><font color="blue">"pri_defs.h"</font></a><b><font color='DarkGreen'>#include</font></b> <a href="ill_defs.h.FIND-INC"><font color="blue">"ill_defs.h"</font></a><b><font color='DarkGreen'>#include</font></b> <a href="rlq_defs.h.FIND-INC"><font color="blue">"rlq_defs.h"</font></a><b><font color='DarkGreen'>#include</font></b> <a href="tck_defs.h.FIND-INC"><font color="blue">"tck_defs.h"</font></a><b><font color='DarkGreen'>#include</font></b> <a href="mem_defs.h.FIND-INC"><font color="blue">"mem_defs.h"</font></a><b><font color='DarkGreen'>#include</font></b> <a href="stdarg.h.FIND-INC"><<font color="blue">stdarg.h</font>></a><font color="#6920ac">/*********************** * GLOBAL CONSTANSTS * ***********************/</font><font color="#6920ac">/* max thread name length */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_MAX_NAME_LEN">THRD_MAX_NAME_LEN</a></font> ENVI_THRD_MAX_NAME_LEN<font color="#6920ac">/* max number of thread's arguments */</font><b><font color='DarkGreen'>#if</font></b><font color="maroon"> (ENVI_THRD_MAX_ARGS_NUM < 3)</font><b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="THRD_MAX_ARGS_NUM">THRD_MAX_ARGS_NUM</a></font> 3 <font color="#6920ac">/* need at least 3 arguments */</font><b><font color='DarkGreen'>#else</font></b><font color="maroon"></font><b><font color='DarkGreen'># define</font></b> <font color="maroon"><a name="THRD_MAX_ARGS_NUM">THRD_MAX_ARGS_NUM</a></font> ENVI_THRD_MAX_ARGS_NUM<b><font color='DarkGreen'>#endif</font></b><font color="maroon"></font><font color="#6920ac">/* max number of threads can be created */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_MAX_THREADS">THRD_MAX_THREADS</a></font> ENVI_THRD_MAX_THREADS<font color="#6920ac">/* thread tracer enable/disable flag */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_THREAD_TRACKER_ENABLED">THRD_THREAD_TRACKER_ENABLED</a></font> ENVI_THRD_THREAD_TRACKER_ENABLED<font color="#6920ac">/* * Return Codes */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_SUCCESS">THRD_SUCCESS</a></font> CRTX_SUCCESS <font color="#6920ac">/* successful completion */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_INVALID_BLOCK">THRD_ERR_INVALID_BLOCK</a></font> -1 <font color="#6920ac">/* invalid TCB */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_MEM_ALLOC">THRD_ERR_MEM_ALLOC</a></font> -2 <font color="#6920ac">/* memory allocation error */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_ALL_TCB_IN_USE">THRD_ERR_ALL_TCB_IN_USE</a></font> -3 <font color="#6920ac">/* all control blocks in use */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_INVALID_PARAMS">THRD_ERR_INVALID_PARAMS</a></font> -4 <font color="#6920ac">/* anvalid parameters */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_STACK_TOO_SMALL">THRD_ERR_STACK_TOO_SMALL</a></font> -5 <font color="#6920ac">/* stack too small */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_INVALID_ID">THRD_ERR_INVALID_ID</a></font> -6 <font color="#6920ac">/* invalid thread id or thread doesn't exist */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_SELF_DESTRUCTION">THRD_ERR_SELF_DESTRUCTION</a></font> -7 <font color="#6920ac">/* thread cannot delete itself */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_INVALID_STATE">THRD_ERR_INVALID_STATE</a></font> -8 <font color="#6920ac">/* invalid thread state */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_INVALID_FRAME">THRD_ERR_INVALID_FRAME</a></font> -9 <font color="#6920ac">/* invalid stack frame */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_STACK_OVERFLOW">THRD_ERR_STACK_OVERFLOW</a></font> -10 <font color="#6920ac">/* stack overflow */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERR_STACK_UNDERFLOW">THRD_ERR_STACK_UNDERFLOW</a></font> -11 <font color="#6920ac">/* stack underflow */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ERROR">THRD_ERROR</a></font> -12<font color="#6920ac">/* * Thread flags */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_INIT">THRD_FLAG_INIT</a></font> 0x0 <font color="#6920ac">/* initialisation flags */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_ARGS_TYPE_1">THRD_FLAG_ARGS_TYPE_1</a></font> 0x0 <font color="#6920ac">/* C-style 1: ArgC, pArgV (deft)*/</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_ARGS_TYPE_2">THRD_FLAG_ARGS_TYPE_2</a></font> 0x1 <font color="#6920ac">/* C-style 2: ArgC, pArgV, pEnvV */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_ARGS_TYPE_3">THRD_FLAG_ARGS_TYPE_3</a></font> 0x2 <font color="#6920ac">/* pArgV, ArgC */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_ARGS_TYPE_4">THRD_FLAG_ARGS_TYPE_4</a></font> 0x3 <font color="#6920ac">/* fixed list of max length */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_STACK_ALLOC">THRD_FLAG_STACK_ALLOC</a></font> 0x4 <font color="#6920ac">/* internaly allocated stack */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_DEMON">THRD_FLAG_DEMON</a></font> 0x8 <font color="#6920ac">/* thread is a demon */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_PRIV_SEG_ALLOC">THRD_FLAG_PRIV_SEG_ALLOC</a></font> 0x10 <font color="#6920ac">/* space for private mem segment * allocated */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_FLAG_ARGS_TYPE_MASK">THRD_FLAG_ARGS_TYPE_MASK</a></font> (THRD_FLAG_ARGS_TYPE_4)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ILLEGAL_ID">THRD_ILLEGAL_ID</a></font> -1 <font color="#6920ac">/* illegal thread id */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_ILLEGAL_TCB">THRD_ILLEGAL_TCB</a></font> CRTX_NULL <font color="#6920ac">/* illegal thread control block */</font><font color="#6920ac">/***************** * GLOBAL MACROS * *****************/</font><font color="#6920ac">/* None */</font><font color="#6920ac">/*********************** * GLOBAL DATA TYPES * ***********************/</font><font color="#6920ac">/* thread id */</font><i><a name="thrd_ID_t">typedef</a></i> <i>ilst_Index_t</i> <i><font color='DarkBlue'>thrd_ID_t</font></i>;<font color="#6920ac">/* thread argiment */</font><i><a name="thrd_Arg_t">typedef</a></i> <i>crtx_Void_t</i> *<i><font color='DarkBlue'>thrd_Arg_t</font></i>;<font color="#6920ac">/* thread entries */</font><i><a name="thrd_Entry_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>thrd_Entry_t</font></i>) (<i>crtx_Int_t</i> ArgC_a, <i>crtx_Void_t</i> **ppArgV_a);<i><a name="thrd_Entry1_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>thrd_Entry1_t</font></i>)(<i>crtx_Int_t</i> ArgC_a, <i>crtx_Void_t</i> **ppArgV_a);<i><a name="thrd_Entry2_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>thrd_Entry2_t</font></i>)(<i>crtx_Int_t</i> ArgC_a, <i>crtx_Void_t</i> **ppArgV_a, <i>crtx_Void_t</i> **ppEnvV_a);<i><a name="thrd_Entry3_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>thrd_Entry3_t</font></i>)(<i>crtx_Void_t</i> **ppArgV_a, <i>crtx_Int_t</i> ArgC_a);<i><a name="thrd_Entry4_t">typedef</a></i> <i>crtx_Void_t</i> (*<i><font color='DarkBlue'>thrd_Entry4_t</font></i>)(<i>thrd_Arg_t</i> Arg_a, ...);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?