home *** CD-ROM | disk | FTP | other *** search
- #ifndef PV_GENERALBASE_H
- #define PV_GENERALBASE_H TRUE
- /*
- ** $Filename: GeneralBase.h $
- ** $Release: 1.40 $
- ** $Revision: 37.1656 $
- ** $Date: 24 Sep 92 $
- **
- ** Structure definitions for General Base (see 'TheWizardCorner')
- **
- ** © 1992 Jorrit Tyberghein, included with PowerVisor
- ** All Rights Reserved
- */
-
- #ifndef PV_PVMEMORY_H
- #include <pv/PVMemory.h>
- #endif
-
- #ifndef EXEC_LISTS_H
- #include <exec/lists.h>
- #endif
-
- #ifndef EXEC_PORTS_H
- #include <exec/ports.h>
- #endif
-
- #ifndef DOS_DOS_H
- #include <dos/dos.h>
- #endif
-
-
- #define CRASH_TRAP 0
- #define CRASH_GURU 1
- #define CRASH_STACK 2
-
- #define FUNCMON_NORMAL 0
- #define FUNCMON_LED 1
- #define FUNCMON_REGINFO 2
- #define FUNCMON_LEDINFO 3
- #define FUNCMON_EXEC 8
-
-
- struct CrashNode
- {
- struct Node node;
- struct Task *Task;
- ULONG TrapNumber;
- ULONG SecondInfo;
- UBYTE CrashType;
- UBYTE pad0;
- ULONG SP;
- ULONG PC;
- UWORD SR;
- ULONG Registers[15];
- };
-
- struct FDFileNode
- {
- struct Node node;
- struct Library *Library;
- UWORD Bias;
- struct PVMemoryBlock Functions;
- struct PVMemoryBlock Strings;
- UWORD NrFunctions;
- };
-
- struct AllRegs
- {
- ULONG Registers[14];
- };
-
- struct MonitorNode
- {
- struct Node node;
- struct Library *Library;
- UWORD Offset;
- struct Task *Task;
- ULONG UsageCount;
- APTR CountCode;
- ULONG CountCodeSize;
- APTR OldFunction;
- UWORD Type;
- UWORD Position;
- APTR Tasks[8];
- struct AllRegs AllRegs[8];
- APTR Command;
- };
-
- struct PowerVisorPort
- {
- struct MsgPort port;
- APTR PVCallTable;
- UWORD pad0;
- };
-
- struct TrackStruct
- {
- struct TrackStruct *Next;
- struct TrackStruct *Prev;
- APTR Data;
- ULONG Size;
- APTR PC;
- UBYTE Type;
- UBYTE pad0;
- UBYTE pad1;
- UBYTE pad2;
- };
-
- struct GeneralBase
- {
- struct Process *PowerVisor;
- ULONG PVStackFailLevel;
- struct IORequest *TrackDiskRequest;
- struct MsgPort *TrackDiskPort;
- APTR OldExecTrapCode;
- ULONG MMUType;
- UWORD Processor;
- APTR AccountTasks;
- APTR OldSwitch;
- APTR OldAlert;
- APTR OldAddTask;
- APTR OldAutoRequest;
- ULONG StackFailLevel;
- UBYTE pad0[8];
- struct List FreezedTasks;
- struct List CrashedTasks;
- struct List FDFiles;
- struct List MonitorFunctions;
- struct PowerVisorPort PVPort;
- UBYTE pad1;
- UBYTE OldPriority;
- struct IORequest *TimerRequest;
- struct MsgPort *TimerPort;
- ULONG MaxStackUsage;
- struct Task *StackTask;
- ULONG Micros;
- struct Task *TrackTask;
- struct TrackStruct *FirstTrack;
- APTR ProfileDebug;
- ULONG ProfileMicros;
- ULONG ProfileWaitTicks;
- ULONG ProfileReadyTicks;
- struct PVMemoryBlock ProfileTable;
- };
-
- #endif
-