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

  1. #ifndef PV_MEMORYBASE_H
  2. #define PV_MEMORYBASE_H TRUE
  3. /*
  4. **  $Filename: MemoryBase.h $
  5. **  $Release: 1.40 $
  6. **  $Revision: 37.1656 $
  7. **  $Date: 24 Sep 92 $
  8. **
  9. **  Structure definitions for Memory 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. /* Types for PVTag.Type */
  20. #define TAG_BYTEASCII    1
  21. #define TAG_WORDASCII    2
  22. #define TAG_LONGASCII    3
  23. #define TAG_ASCII    4
  24. #define TAG_CODE    5
  25. #define TAG_STRUCT    6
  26.  
  27. /* Bits for PVTag.Flags */
  28. #define BTAG_WPROTECT    0        /* w */
  29. #define BTAG_RPROTECT    1        /* r */
  30. #define BTAG_IGNORE    2        /* i */
  31. #define BTAG_PPRINT    3        /* p */
  32. #define BTAG_FREEZE    4        /* f */
  33.  
  34. #define REGIONSIZE    8192
  35.  
  36.  
  37. struct AutoClearList
  38.     {
  39.         struct AutoClearList *Next;
  40.         PVBLOCK pointer;
  41.     };
  42.  
  43. struct PVTag
  44.     {
  45.         APTR Address;
  46.         ULONG Bytes;
  47.         UWORD Flags;
  48.         UWORD Type;
  49.         ULONG Extra;
  50.     };
  51.  
  52. struct PVMemoryHeader
  53.     {
  54.         struct PVMemoryHeader *Next;
  55.         struct PVMemoryHeader *Prev;
  56.         APTR First;        /* Pointer to first free memory chunk */
  57.         ULONG Free;        /* Total free in memory block */
  58.         APTR Lower;        /* Pointer to memory block */
  59.         ULONG Size;        /* Total size of memory block */
  60.         ULONG Attributes;    /* Attributes for this region (MEMF_CHIP, ...) */
  61.         ULONG pad0;
  62.     };
  63.  
  64. struct MemoryBase
  65.     {
  66.         struct AutoClearList *AutoClearList;
  67.         struct AutoClearList *LastAutoClear;
  68.         UWORD NumAutoClear;
  69.         UWORD MaxNumAutoClear;
  70.         struct PVMemoryBlock GlobalAutoClear;
  71.         ULONG pad0;
  72.         struct PVMemoryBlock CurrentTagList;
  73.         ULONG NumCurrentTagList;
  74.         struct PVMemoryBlock AllTags[16];
  75.         ULONG pad1;
  76.         APTR NextMemoryList;
  77.         APTR NextSearch;
  78.         ULONG RemainingBytes;
  79.         PVBLOCK SearchString;
  80.         UBYTE pad2;
  81.         UBYTE pad3;
  82.         struct PVMemoryBlock ResidentCode;
  83.         ULONG pad4
  84.         UBYTE pad5[10];
  85.         ULONG LastBytes;
  86.         ULONG LastLines;
  87.         struct PVMemoryHeader *FirstRegion;
  88.     };
  89.  
  90. #endif
  91.