Struct object::read::elf::ElfFile[][src]

pub struct ElfFile<'data, Elf: FileHeader> { /* fields omitted */ }

A partially parsed ELF file.

Most of the functionality of this type is provided by the Object trait implementation.

Implementations

impl<'data, Elf: FileHeader> ElfFile<'data, Elf>[src]

pub fn parse(data: &'data [u8]) -> Result<Self>[src]

Parse the raw ELF file data.

Trait Implementations

impl<'data, Elf: Debug + FileHeader> Debug for ElfFile<'data, Elf> where
    Elf::Endian: Debug,
    Elf::ProgramHeader: Debug
[src]

impl<'data, 'file, Elf> Object<'data, 'file> for ElfFile<'data, Elf> where
    'data: 'file,
    Elf: FileHeader
[src]

type Segment = ElfSegment<'data, 'file, Elf>

A segment in the object file.

type SegmentIterator = ElfSegmentIterator<'data, 'file, Elf>

An iterator over the segments in the object file.

type Section = ElfSection<'data, 'file, Elf>

A section in the object file.

type SectionIterator = ElfSectionIterator<'data, 'file, Elf>

An iterator over the sections in the object file.

type Comdat = ElfComdat<'data, 'file, Elf>

A COMDAT section group in the object file.

type ComdatIterator = ElfComdatIterator<'data, 'file, Elf>

An iterator over the COMDAT section groups in the object file.

type Symbol = ElfSymbol<'data, 'file, Elf>

A symbol in the object file.

type SymbolIterator = ElfSymbolIterator<'data, 'file, Elf>

An iterator over symbols in the object file.

type SymbolTable = ElfSymbolTable<'data, 'file, Elf>

A symbol table in the object file.

type DynamicRelocationIterator = ElfDynamicRelocationIterator<'data, 'file, Elf>

An iterator over dynamic relocations in the file. Read more

fn imports(&self) -> Result<Vec<Import<'data>>>[src]

Get the imported symbols.

fn exports(&self) -> Result<Vec<Export<'data>>>[src]

Get the exported symbols.

Auto Trait Implementations

impl<'data, Elf> Send for ElfFile<'data, Elf> where
    Elf: Sync,
    <Elf as FileHeader>::Endian: Send,
    <Elf as FileHeader>::ProgramHeader: Sync,
    <Elf as FileHeader>::SectionHeader: Sync,
    <Elf as FileHeader>::Sym: Sync

impl<'data, Elf> Sync for ElfFile<'data, Elf> where
    Elf: Sync,
    <Elf as FileHeader>::Endian: Sync,
    <Elf as FileHeader>::ProgramHeader: Sync,
    <Elf as FileHeader>::SectionHeader: Sync,
    <Elf as FileHeader>::Sym: Sync

impl<'data, Elf> Unpin for ElfFile<'data, Elf> where
    <Elf as FileHeader>::Endian: Unpin

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, 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.