uint64_t XEOS_VM_MemoryMapGetPDPTCount(
XEOS_VM_MemoryMapRef object );
uint64_t XEOS_VM_MemoryMapGetPDTCount(
XEOS_VM_MemoryMapRef object );
uint64_t XEOS_VM_MemoryMapGetPML4TCount(
XEOS_VM_MemoryMapRef object );
uint64_t XEOS_VM_MemoryMapGetPTCount(
XEOS_VM_MemoryMapRef object );
XEOS_VM_MemoryMapType XEOS_VM_MemoryMapGetType(
XEOS_VM_MemoryMapRef object );
void XEOS_VM_MemoryMapSetAddress(
XEOS_VM_MemoryMapRef object,
void *address );
void XEOS_VM_MemoryMapSetCR3(
XEOS_VM_MemoryMapRef object,
uint32_t cr3 );
void XEOS_VM_MemoryMapSetLength(
XEOS_VM_MemoryMapRef object,
uint64_t length );
void XEOS_VM_MemoryMapSetPDPTCount(
XEOS_VM_MemoryMapRef object,
uint64_t count );
void XEOS_VM_MemoryMapSetPDTCount(
XEOS_VM_MemoryMapRef object,
uint64_t count );
void XEOS_VM_MemoryMapSetPML4TCount(
XEOS_VM_MemoryMapRef object,
uint64_t count );
void XEOS_VM_MemoryMapSetPTCount(
XEOS_VM_MemoryMapRef object,
uint64_t count );
void XEOS_VM_MemoryMapSetType(
XEOS_VM_MemoryMapRef object,
XEOS_VM_MemoryMapType type );
bool XEOS_VM_PDPTEntryGetFlag(
XEOS_VM_PDPTEntryRef object,
XEOS_VM_PDPTEntryFlag flag );
void XEOS_VM_PDPTEntrySetFlag(
XEOS_VM_PDPTEntryRef object,
XEOS_VM_PDPTEntryFlag flag,
bool value );
void XEOS_VM_PDPTEntrySetPDT(
XEOS_VM_PDPTEntryRef object,
XEOS_VM_PDTRef pdt );
XEOS_VM_PDPTEntryRef XEOS_VM_PDPTGetEntryAtIndex(
XEOS_VM_PDPTRef object,
unsigned int i );
bool XEOS_VM_PDTEntryGetFlag(
XEOS_VM_PTEntryRef object,
XEOS_VM_PDTEntryFlag flag );
void XEOS_VM_PDTEntrySetFlag(
XEOS_VM_PTEntryRef object,
XEOS_VM_PDTEntryFlag flag,
bool value );
void XEOS_VM_PDTEntrySetPT(
XEOS_VM_PTEntryRef object,
XEOS_VM_PTRef pt );
XEOS_VM_PDTEntryRef XEOS_VM_PDTGetEntryAtIndex(
XEOS_VM_PDTRef object,
unsigned int i );
bool XEOS_VM_PML4TEntryGetFlag(
XEOS_VM_PML4TEntryRef object,
XEOS_VM_PML4TEntryFlag flag );
XEOS_VM_PDPTRef XEOS_VM_PML4TEntryGetPDPT(
XEOS_VM_PML4TEntryRef object );
void XEOS_VM_PML4TEntrySetFlag(
XEOS_VM_PML4TEntryRef object,
XEOS_VM_PML4TEntryFlag flag,
bool value );
void XEOS_VM_PML4TEntrySetPDPT(
XEOS_VM_PML4TEntryRef object,
XEOS_VM_PDPTRef pdpt );
XEOS_VM_PML4TEntryRef XEOS_VM_PML4TGetEntryAtIndex(
XEOS_VM_PML4TRef object,
unsigned int i );
bool XEOS_VM_PTEntryGetFlag(
XEOS_VM_PTEntryRef object,
XEOS_VM_PTEntryFlag flag );
void XEOS_VM_PTEntrySetAddress(
XEOS_VM_PTEntryRef object,
uint64_t address );
void XEOS_VM_PTEntrySetFlag(
XEOS_VM_PTEntryRef object,
XEOS_VM_PTEntryFlag flag,
bool value );
XEOS_VM_PTEntryRef XEOS_VM_PTGetEntryAtIndex(
XEOS_VM_PTRef object,
unsigned int i );
void XEOS_VM_SystemMapInitialize(
int ( * outputHandler )(
const char *,
... ) );
typedef enum {
XEOS_VM_MemoryMapTypeUnknown = 0x00,
XEOS_VM_MemoryMapType32 = 0x01,
XEOS_VM_MemoryMapType32PAE = 0x02,
XEOS_VM_MemoryMapType64 = 0x03
} XEOS_VM_MemoryMapType;
typedef enum {
XEOS_VM_PDPTEntryFlagPresent = 1 << 0,
XEOS_VM_PDPTEntryFlagWriteable = 1 << 1,
} XEOS_VM_PDPTEntryFlag;
typedef enum {
XEOS_VM_PDTEntryFlagPresent = 1 << 0,
XEOS_VM_PDTEntryFlagWriteable = 1 << 1,
XEOS_VM_PDTEntryFlagUser = 1 << 2,
XEOS_VM_PDTEntryFlagWriteThrough = 1 << 3,
XEOS_VM_PDTEntryFlagCacheDisbled = 1 << 4,
XEOS_VM_PDTEntryFlagAccessed = 1 << 5,
XEOS_VM_PDTEntryFlagPageSize = 1 << 6,
XEOS_VM_PDTEntryFlagGLobal = 1 << 8,
} XEOS_VM_PDTEntryFlag;
typedef enum {
XEOS_VM_PML4TEntryFlagPresent = 1 << 0,
XEOS_VM_PML4TEntryFlagWriteable = 1 << 1,
} XEOS_VM_PML4TEntryFlag;
typedef enum {
XEOS_VM_PTEntryFlagPresent = 1 << 0,
XEOS_VM_PTEntryFlagWriteable = 1 << 1,
XEOS_VM_PTEntryFlagUser = 1 << 2,
XEOS_VM_PTEntryFlagWriteThrough = 1 << 3,
XEOS_VM_PTEntryFlagCacheDisbled = 1 << 4,
XEOS_VM_PTEntryFlagAccessed = 1 << 5,
XEOS_VM_PTEntryFlagDirty = 1 << 6,
XEOS_VM_PTEntryFlagGLobal = 1 << 8,
} XEOS_VM_PTEntryFlag;