project64/Source/Common/MemoryManagement.h

17 lines
497 B
C

#pragma once
#include <stddef.h>
enum MEM_PROTECTION
{
MEM_NOACCESS,
MEM_READONLY,
MEM_READWRITE,
MEM_EXECUTE_READWRITE,
};
void * AllocateAddressSpace(size_t size, void * base_address = 0);
bool FreeAddressSpace(void * addr, size_t size);
void * CommitMemory(void * addr, size_t size, MEM_PROTECTION memProtection);
bool DecommitMemory(void * addr, size_t size);
bool ProtectMemory(void * addr, size_t size, MEM_PROTECTION memProtection, MEM_PROTECTION * OldProtect = nullptr);