home *** CD-ROM | disk | FTP | other *** search
- #ifndef EXEC_MEMORY_H
- #define EXEC_MEMORY_H
- /*
- ** $Filename: exec/memory.h $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 36.12 $
- ** $Date: 91/03/15 $
- **
- ** Definitions and structures used by the memory allocation system
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_NODES_H
- #include "exec/nodes.h"
- #endif
-
-
-
-
- struct MemChunk {
- struct MemChunk *mc_Next;
- ULONG mc_Bytes;
- };
-
-
-
-
- struct MemHeader {
- struct Node mh_Node;
- UWORD mh_Attributes;
- struct MemChunk *mh_First;
- APTR mh_Lower;
- APTR mh_Upper;
- ULONG mh_Free;
- };
-
-
-
-
- struct MemEntry {
- union {
- ULONG meu_Reqs;
- APTR meu_Addr;
- } me_Un;
- ULONG me_Length;
- };
-
- #define me_un me_Un
- #define me_Reqs me_Un.meu_Reqs
- #define me_Addr me_Un.meu_Addr
-
-
-
-
-
- struct MemList {
- struct Node ml_Node;
- UWORD ml_NumEntries;
- struct MemEntry ml_ME[1];
- };
-
- #define ml_me ml_ME
-
-
-
-
-
- #define MEMF_ANY (0L)
- #define MEMF_PUBLIC (1L<<0)
- #define MEMF_CHIP (1L<<1)
- #define MEMF_FAST (1L<<2)
- #define MEMF_LOCAL (1L<<8)
- #define MEMF_24BITDMA (1L<<9)
-
- #define MEMF_CLEAR (1L<<16)
- #define MEMF_LARGEST (1L<<17)
- #define MEMF_REVERSE (1L<<18)
- #define MEMF_TOTAL (1L<<19)
-
-
- #define MEM_BLOCKSIZE 8L
- #define MEM_BLOCKMASK (MEM_BLOCKSIZE-1)
-
- #endif
-