Trait findshlibs::SharedLibrary[][src]

pub trait SharedLibrary: Sized + Debug {
    type Segment: Segment<SharedLibrary = Self>;
    type SegmentIter: Debug + Iterator<Item = Self::Segment>;
    fn name(&self) -> &OsStr;
fn id(&self) -> Option<SharedLibraryId>;
fn segments(&self) -> Self::SegmentIter;
fn virtual_memory_bias(&self) -> Bias;
fn each<F, C>(f: F)
    where
        F: FnMut(&Self) -> C,
        C: Into<IterationControl>
; fn debug_name(&self) -> Option<&OsStr> { ... }
fn debug_id(&self) -> Option<SharedLibraryId> { ... }
fn actual_load_addr(&self) -> Avma { ... }
fn stated_load_addr(&self) -> Svma { ... }
fn len(&self) -> usize { ... }
fn avma_to_svma(&self, address: Avma) -> Svma { ... } }
Expand description

A trait representing a shared library that is loaded in this process.

Associated Types

The associated segment type for this shared library.

An iterator over a shared library’s segments.

Required methods

Get the name of this shared library.

Get the code-id of this shared library if available.

Iterate over this shared library’s segments.

Get the bias of this shared library.

See the module documentation for details.

Find all shared libraries in this process and invoke f with each one.

Provided methods

Get the name of the debug file with this shared library if there is one.

Get the debug-id of this shared library if available.

Returns the address of where the library is loaded into virtual memory.

This address maps to the Avma of the first segment loaded into memory. Depending on the platform, this segment may not contain code.

Returns the address of where the library prefers to be loaded into virtual memory.

This address maps to the Svma of the first segment loaded into memory. Depending on the platform, this segment may not contain code.

Returns the size of the image.

This typically is the size of the executable code segment. This is normally used by server side symbolication systems to determine when an IP no longer falls into an image.

Given an AVMA within this shared library, convert it back to an SVMA by removing this shared library’s bias.

Implementors