Struct goblin::elf::program_header::program_header64::ProgramHeader
source · [−]#[repr(C)]pub struct ProgramHeader {
pub p_type: u32,
pub p_flags: u32,
pub p_offset: u64,
pub p_vaddr: u64,
pub p_paddr: u64,
pub p_filesz: u64,
pub p_memsz: u64,
pub p_align: u64,
}
Expand description
A 64-bit ProgramHeader typically specifies how to map executable and data segments into memory
Fields
p_type: u32
Segment type
p_flags: u32
Segment flags
p_offset: u64
Segment file offset
p_vaddr: u64
Segment virtual address
p_paddr: u64
Segment physical address
p_filesz: u64
Segment size in file
p_memsz: u64
Segment size in memory
p_align: u64
Segment alignment
Implementations
sourceimpl ProgramHeader
impl ProgramHeader
pub fn parse(
bytes: &[u8],
offset: usize,
count: usize,
ctx: Endian
) -> Result<Vec<ProgramHeader>>
pub fn from_bytes(bytes: &[u8], phnum: usize) -> Vec<ProgramHeader>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourcepub unsafe fn from_raw_parts<'a>(
phdrp: *const ProgramHeader,
phnum: usize
) -> &'a [ProgramHeader]
pub unsafe fn from_raw_parts<'a>(
phdrp: *const ProgramHeader,
phnum: usize
) -> &'a [ProgramHeader]
Safety
This function creates a ProgramHeader
directly from a raw pointer
pub fn from_fd(
fd: &mut File,
offset: u64,
count: usize
) -> Result<Vec<ProgramHeader>>
Trait Implementations
sourceimpl Clone for ProgramHeader
impl Clone for ProgramHeader
sourcefn clone(&self) -> ProgramHeader
fn clone(&self) -> ProgramHeader
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ProgramHeader
impl Debug for ProgramHeader
sourceimpl Default for ProgramHeader
impl Default for ProgramHeader
sourcefn default() -> ProgramHeader
fn default() -> ProgramHeader
Returns the “default value” for a type. Read more
sourceimpl From<ProgramHeader> for ElfProgramHeader
impl From<ProgramHeader> for ElfProgramHeader
sourcefn from(ph: ProgramHeader) -> Self
fn from(ph: ProgramHeader) -> Self
Converts to this type from the input type.
sourceimpl From<ProgramHeader> for ProgramHeader
impl From<ProgramHeader> for ProgramHeader
sourcefn from(ph: ElfProgramHeader) -> Self
fn from(ph: ElfProgramHeader) -> Self
Converts to this type from the input type.
sourceimpl PartialEq<ProgramHeader> for ProgramHeader
impl PartialEq<ProgramHeader> for ProgramHeader
sourcefn eq(&self, other: &ProgramHeader) -> bool
fn eq(&self, other: &ProgramHeader) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ProgramHeader) -> bool
fn ne(&self, other: &ProgramHeader) -> bool
This method tests for !=
.
sourceimpl Plain for ProgramHeader
impl Plain for ProgramHeader
fn from_bytes(bytes: &[u8]) -> Result<&Self, Error>
fn slice_from_bytes(bytes: &[u8]) -> Result<&[Self], Error>
fn slice_from_bytes_len(bytes: &[u8], len: usize) -> Result<&[Self], Error>
fn from_mut_bytes(bytes: &mut [u8]) -> Result<&mut Self, Error>
fn slice_from_mut_bytes(bytes: &mut [u8]) -> Result<&mut [Self], Error>
fn slice_from_mut_bytes_len(
bytes: &mut [u8],
len: usize
) -> Result<&mut [Self], Error>
fn copy_from_bytes(&mut self, bytes: &[u8]) -> Result<(), Error>
sourceimpl<'a> TryFromCtx<'a, Endian, [u8]> for ProgramHeader where
ProgramHeader: 'a,
impl<'a> TryFromCtx<'a, Endian, [u8]> for ProgramHeader where
ProgramHeader: 'a,
sourceimpl<'a> TryIntoCtx<Endian, [u8]> for &'a ProgramHeader
impl<'a> TryIntoCtx<Endian, [u8]> for &'a ProgramHeader
sourceimpl TryIntoCtx<Endian, [u8]> for ProgramHeader
impl TryIntoCtx<Endian, [u8]> for ProgramHeader
impl Copy for ProgramHeader
impl StructuralPartialEq for ProgramHeader
Auto Trait Implementations
impl RefUnwindSafe for ProgramHeader
impl Send for ProgramHeader
impl Sync for ProgramHeader
impl Unpin for ProgramHeader
impl UnwindSafe for ProgramHeader
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