Struct elf_riscv32::Header
source · [−]#[repr(C)]pub struct Header {Show 14 fields
pub ident: [u8; 16],
pub ty: FileType,
pub machine: Machine,
pub version: u32,
pub entry: Address,
pub ph_offset: Offset,
pub sh_offset: Offset,
pub flags: u32,
pub header_size: u16,
pub ph_entry_size: u16,
pub ph_count: u16,
pub sh_entry_size: u16,
pub sh_count: u16,
pub section_name_table: u16,
}
Fields
ident: [u8; 16]
ty: FileType
machine: Machine
version: u32
entry: Address
ph_offset: Offset
sh_offset: Offset
flags: u32
header_size: u16
ph_entry_size: u16
ph_count: u16
sh_entry_size: u16
sh_count: u16
section_name_table: u16
Implementations
sourceimpl Header
impl Header
pub fn new(elf: &[u32]) -> Result<&Self>
sourcepub fn new_aligned(elf: &[u8]) -> Result<&Self>
pub fn new_aligned(elf: &[u8]) -> Result<&Self>
Like Header::new
but takes a byte slice and checks the alignment.
sourcepub unsafe fn new_assume_aligned(elf: &[u8]) -> Result<&Self>
pub unsafe fn new_assume_aligned(elf: &[u8]) -> Result<&Self>
Coerce a byte slice into an ELF header.
Safety
It is undefined behaviour for elf
to have a smaller alignment than Header
.
pub fn program_header<'a>(
&'a self,
elf: &'a [u8],
index: u16
) -> Result<&'a ProgramHeader>
pub fn section_header<'a>(
&'a self,
elf: &'a [u8],
index: u16
) -> Result<&'a SectionHeader>
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more