 
#ifndef __dl_mem_h
#define __dl_mem_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dl_core_h
#include "Core.h"
#endif
typedef void *mem_anchor;
extern int mem_autocompact;
typedef enum
{
mem_NOCOMPACT = 0, 
mem_FASTCOMPACT = 1, 
mem_PARTCOMPACT = 1,
mem_FULLCOMPACT = 2 
} mem_compaction;
extern BOOL Mem_Initialise(void);
extern BOOL Mem_Alloc(mem_anchor *anchor, int numbytes);
extern BOOL Mem_MidExtend(mem_anchor *anchor, int at, int by);
extern void Mem_MoveAnchor(mem_anchor *from, mem_anchor *to);
extern void Mem_Free(mem_anchor *anchor);
extern void Mem_Compact(void);
extern int Mem_Size(mem_anchor *anchor);
extern BOOL Mem_CheckHeap(void);
#ifdef __cplusplus
}
#endif
#endif
