Struct FileHeader32

struct FileHeader32<E: Endian> { ... }

The header at the start of every 32-bit ELF file.

Fields

e_ident: Ident

Magic number and other information.

e_type: crate::endian::U16<E>

Object file type. One of the ET_* constants.

e_machine: crate::endian::U16<E>

Architecture. One of the EM_* constants.

e_version: crate::endian::U32<E>

Object file version. Must be EV_CURRENT.

e_entry: crate::endian::U32<E>

Entry point virtual address.

e_phoff: crate::endian::U32<E>

Program header table file offset.

e_shoff: crate::endian::U32<E>

Section header table file offset.

e_flags: crate::endian::U32<E>

Processor-specific flags.

A combination of the EF_* constants.

e_ehsize: crate::endian::U16<E>

Size in bytes of this header.

e_phentsize: crate::endian::U16<E>

Program header table entry size.

e_phnum: crate::endian::U16<E>

Program header table entry count.

If the count is greater than or equal to PN_XNUM then this field is set to PN_XNUM and the count is stored in the sh_info field of section 0.

e_shentsize: crate::endian::U16<E>

Section header table entry size.

e_shnum: crate::endian::U16<E>

Section header table entry count.

If the count is greater than or equal to SHN_LORESERVE then this field is set to 0 and the count is stored in the sh_size field of section 0. first section header.

e_shstrndx: crate::endian::U16<E>

Section header string table index.

If the index is greater than or equal to SHN_LORESERVE then this field is set to SHN_XINDEX and the index is stored in the sh_link field of section 0.

Implementations

impl<E> Freeze for FileHeader32<E>

impl<E> RefUnwindSafe for FileHeader32<E>

impl<E> Send for FileHeader32<E>

impl<E> Sync for FileHeader32<E>

impl<E> Unpin for FileHeader32<E>

impl<E> UnwindSafe for FileHeader32<E>

impl<E: $crate::clone::Clone + Endian> Clone for FileHeader32<E>

fn clone(self: &Self) -> FileHeader32<E>

impl<E: $crate::fmt::Debug + Endian> Debug for FileHeader32<E>

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

impl<E: $crate::marker::Copy + Endian> Copy for FileHeader32<E>

impl<E: Endian> Pod for FileHeader32<E>

impl<Endian: endian::Endian> FileHeader for elf::FileHeader32<Endian>

fn is_type_64(self: &Self) -> bool
fn is_type_64_sized() -> bool
where
    Self: Sized
fn e_ident(self: &Self) -> &elf::Ident
fn e_type(self: &Self, endian: <Self as >::Endian) -> u16
fn e_machine(self: &Self, endian: <Self as >::Endian) -> u16
fn e_version(self: &Self, endian: <Self as >::Endian) -> u32
fn e_entry(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn e_phoff(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn e_shoff(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn e_flags(self: &Self, endian: <Self as >::Endian) -> u32
fn e_ehsize(self: &Self, endian: <Self as >::Endian) -> u16
fn e_phentsize(self: &Self, endian: <Self as >::Endian) -> u16
fn e_phnum(self: &Self, endian: <Self as >::Endian) -> u16
fn e_shentsize(self: &Self, endian: <Self as >::Endian) -> u16
fn e_shnum(self: &Self, endian: <Self as >::Endian) -> u16
fn e_shstrndx(self: &Self, endian: <Self as >::Endian) -> u16

impl<T> Any for FileHeader32<E>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for FileHeader32<E>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for FileHeader32<E>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for FileHeader32<E>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for FileHeader32<E>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for FileHeader32<E>

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for FileHeader32<E>

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for FileHeader32<E>

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

impl<T, U> TryInto for FileHeader32<E>

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