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 / MainBase.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-24  |  3.5 KB  |  178 lines

  1. #ifndef PV_MAINBASE_H
  2. #define PV_MAINBASE_H TRUE
  3. /*
  4. **  $Filename: MainBase.h $
  5. **  $Release: 1.40 $
  6. **  $Revision: 37.1656 $
  7. **  $Date: 24 Sep 92 $
  8. **
  9. **  Structure definitions for Main 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 DOS_DOS_H
  24. #include <dos/dos.h>
  25. #endif
  26.  
  27. #ifndef DEVICES_INPUTEVENT_H
  28. #include <devices/inputevent.h>
  29. #endif
  30.  
  31.  
  32. #define LASTCMD_NORMAL    0
  33. #define LASTCMD_MEMORY    1
  34. #define LASTCMD_UNASM    2
  35. #define LASTCMD_VIEW    3
  36.  
  37. #define IDC_NEXTWIN    1
  38. #define IDC_SCROLL1UP    2
  39. #define IDC_SCROLLPGUP    3
  40. #define IDC_SCROLLHOME    4
  41. #define IDC_SCROLLEND    5
  42. #define IDC_SCROLL1DO    6
  43. #define IDC_SCROLLPGDO    7
  44. #define IDC_SCROLLRIGHT    8
  45. #define IDC_SCROLL1RI    9
  46. #define IDC_SCROLL1LE    10
  47. #define IDC_DSCROLL1UP    11
  48. #define IDC_DSCROLLPGUP    12
  49. #define IDC_DSCROLL1DO    13
  50. #define IDC_DSCROLLPGDO    14
  51. #define IDC_DSCROLLPC    15
  52. #define IDC_EXEC    16
  53. #define IDC_SNAP    17
  54. #define IDC_DSCROLL1IUP    18
  55. #define IDC_DSCROLL1IDO    19
  56.  
  57. #define KEYATTACH_INVISIBLE    1
  58. #define KEYATTACH_SNAP        2
  59. #define KEYATTACH_HOLDKEY    4
  60.  
  61.  
  62. /* Structure describing a key
  63. */
  64. struct CodeQual
  65.     {
  66.         UWORD Code,Qualifier;
  67.     };
  68.  
  69. /* Structure describing a signal bit number and signal set mask
  70. */
  71. struct SignalSet
  72.     {
  73.         ULONG BitNum,SigSet;
  74.     };
  75.  
  76. /* One history line for the history buffer. These history lines are allocated
  77. ** as EXEC blocks (normal AllocMem)
  78. */
  79. struct HistoryLine
  80.     {
  81.         struct HistoryLine *Next,*Prev;
  82.         UWORD Size;        /* Size of complete structure */
  83.         char String[1];        /* Variable sized structure */
  84.     };
  85.  
  86. /* One structure for the aliases. These are EXEC blocks
  87. */
  88. struct AliasLine
  89.     {
  90.         struct AliasLine *Next,*Prev;
  91.         PVBLOCK CmdString;
  92.         PVBLOCK AliasString;
  93.     };
  94.  
  95. /* The keyattach node (or macro node). A keyattach node is an EXEC block
  96. */
  97. struct KeyAttachNode
  98.     {
  99.         struct Node node;
  100.         UWORD KeyCode;
  101.         UWORD KeyQualifier;
  102.         APTR CommandString;
  103.         UWORD CommandStringLen;
  104.         UWORD Flags;
  105.     };
  106.  
  107. struct MainBase
  108.     {
  109.         UWORD OSVersion;
  110.         APTR DosBase;
  111.         APTR IntuitionBase;
  112.         APTR GraphicsBase;
  113.         APTR UtilityBase;
  114.         APTR ExpansionBase;
  115.         APTR DiskFontBase;
  116.         APTR PowerVisorBase;
  117.         APTR CliCmdLine;
  118.         ULONG Detach;
  119.         BPTR ErrorFile;
  120.         ULONG pad0;
  121.         ULONG pad1;
  122.         UWORD RefreshSpeed;
  123.         UWORD RefreshCounter;
  124.         PVBLOCK RefreshCommand;
  125.         struct CodeQual BreakKey;
  126.         struct CodeQual HotKey;
  127.         struct CodeQual PauseKey;
  128.         struct CodeQual NextWinKey;
  129.         struct CodeQual HistUpKey;
  130.         struct CodeQual HistDoKey;
  131.         UBYTE PVDebugMode;
  132.         UBYTE pad2;
  133.         UBYTE pad3;
  134.         UBYTE pad4;
  135.         PVBLOCK PreCommand;
  136.         PVBLOCK PostCommand;
  137.         PVBLOCK QuitCommand;
  138.         struct HistoryLine *LastHistory;
  139.         WORD LastError;
  140.         WORD ExecLevel;
  141.         struct SignalSet HoldSignal;
  142.         struct SignalSet PortPrintSignal;
  143.         struct SignalSet IDCSignal;
  144.         struct SignalSet GadgetRefreshSignal;
  145.         struct SignalSet PVtoFrontSignal;
  146.         struct SignalSet InterruptSignal;
  147.         struct Task *PowerVisorTask;
  148.         struct IORequest *InputRequest;
  149.         struct MsgPort *InputPort;
  150.         struct HistoryLine *FirstHistLine;
  151.         ULONG NumLines;
  152.         ULONG MaxLines;
  153.         UBYTE CodeTable[32];
  154.         struct AliasLine *FirstAliasLine;
  155.         APTR ScriptLine;
  156.         UWORD DefLineLength;
  157.         UBYTE CommentChar;
  158.         UBYTE FeedbackSuppressChar;
  159.         UBYTE QuickExecChar;
  160.         UBYTE OutputSuppressChar;
  161.         UBYTE LastCommand;
  162.         UBYTE pad5;
  163.         UBYTE pad6;
  164.         UBYTE HoldMode;
  165.         UBYTE pad7;
  166.         UBYTE IDCCommandNumber;
  167.         ULONG IDCArgument;
  168.         struct List KeyAttach;
  169.         APTR WorkBenchMsg;
  170.         struct HistoryLine *ScanHistory;
  171.         struct InputEvent InputEvent;
  172.         APTR LayersBase;
  173.         APTR pad8;
  174.         UBYTE MasterPV;
  175.     };
  176.  
  177. #endif
  178.