ReXGlue SDK
Loading...
Searching...
No Matches
rex::kernel::UserModuleState Struct Reference

Public Attributes

u32 guest_xex_header = 0
ModuleFormat module_format = ModuleFormat::kUndefined
bool is_dll_module = false
u32 entry_point = 0
u32 stack_size = 0
std::string recompiled_key
std::vector< X_HANDLE > dependencies
std::unordered_map< KernelModuleState::ThunkKey, u32, KernelModuleState::ThunkKeyHash > thunk_cache

Member Data Documentation

◆ dependencies

std::vector<X_HANDLE> rex::kernel::UserModuleState::dependencies

User modules this module imports from, each holding 1 load reference for it.

◆ entry_point

u32 rex::kernel::UserModuleState::entry_point = 0

Guest address of the entry point from the XEX header or the ELF header.

◆ guest_xex_header

u32 rex::kernel::UserModuleState::guest_xex_header = 0

Guest address of the copy of the XEX header, read by XEX header queries.

◆ is_dll_module

bool rex::kernel::UserModuleState::is_dll_module = false

True when the XEX header sets the DLL flag, so load and unload call the entry point.

◆ recompiled_key

std::string rex::kernel::UserModuleState::recompiled_key

Guest path of the recompiled library registration the module loaded with, empty when none.

◆ stack_size

u32 rex::kernel::UserModuleState::stack_size = 0

Default stack size in bytes, used for the main thread.

◆ thunk_cache

std::unordered_map<KernelModuleState::ThunkKey, u32, KernelModuleState::ThunkKeyHash> rex::kernel::UserModuleState::thunk_cache

Thunk address made for each caller and ordinal, reused by later lookups.


The documentation for this struct was generated from the following file: