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">&lt;<font color="blue">stdarg.h</font>&gt;</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 &lt; 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 + -
显示快捷键?