Struct FileHeader64
struct FileHeader64<E: Endian> { ... }
The header at the start of every 64-bit ELF file.
Fields
e_ident: IdentMagic 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::U64<E>Entry point virtual address.
e_phoff: crate::endian::U64<E>Program header table file offset.
e_shoff: crate::endian::U64<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_XNUMthen this field is set toPN_XNUMand the count is stored in thesh_infofield 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_LORESERVEthen this field is set to0and the count is stored in thesh_sizefield 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_LORESERVEthen this field is set toSHN_XINDEXand the index is stored in thesh_linkfield of section 0.
Implementations
impl<E> Freeze for FileHeader64<E>
impl<E> RefUnwindSafe for FileHeader64<E>
impl<E> Send for FileHeader64<E>
impl<E> Sync for FileHeader64<E>
impl<E> Unpin for FileHeader64<E>
impl<E> UnwindSafe for FileHeader64<E>
impl<E: $crate::clone::Clone + Endian> Clone for FileHeader64<E>
fn clone(self: &Self) -> FileHeader64<E>
impl<E: $crate::fmt::Debug + Endian> Debug for FileHeader64<E>
fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
impl<E: $crate::marker::Copy + Endian> Copy for FileHeader64<E>
impl<E: Endian> Pod for FileHeader64<E>
impl<Endian: endian::Endian> FileHeader for elf::FileHeader64<Endian>
fn is_type_64(self: &Self) -> boolfn is_type_64_sized() -> bool where Self: Sizedfn e_ident(self: &Self) -> &elf::Identfn e_type(self: &Self, endian: <Self as >::Endian) -> u16fn e_machine(self: &Self, endian: <Self as >::Endian) -> u16fn e_version(self: &Self, endian: <Self as >::Endian) -> u32fn e_entry(self: &Self, endian: <Self as >::Endian) -> <Self as >::Wordfn e_phoff(self: &Self, endian: <Self as >::Endian) -> <Self as >::Wordfn e_shoff(self: &Self, endian: <Self as >::Endian) -> <Self as >::Wordfn e_flags(self: &Self, endian: <Self as >::Endian) -> u32fn e_ehsize(self: &Self, endian: <Self as >::Endian) -> u16fn e_phentsize(self: &Self, endian: <Self as >::Endian) -> u16fn e_phnum(self: &Self, endian: <Self as >::Endian) -> u16fn e_shentsize(self: &Self, endian: <Self as >::Endian) -> u16fn e_shnum(self: &Self, endian: <Self as >::Endian) -> u16fn e_shstrndx(self: &Self, endian: <Self as >::Endian) -> u16
impl<T> Any for FileHeader64<E>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for FileHeader64<E>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for FileHeader64<E>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for FileHeader64<E>
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for FileHeader64<E>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for FileHeader64<E>
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for FileHeader64<E>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for FileHeader64<E>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for FileHeader64<E>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>