pub struct Elf {
pub header: Header,
pub segments: ProgramHeader,
pub sections: SectionHeader,
/* private fields */
}Expand description
ELF file.
Fields§
§header: HeaderFile header.
segments: ProgramHeaderProgram header (file segment list).
sections: SectionHeaderSection header (file section list).
Implementations§
Source§impl Elf
impl Elf
Sourcepub fn read_unchecked<R: ElfRead + ElfSeek>(
reader: &mut R,
page_size: u64,
) -> Result<Self, Error>
pub fn read_unchecked<R: ElfRead + ElfSeek>( reader: &mut R, page_size: u64, ) -> Result<Self, Error>
Read ELF from reader without validation.
Sourcepub fn read<R: ElfRead + ElfSeek>(
reader: &mut R,
page_size: u64,
) -> Result<Self, Error>
pub fn read<R: ElfRead + ElfSeek>( reader: &mut R, page_size: u64, ) -> Result<Self, Error>
Read ELF from reader with validation.
Page size is used during the validation.
Sourcepub fn write<W: ElfWrite + ElfSeek>(self, writer: &mut W) -> Result<(), Error>
pub fn write<W: ElfWrite + ElfSeek>(self, writer: &mut W) -> Result<(), Error>
Validate and write ELF to writer.
Sourcepub fn write_unchecked<W: ElfWrite + ElfSeek>(
self,
writer: &mut W,
) -> Result<(), Error>
pub fn write_unchecked<W: ElfWrite + ElfSeek>( self, writer: &mut W, ) -> Result<(), Error>
Write ELF to writer without checking.
Sourcepub fn check(&self) -> Result<(), Error>
pub fn check(&self) -> Result<(), Error>
Check consistency of the data.
Validates consistency of sections, segments and their contents.
Sourcepub fn read_section_names<F: ElfRead + ElfSeek>(
&self,
file: &mut F,
) -> Result<Option<StringTable>, Error>
pub fn read_section_names<F: ElfRead + ElfSeek>( &self, file: &mut F, ) -> Result<Option<StringTable>, Error>
Read string table containing section names.
Sourcepub fn read_dynamic_table<F: ElfRead + ElfSeek>(
&self,
file: &mut F,
) -> Result<Option<DynamicTable>, Error>
pub fn read_dynamic_table<F: ElfRead + ElfSeek>( &self, file: &mut F, ) -> Result<Option<DynamicTable>, Error>
Read dynamic table.
Sourcepub fn read_dynamic_string_table<F: ElfRead + ElfSeek>(
&self,
file: &mut F,
) -> Result<Option<StringTable>, Error>
pub fn read_dynamic_string_table<F: ElfRead + ElfSeek>( &self, file: &mut F, ) -> Result<Option<StringTable>, Error>
Read dynamic string table.
Sourcepub fn read_interpreter<F: ElfRead + ElfSeek>(
&self,
file: &mut F,
) -> Result<Option<CString>, Error>
pub fn read_interpreter<F: ElfRead + ElfSeek>( &self, file: &mut F, ) -> Result<Option<CString>, Error>
Read the interpreter.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Elf
impl RefUnwindSafe for Elf
impl Send for Elf
impl Sync for Elf
impl Unpin for Elf
impl UnwindSafe for Elf
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more