#ifndef EXEC_TASKS_H #define EXEC_TASKS_H /* ** $Filename: exec/tasks.h $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 36.9 $ ** $Date: 91/11/06 $ ** ** Task Control Block, Singals, and Task flags. ** ** (C) Copyright 1985-1991 Commodore-Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_NODES_H #include "exec/nodes.h" #endif #ifndef EXEC_LISTS_H #include "exec/lists.h" #endif struct Task { struct Node tc_Node; UBYTE tc_Flags; UBYTE tc_State; BYTE tc_IDNestCnt; BYTE tc_TDNestCnt; ULONG tc_SigAlloc; ULONG tc_SigWait; ULONG tc_SigRecvd; ULONG tc_SigExcept; UWORD tc_TrapAlloc; UWORD tc_TrapAble; APTR tc_ExceptData; APTR tc_ExceptCode; APTR tc_TrapData; APTR tc_TrapCode; APTR tc_SPReg; APTR tc_SPLower; APTR tc_SPUpper; VOID (*tc_Switch)(); VOID (*tc_Launch)(); struct List tc_MemEntry; APTR tc_UserData; }; struct StackSwapStruct { APTR stk_Lower; ULONG stk_Upper; APTR stk_Pointer; }; #define TB_PROCTIME 0 #define TB_ETASK 3 #define TB_STACKCHK 4 #define TB_EXCEPT 5 #define TB_SWITCH 6 #define TB_LAUNCH 7 #define TF_PROCTIME (1<<0) #define TF_ETASK (1<<3) #define TF_STACKCHK (1<<4) #define TF_EXCEPT (1<<5) #define TF_SWITCH (1<<6) #define TF_LAUNCH (1<<7) #define TS_INVALID 0 #define TS_ADDED 1 #define TS_RUN 2 #define TS_READY 3 #define TS_WAIT 4 #define TS_EXCEPT 5 #define TS_REMOVED 6 #define SIGB_ABORT 0 #define SIGB_CHILD 1 #define SIGB_BLIT 4 #define SIGB_SINGLE 4 #define SIGB_INTUITION 5 #define SIGB_DOS 8 #define SIGF_ABORT (1L<<0) #define SIGF_CHILD (1L<<1) #define SIGF_BLIT (1L<<4) #define SIGF_SINGLE (1L<<4) #define SIGF_INTUITION (1L<<5) #define SIGF_DOS (1L<<8) #endif