home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / debugger / amiga / powervsr.lzh / PVDevelop / PVDevelop.lzh / include / PV / GeneralBase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-13  |  2.1 KB  |  127 lines

  1. #ifndef PV_GENERALBASE_H
  2. #define PV_GENERALBASE_H TRUE
  3. /*
  4. **  $Filename: GeneralBase.h $
  5. **  $Release: 1.12 $
  6. **  $Revision: 37.717 $
  7. **  $Date: 13 Jan 92 $
  8. **
  9. **  Structure definitions for General Base (see 'TheWizardCorner')
  10. **
  11. **  ⌐ 1991 Jorrit Tyberghein, included with PowerVisor
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef PV_PVMEMORY_H
  16. #include <pv/PVMemory.h>
  17. #endif
  18.  
  19. #ifndef EXEC_LISTS_H
  20. #include <exec/lists.h>
  21. #endif
  22.  
  23. #ifndef EXEC_PORTS_H
  24. #include <exec/ports.h>
  25. #endif
  26.  
  27. #ifndef DOS_DOS_H
  28. #include <dos/dos.h>
  29. #endif
  30.  
  31.  
  32. #define CRASH_TRAP    0
  33. #define CRASH_GURU    1
  34. #define CRASH_STACK    2
  35.  
  36. #define FUNCMON_NORMAL    0
  37. #define FUNCMON_LED    1
  38. #define FUNCMON_REGINFO    2
  39. #define FUNCMON_LEDINFO    3
  40. #define FUNCMON_EXEC    8
  41.  
  42.  
  43. struct CrashNode
  44.     {
  45.         struct Node node;
  46.         struct Task *Task;
  47.         ULONG TrapNumber;
  48.         ULONG SecondInfo;
  49.         UBYTE CrashType;
  50.         UBYTE pad0;
  51.         ULONG SP;
  52.         ULONG PC;
  53.         UWORD SR;
  54.         ULONG Registers[15];
  55.     };
  56.  
  57. struct FDFileNode
  58.     {
  59.         struct Node node;
  60.         struct Library *Library;
  61.         UWORD Bias;
  62.         struct PVMemoryBlock Functions;
  63.         struct PVMemoryBlock Strings;
  64.         UWORD NrFunctions;
  65.     };
  66.  
  67. struct AllRegs
  68.     {
  69.         ULONG Registers[14];
  70.     };
  71.  
  72. struct MonitorNode
  73.     {
  74.         struct Node node;
  75.         struct Library *Library;
  76.         UWORD Offset;
  77.         struct Task *Task;
  78.         ULONG UsageCount;
  79.         APTR CountCode;
  80.         ULONG CountCodeSize;
  81.         APTR OldFunction;
  82.         UWORD Type;
  83.         UWORD Position;
  84.         APTR Tasks[8];
  85.         struct AllRegs AllRegs[8];
  86.         APTR Command;
  87.     };
  88.  
  89. struct PowerVisorPort
  90.     {
  91.         struct MsgPort port;
  92.         APTR PVCallTable;
  93.         UWORD pad0;
  94.     };
  95.  
  96. struct GeneralBase
  97.     {
  98.         struct Process *PowerVisor;
  99.         ULONG PVStackFailLevel;
  100.         struct IORequest *TrackDiskRequest;
  101.         struct MsgPort *TrackDiskPort;
  102.         APTR OldExecTrapCode;
  103.         ULONG MMUType;
  104.         UWORD Processor;
  105.         APTR AccountTasks;
  106.         APTR OldSwitch;
  107.         APTR OldAlert;
  108.         APTR OldAddTask;
  109.         APTR OldAutoRequest;
  110.         ULONG StackFailLevel;
  111.         UBYTE pad0[8];
  112.         struct List FreezedTasks;
  113.         struct List CrashedTasks;
  114.         struct List FDFiles;
  115.         struct List MonitorFunctions;
  116.         struct PowerVisorPort PVPort;
  117.         UBYTE PatchMode;
  118.         UBYTE OldPriority;
  119.         struct IORequest *TimerRequest;
  120.         struct MsgPort *TimerPort;
  121.         ULONG MaxStackUsage;
  122.         struct Task *StackTask;
  123.         ULONG Micros;
  124.     };
  125.  
  126. #endif
  127.