[][src]Struct lancelot::module::Module

pub struct Module {
    pub arch: Arch,
    pub sections: Vec<Section>,
    pub address_space: AbsoluteAddressSpace,
}

An address space, as a file would be loaded into memory. This has an associated architecture (e.g. x32 or x64), base address, and collection of sections. This is the information that we'd expect to be common across formats.

Fields

arch: Archsections: Vec<Section>address_space: AbsoluteAddressSpace

Implementations

impl Module[src]

pub fn read_va_at_rva(&self, offset: RVA) -> Result<VA>[src]

pub fn read_rva_at_rva(&self, offset: RVA) -> Result<RVA>[src]

pub fn read_va_at_va(&self, offset: VA) -> Result<VA>[src]

pub fn read_rva_at_va(&self, offset: VA) -> Result<RVA>[src]

pub fn probe_va(&self, offset: VA, perm: Permissions) -> bool[src]

pub fn probe_rva(&self, offset: RVA, perm: Permissions) -> bool[src]

pub fn file_offset(&self, va: VA) -> Result<usize>[src]

pub fn virtual_address(&self, file_offset: u64) -> Result<VA>[src]

Trait Implementations

impl Clone for Module[src]

Auto Trait Implementations

impl RefUnwindSafe for Module

impl Send for Module

impl Sync for Module

impl Unpin for Module

impl UnwindSafe for Module

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.