pub type module_data_t = _module_data_t;Expand description
Alias for the #_module_data_t structure holding library information.
Aliased Type§
#[repr(C)]pub struct module_data_t {
pub __bindgen_anon_1: _module_data_t__bindgen_ty_1,
pub end: *mut u8,
pub entry_point: *mut u8,
pub flags: u32,
pub names: _module_names_t,
pub full_path: *mut i8,
pub file_version: _version_number_t,
pub product_version: _version_number_t,
pub checksum: u32,
pub timestamp: u32,
pub module_internal_size: usize,
pub preferred_base: *mut u8,
}Fields§
§__bindgen_anon_1: _module_data_t__bindgen_ty_1§end: *mut u8Ending address of this module. If the module is not contiguous (which is common on MacOS, and can happen on Linux), this is the highest address of the module, but there can be gaps in between start and end that are either unmapped or that contain other mappings or libraries. Use the segments array to examine each mapped region, and use dr_module_contains_addr() as a convenience routine, rather than checking against [start..end).
entry_point: *mut u8< entry point for this module as specified in the headers
flags: u32< Reserved, set to 0
names: _module_names_t< struct containing name(s) for this module; use dr_module_preferred_name() to get the preferred name for this module
full_path: *mut i8< full path to the file backing this module
file_version: _version_number_t< file version number from .rsrc section
product_version: _version_number_t< product version number from .rsrc section
checksum: u32< module checksum from the PE headers
timestamp: u32< module timestamp from the PE headers
module_internal_size: usizeModule internal size (from PE headers SizeOfImage).
preferred_base: *mut u8< The preferred base address of the module.