home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / programming / debug-utils / pv / pvdevelop / pvdevelop.lha / include / PV / GeneralBase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-24  |  2.5 KB  |  147 lines

  1. #ifndef PV_GENERALBASE_H
  2. #define PV_GENERALBASE_H TRUE
  3. /*
  4. **  $Filename: GeneralBase.h $
  5. **  $Release: 1.40 $
  6. **  $Revision: 37.1656 $
  7. **  $Date: 24 Sep 92 $
  8. **
  9. **  Structure definitions for General Base (see 'TheWizardCorner')
  10. **
  11. **  © 1992 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 TrackStruct
  97.     {
  98.         struct TrackStruct *Next;
  99.         struct TrackStruct *Prev;
  100.         APTR Data;
  101.         ULONG Size;
  102.         APTR PC;
  103.         UBYTE Type;
  104.         UBYTE pad0;
  105.         UBYTE pad1;
  106.         UBYTE pad2;
  107.     };
  108.  
  109. struct GeneralBase
  110.     {
  111.         struct Process *PowerVisor;
  112.         ULONG PVStackFailLevel;
  113.         struct IORequest *TrackDiskRequest;
  114.         struct MsgPort *TrackDiskPort;
  115.         APTR OldExecTrapCode;
  116.         ULONG MMUType;
  117.         UWORD Processor;
  118.         APTR AccountTasks;
  119.         APTR OldSwitch;
  120.         APTR OldAlert;
  121.         APTR OldAddTask;
  122.         APTR OldAutoRequest;
  123.         ULONG StackFailLevel;
  124.         UBYTE pad0[8];
  125.         struct List FreezedTasks;
  126.         struct List CrashedTasks;
  127.         struct List FDFiles;
  128.         struct List MonitorFunctions;
  129.         struct PowerVisorPort PVPort;
  130.         UBYTE pad1;
  131.         UBYTE OldPriority;
  132.         struct IORequest *TimerRequest;
  133.         struct MsgPort *TimerPort;
  134.         ULONG MaxStackUsage;
  135.         struct Task *StackTask;
  136.         ULONG Micros;
  137.         struct Task *TrackTask;
  138.         struct TrackStruct *FirstTrack;
  139.         APTR ProfileDebug;
  140.         ULONG ProfileMicros;
  141.         ULONG ProfileWaitTicks;
  142.         ULONG ProfileReadyTicks;
  143.         struct PVMemoryBlock ProfileTable;
  144.     };
  145.  
  146. #endif
  147.