1 #ifndef EXEC_EXECBASE_H
2 #define EXEC_EXECBASE_H
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
8 Desc: structure of exec.library
12 #ifndef EXEC_INTERRUPTS_H
13 # include <exec/interrupts.h>
15 #ifndef EXEC_LIBRARIES_H
16 # include <exec/libraries.h>
19 # include <exec/lists.h>
22 # include <exec/tasks.h>
25 /* Most fields are PRIVATE */
28 /* Standard Library Structure */
29 struct Library LibNode
;
31 /* System Constants */
32 UWORD SoftVer
; /* OBSOLETE */
38 APTR SysStkUpper
; /* System Stack Bounds */
40 IPTR MaxLocMem
; /* Chip Memory Pointer */
44 APTR MaxExtMem
; /* Extended Memory Pointer (may be NULL) */
45 UWORD ChkSum
; /* SoftVer to MaxExtMem */
48 struct IntVector IntVects
[16];
50 /* System Variables */
51 struct Task
* ThisTask
; /* Pointer to currently running task
55 UWORD Quantum
; /* # of ticks, a task may run */
56 UWORD Elapsed
; /* # of ticks, the current task has run */
60 UWORD AttnFlags
; /* Attention Flags (see below) (readable) */
71 struct List ResourceList
;
72 struct List DeviceList
;
76 struct List TaskReady
; /* Tasks that are ready to run */
77 struct List TaskWait
; /* Tasks that wait for some event */
78 struct SoftIntList SoftInts
[5];
80 /* Miscellaneous Stuff */
83 UBYTE VBlankFrequency
; /* (readable) */
84 UBYTE PowerSupplyFrequency
; /* (readable) */
85 /* AROS PRIVATE: VBlankFreq * PowerSupplyFreq = Timer Tick Rate */
86 struct List SemaphoreList
;
93 /* Miscellaneous Stuff */
94 UWORD ex_Pad0
; /* PRIVATE */
95 IPTR ex_LaunchPoint
; /* PRIVATE */
96 APTR ex_RamLibPrivate
;
97 ULONG ex_EClockFrequency
; /* (readable) */
98 ULONG ex_CacheControl
; /* PRIVATE */
100 ULONG ex_Reserved1
[5];
101 APTR ex_MMULock
; /* PRIVATE */
102 ULONG ex_Reserved2
[3];
103 struct MinList ex_MemHandlers
;
104 APTR ex_MemHandler
; /* PRIVATE */
106 /* Additional fields for AROS */
107 struct Library
* DebugAROSBase
;
108 void * PlatformData
; /* different for all platforms */
114 #define AFF_68010 (1L<<0)
116 #define AFF_68020 (1L<<1)
118 #define AFF_68030 (1L<<2)
120 #define AFF_68040 (1L<<3)
123 #define AFF_68881 (1L<<4)
125 #define AFF_68882 (1L<<5)
127 #define AFF_FPU40 (1L<<6)
128 #define AFB_PRIVATE 15 /* PRIVATE */
129 #define AFF_PRIVATE (1L<<15)
132 #define CACRF_EnableI (1L<<0)
133 #define CACRF_FreezeI (1L<<1)
134 #define CACRF_ClearI (1L<<3)
135 #define CACRF_IBE (1L<<4)
136 #define CACRF_EnableD (1L<<8)
137 #define CACRF_FreezeD (1L<<9)
138 #define CACRF_ClearD (1L<<11)
139 #define CACRF_DBE (1L<<12)
140 #define CACRF_WriteAllocate (1L<<13)
141 #define CACRF_EnableE (1L<<30)
142 #define CACRF_CopyBack (1L<<31)
145 #define DMA_Continue (1L<<1)
146 #define DMA_NoModify (1L<<2)
147 #define DMA_ReadFromRAM (1L<<3)
149 #endif /* EXEC_EXECBASE_H */