home *** CD-ROM | disk | FTP | other *** search
- IFND EXEC_TASKS_I@
- EXEC_TASKS_I@ = 1
- ;*********************************************************************
- ;
- ; Commodore Amiga -- ROM Operating System Executive Include File
- ;
- ;*********************************************************************
- ;
- ; Source Control:
- ;
- ; $Header: tasks.i,v 33.1 86/03/07 17:30:19 neil Exp $
- ;
- ; $Locker: $
- ;
- ;*********************************************************************
-
- IFND EXEC_NODES_I@
- INCLUDE "exec/nodes.i"
- ENDIF
-
- IFND EXEC_LISTS_I@
- INCLUDE "exec/lists.i"
- ENDIF
-
-
- ;----------------------------------------------------------------
- ;
- ; Task Control Structure
- ;
- ;----------------------------------------------------------------
-
- STRUCTURE TC,LN_SIZE
- UBYTE TC_FLAGS
- UBYTE TC_STATE
- BYTE TC_IDNESTCNT ; intr disabled nesting
- BYTE TC_TDNESTCNT ; task disabled nesting
- ULONG TC_SIGALLOC ; sigs allocated
- ULONG TC_SIGWAIT ; sigs we are waiting for
- ULONG TC_SIGRECVD ; sigs we have received
- ULONG TC_SIGEXCEPT ; sigs we take as exceptions
- UWORD TC_TRAPALLOC ; traps allocated
- UWORD TC_TRAPABLE ; traps enabled
- APTR TC_EXCEPTDATA ; data for except proc
- APTR TC_EXCEPTCODE ; exception procedure
- APTR TC_TRAPDATA ; data for proc trap proc
- APTR TC_TRAPCODE ; proc trap procedure
- APTR TC_SPREG ; stack pointer
- APTR TC_SPLOWER ; stack lower bound
- APTR TC_SPUPPER ; stack upper bound + 2
- APTR TC_SWITCH ; task losing CPU
- APTR TC_LAUNCH ; task getting CPU
- STRUCT TC_MEMENTRY,LH_SIZE ; allocated memory
- APTR TC_Userdata
- LABEL TC_SIZE
-
-
- ;------ Flag Bits:
-
- ; BITDEF T,PROCTIME,0
- TB_PROCTIME = 0
- TF_PROCTIME = 1<<0
- ; BITDEF T,STACKCHK,4
- TB_STACKCHK = 4
- TF_STACKCHK = 1<<4
- ; BITDEF T,EXCEPT,5
- TB_EXCEPT = 5
- TF_EXCEPT = 1<<5
- ; BITDEF T,SWITCH,6
- TB_SWITCH = 6
- TF_SWITCH = 1<<6
- ; BITDEF T,LAUNCH,7
- TB_LAUNCH = 7
- TF_LAUNCH = 1<<7
-
-
- ;------ Task States:
- TS_INVALID EQU 0
- TS_ADDED EQU TS_INVALID+1
- TS_RUN EQU TS_ADDED+1
- TS_READY EQU TS_RUN+1
- TS_WAIT EQU TS_READY+1
- TS_EXCEPT EQU TS_WAIT+1
- TS_REMOVED EQU TS_EXCEPT+1
-
-
- ;------ System Task Signals:
-
- SIGF_ABORT EQU $0001
- SIGF_CHILD EQU $0002
- SIGF_BLIT EQU $0010
- SIGF_SINGLE EQU $0010
- SIGF_DOS EQU $0100
-
- SIGB_ABORT EQU 0
- SIGB_CHILD EQU 1
- SIGB_BLIT EQU 4
- SIGB_SINGLE EQU 4
- SIGB_DOS EQU 8
-
-
- SYS_SIGALLOC EQU $0FFFF ; pre-allocated signals
- SYS_TRAPALLOC EQU $08000 ; pre-allocated traps
-
- ENDIF
- END
-