#ifndef MRT_OS_LOADER_H
#define MRT_OS_LOADER_H
#include "Base/CString.h"
namespace MapleRuntime {
namespace Os {
namespace Loader {
struct BinaryInfo {
FixedCString symbolName;
FixedCString filePathName;
};
#ifdef _WIN64
void GetBinaryFilePath(const void* address, BinaryInfo* binInfo);
void GetSymbolName(const void* address, BinaryInfo* binInfo);
bool IsValidAddress(const void* address);
#endif
void* LoadBinaryFile(const char* libName);
int UnloadBinaryFile(void* handler);
void* FindSymbol(void* handler, const char* symbolName);
int GetBinaryInfoFromAddress(const void* address, BinaryInfo* binInfo);
};
};
};
#endif