home *** CD-ROM | disk | FTP | other *** search
- #ifndef PV_MEMORYBASE_H
- #define PV_MEMORYBASE_H TRUE
- /*
- ** $Filename: MemoryBase.h $
- ** $Release: 1.40 $
- ** $Revision: 37.1656 $
- ** $Date: 24 Sep 92 $
- **
- ** Structure definitions for Memory Base (see 'TheWizardCorner')
- **
- ** © 1992 Jorrit Tyberghein, included with PowerVisor
- ** All Rights Reserved
- */
-
- #ifndef PV_PVMEMORY_H
- #include <pv/PVMemory.h>
- #endif
-
- /* Types for PVTag.Type */
- #define TAG_BYTEASCII 1
- #define TAG_WORDASCII 2
- #define TAG_LONGASCII 3
- #define TAG_ASCII 4
- #define TAG_CODE 5
- #define TAG_STRUCT 6
-
- /* Bits for PVTag.Flags */
- #define BTAG_WPROTECT 0 /* w */
- #define BTAG_RPROTECT 1 /* r */
- #define BTAG_IGNORE 2 /* i */
- #define BTAG_PPRINT 3 /* p */
- #define BTAG_FREEZE 4 /* f */
-
- #define REGIONSIZE 8192
-
-
- struct AutoClearList
- {
- struct AutoClearList *Next;
- PVBLOCK pointer;
- };
-
- struct PVTag
- {
- APTR Address;
- ULONG Bytes;
- UWORD Flags;
- UWORD Type;
- ULONG Extra;
- };
-
- struct PVMemoryHeader
- {
- struct PVMemoryHeader *Next;
- struct PVMemoryHeader *Prev;
- APTR First; /* Pointer to first free memory chunk */
- ULONG Free; /* Total free in memory block */
- APTR Lower; /* Pointer to memory block */
- ULONG Size; /* Total size of memory block */
- ULONG Attributes; /* Attributes for this region (MEMF_CHIP, ...) */
- ULONG pad0;
- };
-
- struct MemoryBase
- {
- struct AutoClearList *AutoClearList;
- struct AutoClearList *LastAutoClear;
- UWORD NumAutoClear;
- UWORD MaxNumAutoClear;
- struct PVMemoryBlock GlobalAutoClear;
- ULONG pad0;
- struct PVMemoryBlock CurrentTagList;
- ULONG NumCurrentTagList;
- struct PVMemoryBlock AllTags[16];
- ULONG pad1;
- APTR NextMemoryList;
- APTR NextSearch;
- ULONG RemainingBytes;
- PVBLOCK SearchString;
- UBYTE pad2;
- UBYTE pad3;
- struct PVMemoryBlock ResidentCode;
- ULONG pad4
- UBYTE pad5[10];
- ULONG LastBytes;
- ULONG LastLines;
- struct PVMemoryHeader *FirstRegion;
- };
-
- #endif
-