#ifndef __LIBRADHOOK_PRIVATE_MEMORY_H__ #define __LIBRADHOOK_PRIVATE_MEMORY_H__ #include "radhook/defines.h" #if defined(RADIUM_PLATFORM_WINDOWS) # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN # endif # include #elif defined(RADIUM_PLATFORM_ANDROID) # include # include #endif #if defined(RADIUM_PLATFORM_WINDOWS) size_t RadMemoryPageSize(); void* RadAllocExec( size_t size ); void* RadAllocExecNear( void* target, size_t size ); void RadFreeExec( void* p, size_t size ); bool RadMakeWritableExecutable( void* addr, size_t size, unsigned long* oldProtect ); void RadRestoreMemoryProtection( void* addr, size_t size, unsigned long oldProtect ); void RadFlushICache( void* addr, size_t size ); #elif defined(RADIUM_PLATFORM_ANDROID) size_t RadMemoryPageSize(); void* RadAllocExec( size_t size ); void* RadAllocExecNear( void* target, size_t size ); void RadFreeExec( void* p, size_t size ); bool RadMakeWritableExecutable( void* addr, size_t size, unsigned long* oldProtect ); void RadRestoreMemoryProtection( void* addr, size_t size, unsigned long oldProtect ); void RadFlushICache( void* addr, size_t size ); #endif #endif // __LIBRADHOOK_PRIVATE_MEMORY_H__