Trait object::read::elf::ProgramHeader[][src]

pub trait ProgramHeader: Debug + Pod {
    type Elf: FileHeader<ProgramHeader = Self, Endian = Self::Endian, Word = Self::Word>;
    type Word: Into<u64>;
    type Endian: Endian;
Show 14 methods fn p_type(&self, endian: Self::Endian) -> u32;
fn p_flags(&self, endian: Self::Endian) -> u32;
fn p_offset(&self, endian: Self::Endian) -> Self::Word;
fn p_vaddr(&self, endian: Self::Endian) -> Self::Word;
fn p_paddr(&self, endian: Self::Endian) -> Self::Word;
fn p_filesz(&self, endian: Self::Endian) -> Self::Word;
fn p_memsz(&self, endian: Self::Endian) -> Self::Word;
fn p_align(&self, endian: Self::Endian) -> Self::Word; fn file_range(&self, endian: Self::Endian) -> (u64, u64) { ... }
fn data<'data, R: ReadRef<'data>>(
        &self,
        endian: Self::Endian,
        data: R
    ) -> Result<&'data [u8], ()> { ... }
fn data_as_array<'data, T: Pod, R: ReadRef<'data>>(
        &self,
        endian: Self::Endian,
        data: R
    ) -> Result<&'data [T], ()> { ... }
fn data_range<'data, R: ReadRef<'data>>(
        &self,
        endian: Self::Endian,
        data: R,
        address: u64,
        size: u64
    ) -> Result<Option<&'data [u8]>, ()> { ... }
fn dynamic<'data, R: ReadRef<'data>>(
        &self,
        endian: Self::Endian,
        data: R
    ) -> Result<Option<&'data [<Self::Elf as FileHeader>::Dyn]>> { ... }
fn notes<'data, R: ReadRef<'data>>(
        &self,
        endian: Self::Endian,
        data: R
    ) -> Result<Option<NoteIterator<'data, Self::Elf>>> { ... }
}
Expand description

A trait for generic access to ProgramHeader32 and ProgramHeader64.

Associated Types

Required methods

Provided methods

Return the offset and size of the segment in the file.

Return the segment data.

Returns Err for invalid values.

Return the segment data as a slice of the given type.

Allows padding at the end of the data. Returns Ok(&[]) if the segment has no data. Returns Err for invalid values, including bad alignment.

Return the segment data in the given virtual address range

Returns Ok(None) if the segment does not contain the address. Returns Err for invalid values.

Return entries in a dynamic segment.

Returns Ok(None) if the segment is not PT_DYNAMIC. Returns Err for invalid values.

Return a note iterator for the segment data.

Returns Ok(None) if the segment does not contain notes. Returns Err for invalid values.

Implementors