mpw/toolbox/mm.h
Kelvin Sherlock feed83ebf0 StripAddress
2013-02-25 17:33:26 -05:00

61 lines
1.1 KiB
C++

#ifndef __mpw_mm_h__
#define __mpw_mm_h__
#include <cstdint>
namespace MM
{
enum
{
memFullErr = -108,
memWZErr = -111,
};
// native functions.
namespace Native
{
void PrintMemoryStats();
uint16_t NewHandle(uint32_t size, bool clear, uint32_t &handle);
uint16_t NewHandle(uint32_t size, bool clear, uint32_t &handle, uint32_t &ptr);
uint16_t NewPtr(uint32_t size, bool clear, uint32_t &pointer);
uint16_t DisposeHandle(uint32_t handle);
uint16_t DisposePtr(uint32_t pointer);
}
bool Init(uint8_t *memory, uint32_t memorySize, uint32_t reserved);
uint16_t BlockMove(uint16_t trap);
uint32_t CompactMem(uint16_t trap);
uint16_t DisposeHandle(uint16_t trap);
uint16_t DisposePtr(uint16_t trap);
uint32_t GetHandleSize(uint16_t);
uint32_t GetPtrSize(uint16_t);
uint16_t NewHandle(uint16_t trap);
uint16_t NewPtr(uint16_t trap);
uint16_t SetHandleSize(uint16_t);
uint16_t SetPtrSize(uint16_t);
uint16_t HLock(uint16_t trap);
uint16_t HUnlock(uint16_t trap);
uint16_t HPurge(uint16_t trap);
uint16_t MoveHHi(uint16_t trap);
uint32_t StripAddress(uint16_t trap);
}
#endif