mirror of
https://git.recroomarchive.org/Radium/libradhook.git
synced 2026-08-07 09:10:59 +00:00
102 lines
1.4 KiB
C
102 lines
1.4 KiB
C
#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 <windows.h>
|
|
#elif defined(RADIUM_PLATFORM_ANDROID)
|
|
# include <sys/mman.h>
|
|
# include <unistd.h>
|
|
#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__
|