[][src]Struct goblin::elf::header::header32::Header

#[repr(C)]
pub struct Header {
    pub e_ident: [u8; 16],
    pub e_type: u16,
    pub e_machine: u16,
    pub e_version: u32,
    pub e_entry: u32,
    pub e_phoff: u32,
    pub e_shoff: u32,
    pub e_flags: u32,
    pub e_ehsize: u16,
    pub e_phentsize: u16,
    pub e_phnum: u16,
    pub e_shentsize: u16,
    pub e_shnum: u16,
    pub e_shstrndx: u16,
}

Fields

e_ident: [u8; 16]

Magic number and other info

e_type: u16

Object file type

e_machine: u16

Architecture

e_version: u32

Object file version

e_entry: u32

Entry point virtual address

e_phoff: u32

Program header table file offset

e_shoff: u32

Section header table file offset

e_flags: u32

Processor-specific flags

e_ehsize: u16

ELF header size in bytes

e_phentsize: u16

Program header table entry size

e_phnum: u16

Program header table entry count

e_shentsize: u16

Section header table entry size

e_shnum: u16

Section header table entry count

e_shstrndx: u16

Section header string table index

Methods

impl Header[src]

pub fn from_bytes(bytes: &[u8; 52]) -> &Header[src]

Returns the corresponding ELF header from the given byte array.

impl Header[src]

pub fn from_fd(bytes: &mut File) -> Result<Header>[src]

Load a header from a file. You must ensure the seek is at the correct position.

pub fn parse(bytes: &[u8]) -> Result<Header>[src]

Parses an ELF header from the given bytes

Trait Implementations

impl From<Header> for Header[src]

impl From<Header> for ElfHeader[src]

impl Clone for Header[src]

impl Copy for Header[src]

impl Default for Header[src]

impl PartialEq<Header> for Header[src]

impl Debug for Header[src]

impl StructuralPartialEq for Header[src]

impl<'a> TryFromCtx<'a, Endian, [u8]> for Header[src]

type Error = Error

impl TryIntoCtx<Endian, [u8]> for Header[src]

type Error = Error

fn try_into_ctx(
    self,
    bytes: &mut [u8],
    _endianness: Endian
) -> Result<usize, Self::Error>
[src]

a Pwrite impl for Header: note we use the endianness value in the header, and not a parameter

impl Plain for Header[src]

Auto Trait Implementations

impl Send for Header

impl Sync for Header

impl Unpin for Header

impl UnwindSafe for Header

impl RefUnwindSafe for Header

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]