home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: AssemPro For Development Amiga Driver / Lowe_AssemProForDevelopmentAmigaDriver.adf / Includes / exec / tasks.i < prev    next >
Encoding:
Text File  |  1978-06-06  |  2.8 KB  |  107 lines

  1.     IFND EXEC_TASKS_I@
  2. EXEC_TASKS_I@ = 1
  3. ;*********************************************************************
  4. ;
  5. ;   Commodore Amiga -- ROM Operating System Executive Include File
  6. ;
  7. ;*********************************************************************
  8. ;
  9. ;   Source Control:
  10. ;
  11. ;       $Header: tasks.i,v 33.1 86/03/07 17:30:19 neil Exp $
  12. ;
  13. ;       $Locker:  $
  14. ;
  15. ;*********************************************************************
  16.  
  17.     IFND EXEC_NODES_I@
  18.     INCLUDE "exec/nodes.i"
  19.     ENDIF
  20.  
  21.     IFND EXEC_LISTS_I@
  22.     INCLUDE "exec/lists.i"
  23.     ENDIF
  24.  
  25.  
  26. ;----------------------------------------------------------------
  27. ;
  28. ;   Task Control Structure
  29. ;
  30. ;----------------------------------------------------------------
  31.  
  32.  STRUCTURE  TC,LN_SIZE
  33.     UBYTE   TC_FLAGS
  34.     UBYTE   TC_STATE
  35.     BYTE    TC_IDNESTCNT            ; intr disabled nesting
  36.     BYTE    TC_TDNESTCNT            ; task disabled nesting
  37.     ULONG   TC_SIGALLOC             ; sigs allocated
  38.     ULONG   TC_SIGWAIT              ; sigs we are waiting for
  39.     ULONG   TC_SIGRECVD             ; sigs we have received
  40.     ULONG   TC_SIGEXCEPT            ; sigs we take as exceptions
  41.     UWORD   TC_TRAPALLOC            ; traps allocated
  42.     UWORD   TC_TRAPABLE             ; traps enabled
  43.     APTR    TC_EXCEPTDATA           ; data for except proc
  44.     APTR    TC_EXCEPTCODE           ; exception procedure
  45.     APTR    TC_TRAPDATA             ; data for proc trap proc
  46.     APTR    TC_TRAPCODE             ; proc trap procedure
  47.     APTR    TC_SPREG                ; stack pointer
  48.     APTR    TC_SPLOWER              ; stack lower bound
  49.     APTR    TC_SPUPPER              ; stack upper bound + 2
  50.     APTR    TC_SWITCH               ; task losing CPU
  51.     APTR    TC_LAUNCH               ; task getting CPU
  52.     STRUCT  TC_MEMENTRY,LH_SIZE     ; allocated memory
  53.     APTR    TC_Userdata
  54.     LABEL   TC_SIZE
  55.  
  56.  
  57. ;------ Flag Bits:
  58.  
  59. ;    BITDEF  T,PROCTIME,0
  60. TB_PROCTIME = 0
  61. TF_PROCTIME = 1<<0
  62. ;    BITDEF  T,STACKCHK,4
  63. TB_STACKCHK = 4
  64. TF_STACKCHK = 1<<4
  65. ;    BITDEF  T,EXCEPT,5
  66. TB_EXCEPT = 5
  67. TF_EXCEPT = 1<<5
  68. ;    BITDEF  T,SWITCH,6
  69. TB_SWITCH = 6
  70. TF_SWITCH = 1<<6
  71. ;    BITDEF  T,LAUNCH,7
  72. TB_LAUNCH = 7
  73. TF_LAUNCH = 1<<7
  74.  
  75.  
  76. ;------ Task States:
  77. TS_INVALID  EQU     0
  78. TS_ADDED    EQU     TS_INVALID+1
  79. TS_RUN      EQU     TS_ADDED+1
  80. TS_READY    EQU     TS_RUN+1
  81. TS_WAIT     EQU     TS_READY+1
  82. TS_EXCEPT   EQU     TS_WAIT+1
  83. TS_REMOVED  EQU     TS_EXCEPT+1
  84.  
  85.  
  86. ;------ System Task Signals:
  87.  
  88. SIGF_ABORT      EQU     $0001
  89. SIGF_CHILD      EQU     $0002
  90. SIGF_BLIT       EQU     $0010
  91. SIGF_SINGLE     EQU     $0010
  92. SIGF_DOS        EQU     $0100
  93.  
  94. SIGB_ABORT      EQU     0
  95. SIGB_CHILD      EQU     1
  96. SIGB_BLIT       EQU     4
  97. SIGB_SINGLE     EQU     4
  98. SIGB_DOS        EQU     8
  99.  
  100.  
  101. SYS_SIGALLOC    EQU     $0FFFF          ; pre-allocated signals
  102. SYS_TRAPALLOC   EQU     $08000          ; pre-allocated traps
  103.  
  104.     ENDIF
  105.     END
  106.