Struct object::ElfFile [−][src]
pub struct ElfFile<'data> { /* fields omitted */ }
An ELF object file.
Methods
impl<'data> ElfFile<'data>
[src]
impl<'data> ElfFile<'data>
pub fn elf(&self) -> &Elf<'data>
[src]
pub fn elf(&self) -> &Elf<'data>
Get the ELF headers of the file.
pub fn parse(data: &'data [u8]) -> Result<Self, &'static str>
[src]
pub fn parse(data: &'data [u8]) -> Result<Self, &'static str>
Parse the raw ELF file data.
Trait Implementations
impl<'data> Debug for ElfFile<'data>
[src]
impl<'data> Debug for ElfFile<'data>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<'data, 'file> Object<'data, 'file> for ElfFile<'data> where
'data: 'file,
[src]
impl<'data, 'file> Object<'data, 'file> for ElfFile<'data> where
'data: 'file,
type Segment = ElfSegment<'data, 'file>
A segment in the object file.
type SegmentIterator = ElfSegmentIterator<'data, 'file>
An iterator over the segments in the object file.
type Section = ElfSection<'data, 'file>
A section in the object file.
type SectionIterator = ElfSectionIterator<'data, 'file>
An iterator over the sections in the object file.
type SymbolIterator = ElfSymbolIterator<'data, 'file>
An iterator over the symbols in the object file.
fn machine(&self) -> Machine
[src]
fn machine(&self) -> Machine
Get the machine type of the file.
ⓘImportant traits for ElfSegmentIterator<'data, 'file>fn segments(&'file self) -> ElfSegmentIterator<'data, 'file>
[src]
fn segments(&'file self) -> ElfSegmentIterator<'data, 'file>
Get an iterator over the segments in the file.
fn section_data_by_name(&self, section_name: &str) -> Option<Cow<'data, [u8]>>
[src]
fn section_data_by_name(&self, section_name: &str) -> Option<Cow<'data, [u8]>>
Get the contents of the section named section_name
, if such a section exists. Read more
ⓘImportant traits for ElfSectionIterator<'data, 'file>fn sections(&'file self) -> ElfSectionIterator<'data, 'file>
[src]
fn sections(&'file self) -> ElfSectionIterator<'data, 'file>
Get an iterator over the sections in the file.
ⓘImportant traits for ElfSymbolIterator<'data, 'file>fn symbols(&'file self) -> ElfSymbolIterator<'data, 'file>
[src]
fn symbols(&'file self) -> ElfSymbolIterator<'data, 'file>
Get an iterator over the debugging symbols in the file.
ⓘImportant traits for ElfSymbolIterator<'data, 'file>fn dynamic_symbols(&'file self) -> ElfSymbolIterator<'data, 'file>
[src]
fn dynamic_symbols(&'file self) -> ElfSymbolIterator<'data, 'file>
Get an iterator over the dynamic linking symbols in the file.
fn symbol_map(&self) -> SymbolMap<'data>
[src]
fn symbol_map(&self) -> SymbolMap<'data>
Construct a map from addresses to symbols.
fn is_little_endian(&self) -> bool
[src]
fn is_little_endian(&self) -> bool
Return true if the file is little endian, false if it is big endian.
fn has_debug_symbols(&self) -> bool
[src]
fn has_debug_symbols(&self) -> bool
Return true if the file contains debug information sections, false if not.
fn build_id(&self) -> Option<&'data [u8]>
[src]
fn build_id(&self) -> Option<&'data [u8]>
The build ID from an ELF NT_GNU_BUILD_ID
note.
fn gnu_debuglink(&self) -> Option<(&'data [u8], u32)>
[src]
fn gnu_debuglink(&self) -> Option<(&'data [u8], u32)>
The filename and CRC from a .gnu_debuglink
section.
fn entry(&self) -> u64
[src]
fn entry(&self) -> u64
Get the entry point address of the binary
fn mach_uuid(&self) -> Option<Uuid>
[src]
fn mach_uuid(&self) -> Option<Uuid>
The UUID from a Mach-O LC_UUID
load command.