[][src]Trait findshlibs::SharedLibrary

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

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

Associated Types

type Segment: Segment<SharedLibrary = Self>[src]

The associated segment type for this shared library.

type SegmentIter: Debug + Iterator<Item = Self::Segment>[src]

An iterator over a shared library's segments.

Loading content...

Required methods

pub fn name(&self) -> &OsStr[src]

Get the name of this shared library.

pub fn id(&self) -> Option<SharedLibraryId>[src]

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

pub fn segments(&self) -> Self::SegmentIter[src]

Iterate over this shared library's segments.

pub fn virtual_memory_bias(&self) -> Bias[src]

Get the bias of this shared library.

See the module documentation for details.

pub fn each<F, C>(f: F) where
    F: FnMut(&Self) -> C,
    C: Into<IterationControl>, 
[src]

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

Loading content...

Provided methods

pub fn actual_load_addr(&self) -> Avma[src]

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.

pub fn stated_load_addr(&self) -> Svma[src]

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.

pub fn len(&self) -> usize[src]

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.

pub fn avma_to_svma(&self, address: Avma) -> Svma[src]

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

Loading content...

Implementors

impl<'a> SharedLibrary for SharedLibrary<'a>[src]

type Segment = Segment<'a>

type SegmentIter = SegmentIter<'a>

Loading content...