#ifndef EXEC_EXECBASE_H
#define EXEC_EXECBASE_H
#ifndef EXEC_LISTS_H
#include "exec/lists.h"
#endif !EXEC_LISTS_H
#ifndef EXEC_INTERRUPTS_H
#include "exec/interrupts.h"
#endif !EXEC_INTERRUPTS_H
#ifndef EXEC_LIBRARIES_H
#include "exec/libraries.h"
#endif !EXEC_LIBRARIES_H
#ifndef EXEC_TASKS_H
#include "exec/tasks.h"
#endif !EXEC_TASKS_H
struct ExecBase {
 struct Library  LibNode;
 UWORD   SoftVer;
 WORD    LowMemChkSum;
 ULONG   ChkBase;
 APTR    ColdCapture;
 APTR    CoolCapture;
 APTR    WarmCapture;
 APTR    SysStkUpper;
 APTR    SysStkLower;
 ULONG   MaxLocMem;
 APTR    DebugEntry;
 APTR    DebugData;
 APTR    AlertData;
 APTR    MaxExtMem;
 UWORD   ChkSum;
 struct  IntVector IntVects[16];
 struct  Task *ThisTask;
 ULONG   IdleCount;
 ULONG   DispCount;
 UWORD   Quantum;
 UWORD   Elapsed;
 UWORD   SysFlags;
 BYTE    IDNestCnt;
 BYTE    TDNestCnt;
 UWORD   AttnFlags;
 UWORD   AttnResched;
 APTR    ResModules;
 APTR    TaskTrapCode;
 APTR    TaskExceptCode;
 APTR    TaskExitCode;
 ULONG   TaskSigAlloc;
 UWORD   TaskTrapAlloc;
 struct  List MemList;
 struct  List ResourceList;
 struct  List DeviceList;
 struct  List IntrList;
 struct  List LibList;
 struct  List PortList;
 struct  List TaskReady;
 struct  List TaskWait;
 struct  SoftIntList SoftInts[5];
 LONG    LastAlert[4];
 UBYTE   VBlankFrequency;
 UBYTE   PowerSupplyFrequency;
 struct  List SemaphoreList;
 APTR    KickMemPtr;
 APTR    KickTagPtr;
 APTR    KickCheckSum;
 UBYTE   ExecBaseReserved[10];
 UBYTE   ExecBaseNewReserved[20];
};
#define SYSBASESIZE  sizeof(struct ExecBase)
#define AFB_68010       0
#define AFB_68020       1
#define AFB_68881       4
#define AFF_68010       (1<<0)
#define AFF_68020       (1<<1)
#define AFF_68881       (1<<4)
#define AFB_RESERVED8   8
#define AFB_RESERVED9   9
#endif
