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>(
        &self, 
        endian: Self::Endian, 
        data: Bytes<'data>
    ) -> Result<Bytes<'data>, ()> { ... }
    fn data_as_array<'data, T: Pod>(
        &self, 
        endian: Self::Endian, 
        data: Bytes<'data>
    ) -> Result<&'data [T], ()> { ... }
    fn data_range<'data>(
        &self, 
        endian: Self::Endian, 
        data: Bytes<'data>, 
        address: u64, 
        size: u64
    ) -> Result<Option<Bytes<'data>>, ()> { ... }
    fn dynamic<'data>(
        &self, 
        endian: Self::Endian, 
        data: Bytes<'data>
    ) -> Result<Option<&'data [<Self::Elf as FileHeader>::Dyn]>> { ... }
    fn notes<'data>(
        &self, 
        endian: Self::Endian, 
        data: Bytes<'data>
    ) -> Result<Option<NoteIterator<'data, Self::Elf>>> { ... }
}Expand description
A trait for generic access to ProgramHeader32 and ProgramHeader64.
Associated Types
type Elf: FileHeader<ProgramHeader = Self, Endian = Self::Endian, Word = Self::Word>
Required methods
Provided methods
Return the offset and size of the segment in the file.
Return the segment data.
Returns Err for invalid values.
fn data_as_array<'data, T: Pod>(
    &self, 
    endian: Self::Endian, 
    data: Bytes<'data>
) -> Result<&'data [T], ()>
fn data_as_array<'data, T: Pod>(
    &self, 
    endian: Self::Endian, 
    data: Bytes<'data>
) -> Result<&'data [T], ()>
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.