home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef __Desk_Mem_h
- #define __Desk_Mem_h
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef __Desk_Core_h
- #include "Desk.Core.h"
- #endif
- typedef void *Desk_mem_anchor;
- extern int Desk_mem_autocompact;
- typedef enum
- {
- Desk_mem_NOCOMPACT = 0,
- Desk_mem_FASTCOMPACT = 1,
- Desk_mem_PARTCOMPACT = 1,
- Desk_mem_FULLCOMPACT = 2
- } Desk_mem_compaction;
- extern Desk_bool Desk_Mem_Initialise(void);
- extern Desk_bool Desk_Mem_Alloc(Desk_mem_anchor *anchor, int numbytes);
- extern Desk_bool Desk_Mem_MidExtend(Desk_mem_anchor *anchor, int at, int by);
- extern void Desk_Mem_MoveAnchor(Desk_mem_anchor *from, Desk_mem_anchor *to);
- extern void Desk_Mem_Free(Desk_mem_anchor *anchor);
- extern void Desk_Mem_Compact(void);
- extern int Desk_Mem_Size(Desk_mem_anchor *anchor);
- extern Desk_bool Desk_Mem_CheckHeap(void);
- #ifdef Desk_DeskLib_DEBUG
- #ifdef Desk__making_Mem
- #include "Debug.h"
- #define Desk_debug_level Desk_mem_debuglevel
- #endif
- extern int Desk_mem_debuglevel;
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
-