home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
032.lha
/
include
/
exec
/
memory.g
< prev
next >
Wrap
Text File
|
1987-05-16
|
1KB
|
59 lines
type
Node_t = unknown 14,
MemChunk_t = struct {
*MemChunk_t mc_Next;
ulong mc_Bytes;
},
MemHeader_t = struct {
Node_t mh_Node;
uint mh_Attributes;
*MemChunk_t mh_First;
*byte mh_Lower;
*byte mh_Upper;
ulong mh_Free;
},
MemEntry_t = struct {
union {
ulong meu_Reqs;
*byte meu_Addr;
} me_Un;
ulong me_Length;
},
MemList_t = struct {
Node_t ml_Node;
uint ml_NumEntries;
[1]MemEntry_t ml_ME;
};
uint
MEMF_PUBLIC = 1 << 0,
MEMF_CHIP = 1 << 1,
MEMF_FAST = 1 << 2;
ulong
MEMF_CLEAR = 1 << 16,
MEMF_LARGEST = 1 << 17;
uint
MEM_BLOCKSIZE = 8,
MEM_BLOCKMASK = 7;
extern
AddMemList(ulong size, attributes; long pri; *byte base; *char name)bool,
AllocAbs(ulong byteSize, location)*byte,
Allocate(*MemHeader_t freeList; ulong byteSize)*byte,
AllocEntry(*MemList_t needed)*MemList_t,
AllocMem(ulong byteSize, requirements)*byte,
AvailMem(ulong requirements)ulong,
CopyMem(*byte source, dest; ulong size)void,
CopyMemQuick(*ulong source, dest; ulong byteSize)void,
Deallocate(*MemHeader_t freeList; *byte memoryBlock; ulong byteSize)void,
FreeEntry(*MemList_t memList)void,
FreeMem(*byte memoryBlock; ulong byteSize)void,
InitStruct(*byte initTable, memory; ulong size)void,
TypeOfMem(*byte address)uint;