📄 const.h
字号:
/************************************************************************//* *//* MODULE: CONST.H *//* PRODUCT: PSOS/POWERPC *//* PURPOSE: DEFINE CONSTANTS USED BY PSOS. *//* *//*----------------------------------------------------------------------*//* *//* Copyright 1991, 1992, 1994, Integrated Systems, Inc. *//* ALL RIGHTS RESERVED *//* *//* Permission is hereby granted to licensees of Integrated Systems, *//* Inc. products to use or abstract this computer program for the *//* sole purpose of implementing a product based on Integrated *//* Systems, Inc. products. No other rights to reproduce, use, *//* or disseminate this computer program, whether in part or in *//* whole, are granted. *//* *//* Integrated Systems, Inc. makes no representation or warranties *//* with respect to the performance of this computer program, and *//* specifically disclaims any responsibility for any damages, *//* special or consequential, connected with the use of this program. *//* *//************************************************************************/#ifndef _PSOS_CONST_H#define _PSOS_CONST_H#ifdef _kernel#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif#ifndef NO_ERR /* WvH: TM merge: necessary? */#define NO_ERR 0#endif#ifndef YES#define YES TRUE#endif#ifndef NO#define NO FALSE#endif#endif/*----------------------------------------------------------------------*//* KEYS FOR VALIDATION. *//*----------------------------------------------------------------------*/#define ASR_KEY 0x9999 /* ASR KEY*/#define RPKT_KEY 0x11111111 /* REPLY KEY*//*----------------------------------------------------------------------*//* SYSTEM COMPATABLITY CODE FOR VERIFY PACKET *//*----------------------------------------------------------------------*/#define SYS_COMPAT 0x05221993/*----------------------------------------------------------------------*//* REGION 0 ID NUMBER *//*----------------------------------------------------------------------*/#define RGN0_ID 0/*----------------------------------------------------------------------*//* FPU BIT POSITION IN CPUTYPE FIELD OF THE NODE CONFIG TABLE. *//*----------------------------------------------------------------------*/#define FPU_BIT 8 /* 0 = NO FPU; 1 = FPU PRESENT */#define FPU_MASK (1 << FPU_BIT)#define MMU_BIT 9 /* 0 = NO MMU; 1 = MMU PRESENT */#define MMU_MASK (1 << MMU_BIT)/*----------------------------------------------------------------------*//* BIT POSITIONS FOR FLAG FIELD. *//*----------------------------------------------------------------------*/#define GLOB_BIT 0 /* GLOBAL OBJECT*/#define COP_BIT 1 /* COPROCESSOR USED BY TASK*/#define PRI_BIT 1 /* PRIORITY Q, 0 FIF0*/#define LMT_BIT 2 /* QUEUE LIMIT, 0 UNLIMITED*/#define RESV_BIT 3 /* RESERVE SYSTEM BUFFERS*/#define NOWAIT_BIT 0 /* NO WAIT, 0 WAIT*/#define ANY_BIT 1 /* WAITING FOR ANY EVENTS*/#define DEL_BIT 2 /* DELETE REGION/PARTITION WITH OUT- */ /* STANDING SEGMENTS OR BUFFERS */#define BOUND_BIT 2 /* BOUNDED SEMAPHORE */#define SYSOBJ_BIT 4 /* SYSTEM OBJECT */#define NORELMU_BIT 5 /* RLEASE ALL THE MUTEXES */#define DONTDQ_BIT 2 /* DO NOT DEQUEU THE MESSAGE *//*----------------------------------------------------------------------*//* BIT MASKS FOR FLAG FIELD. *//*----------------------------------------------------------------------*/#define GLOB_MASK (1 << GLOB_BIT)#define COP_MASK (1 << COP_BIT)#define PRI_MASK (1 << PRI_BIT)#define LMT_MASK (1 << LMT_BIT)#define RESV_MASK (1 << RESV_BIT)#define NOWAIT_MASK (1 << NOWAIT_BIT)#define ANY_MASK (1 << ANY_BIT)#define DEL_MASK (1 << DEL_BIT)#define SYSOBJ_MASK (1 << SYSOBJ_BIT)#define BOUNDED_MASK (1 << BOUND_BIT)#define NORELMU_MASK (1 << NORELMU_BIT)#define DONTDQ_MASK (1 << DONTDQ_BIT)#define COND_MASK 2#define FNOWAIT 1 /* NOWAIT OPTION SET*//*----------------------------------------------------------------------*//* BIT POSITIONS FOR RACE CONDITIONS, AGENTS, TICKS & PACKETS. *//*----------------------------------------------------------------------*/#define TICK_BIT 0 /* A TICK TO BE PROCESSED*/#define AGT_BIT 1 /* AN AGENT TO BE PROCESSED.*/#define PKT_BIT 2 /* A PACKET TO BE PROCESSED.*/#define EV_BIT 4 /* EV_SEND/EV_RECEIVE RACE*/#define QX_BIT 5 /* Q_SEND/Q_RECEIVE RACE*/#define TERM_BIT 6 /* TERMINATED NODES TO BE PROCESSED */#define QVX_BIT 7 /* Q_VSEND/Q_VRECEIVE RACE*/#define CV_BIT 8 /* DEFERRED CV WAKEUP *//*----------------------------------------------------------------------*//* BIT MASKS FOR RACE CONDITIONS, AGENTS, TICKS & PACKETS. *//*----------------------------------------------------------------------*/#define TICK_MASK (1 << TICK_BIT) /* A TICK TO BE PROCESSED*/#define AGT_MASK (1 << AGT_BIT) /* AN AGENT TO BE PROCESSED.*/#define PKT_MASK (1 << PKT_BIT) /* A PACKET TO BE PROCESSED.*/#define EV_MASK (1 << EV_BIT) /* EV_SEND/EV_RECEIVE RACE*/#define QX_MASK (1 << QX_BIT) /* Q_SEND/Q_RECEIVE RACE*/#define TERM_MASK (1 << TERM_BIT) /* TERMINATED NODES TO BE PROCESSED */#define QVX_MASK (1 << QVX_BIT) /* Q_VSEND/Q_VRECEIVE RACE*/#define CV_MASK (1 << CV_BIT) /* DEFERRED CV WAKEUP *//*----------------------------------------------------------------------*//* TIMER BUCKETS > MUST BE POWER OF 2 < *//*----------------------------------------------------------------------*/#define WHEELSIZE 64/*----------------------------------------------------------------------*//* Number of software registers (both user & system) defined in TCB *//*----------------------------------------------------------------------*/#define MAX_REGS 16/*----------------------------------------------------------------------*//* Maximun task priority *//*----------------------------------------------------------------------*/#define MAX_PRIORITY 255/*----------------------------------------------------------------------*//* Maximum time slice value *//*----------------------------------------------------------------------*/#define MAX_TSLICE 0xFFFF/*----------------------------------------------------------------------*//* DEFAULT ROOT TASK PRIORITY *//*----------------------------------------------------------------------*/#define DFLT_ROOTPRI 230/*----------------------------------------------------------------------*//* MAX. # OF PACKET TYPES. *//*----------------------------------------------------------------------*/#define MAX_PKTYPE 16 /* MAX. # OF PACKET TYPES. *//*----------------------------------------------------------------------*//* STATE INDICATOR (KD_STATE) ENUMERATIONS *//*----------------------------------------------------------------------*/#define JOINING 0 /* NODE IS WAITING FOR JOIN REPLY PACKET */#define ALIVE 1 /* NODE IS OPERATING NORMALLY */#define SUICIDE 2 /* NODE HAS CALLED KI TO SEND A SUICIDE PKT */#define USRHNDLR 3 /* NODE HAS CALLED USR PROVIDED FATAL ERROR */ /* HANDLER */#define PRBHNDLR 4 /* NODE HAS CALLED pROBE FATAL ERROR HANDLER */#define ZERODIV 5 /* NODE HAS EXECUTED ZERO-DIVIDE INSTRUCTION */#define STOPPED 6 /* NODE HAS EXECUTED A STOP INSTRUCTION *//*----------------------------------------------------------------------*//* BIT NUMBERS FOR KD_MCFLAGS (MPCT ENTRY) *//*----------------------------------------------------------------------*/#define KICALLOUT_MASK 1 /* TELLS WHETHER TO CALL KI_ROSTER SERVICE */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -