#[repr(C)]pub struct _module_data_t {
pub __bindgen_anon_1: _module_data_t__bindgen_ty_1,
pub end: app_pc,
pub entry_point: app_pc,
pub flags: uint,
pub names: module_names_t,
pub full_path: *mut c_char,
pub contiguous: bool_,
pub num_segments: uint,
pub segments: *mut module_segment_data_t,
pub timestamp: uint,
pub preferred_base: app_pc,
}Expand description
Holds information about a loaded module. \note On Linux the start address can be cast to an Elf32_Ehdr or Elf64_Ehdr. \note On Windows the start address can be cast to an IMAGE_DOS_HEADER for use in finding the IMAGE_NT_HEADER and its OptionalHeader. The OptionalHeader can be used to walk the module sections (among other things). See WINNT.H. \note On MacOS the start address can be cast to mach_header or mach_header_64. \note When accessing any memory inside the module (including header fields) user is responsible for guarding against corruption and the possibility of the module being unmapped.
Fields§
§__bindgen_anon_1: _module_data_t__bindgen_ty_1§end: app_pcEnding 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: app_pc< entry point for this module as specified in the headers
flags: uint< 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 c_char< full path to the file backing this module
contiguous: bool_< whether there are no gaps between segments
num_segments: uint< number of segments
segments: *mut module_segment_data_tArray of num_segments entries, one per segment. The array is sorted by the start address of each segment.
timestamp: uint< Timestamp from ELF Mach-O headers.
preferred_base: app_pc< The preferred base address of the module.
Trait Implementations§
Source§impl Clone for _module_data_t
impl Clone for _module_data_t
Source§fn clone(&self) -> _module_data_t
fn clone(&self) -> _module_data_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more