# ElfFile in xmas_elf - Rust
API documentation for the Rust `ElfFile` struct in crate `xmas_elf`.
Keywords: rust, rustlang, rust-lang, ElfFile

# Struct xmas_elf::ElfFile

source · [−]

    pub struct ElfFile<'a> {
        pub input: &'a [u8],
        pub header: Header<'a>,
    }

## Fields

`input: &'a [u8]` `header: Header<'a>`

## Implementations

source

### impl<'a> ElfFile<'a>

source

#### pub fn new(input: &'a [ u8 ]) -> Result<ElfFile<'a>, &'static str>

source

#### pub fn section_header(
&self,
index: u16
) -> Result<SectionHeader<'a>, &'static str>

source

#### pub fn section_iter<'b>(&'b self) -> SectionIter<'b, 'a>ⓘNotable traits for SectionIter<'b, 'a>`impl<'b, 'a> Iterator for SectionIter<'b, 'a> type Item = SectionHeader<'a>;`

source

#### pub fn program_header(
&self,
index: u16
) -> Result<ProgramHeader<'a>, &'static str>

source

#### pub fn program_iter<'b>(&'b self) -> ProgramIter<'b, 'a>ⓘNotable traits for ProgramIter<'b, 'a>`impl<'b, 'a> Iterator for ProgramIter<'b, 'a> type Item = ProgramHeader<'a>;`

source

#### pub fn get_shstr(&self, index: u32) -> Result<&'a str, &'static str>

source

#### pub fn get_string(&self, index: u32) -> Result<&'a str, &'static str>

source

#### pub fn get_dyn_string(&self, index: u32) -> Result<&'a str, &'static str>

source

#### pub fn find_section_by_name(&self, name: &str) -> Option<SectionHeader<'a>>

## Trait Implementations

source

### impl<'a> Debug for ElfFile<'a>

source

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

source

### impl<'a> Extensions<'a> for ElfFile<'a>

source

#### fn get_gnu_buildid(&self) -> Option<&'a [ u8 ]>

Parse and return the value of the .note.gnu.build-id section, if it exists and is well-formed. Read more

source

#### fn get_gnu_debuglink(&self) -> Option<(&'a str, u32 )>

Parse and return the value of the .gnu_debuglink section, if it exists and is well-formed. Read more

## Auto Trait Implementations

### impl<'a> RefUnwindSafe for ElfFile<'a>

### impl<'a> Send for ElfFile<'a>

### impl<'a> Sync for ElfFile<'a>

### impl<'a> Unpin for ElfFile<'a>

### impl<'a> UnwindSafe for ElfFile<'a>

## Blanket Implementations

source

### impl<T> Any for T where
T: 'static + ?Sized,

source

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

### impl<T> Borrow<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

### impl<T> BorrowMut<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

### impl<T, U> Into<U> for T where
U: From<T>,

const: unstable · source

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source

### impl<T, U> TryFrom<U> for T where
U: Into<T>,

#### type Error = Infallible

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

source

### impl<T, U> TryInto<U> for T where
U: TryFrom<T>,

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

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.