Struct solana_rbpf::elf_parser_glue::NewParser
source · pub struct NewParser<'a> { /* private fields */ }
Expand description
The new ELF parser.
Trait Implementations§
source§impl<'a> ElfParser<'a> for NewParser<'a>
impl<'a> ElfParser<'a> for NewParser<'a>
§type ProgramHeader = Elf64Phdr
type ProgramHeader = Elf64Phdr
Program header type.
§type ProgramHeaders = Iter<'a, <NewParser<'a> as ElfParser<'a>>::ProgramHeader>
type ProgramHeaders = Iter<'a, <NewParser<'a> as ElfParser<'a>>::ProgramHeader>
Iterator of program headers.
§type SectionHeader = Elf64Shdr
type SectionHeader = Elf64Shdr
Section header type.
§type SectionHeaders = Iter<'a, <NewParser<'a> as ElfParser<'a>>::SectionHeader>
type SectionHeaders = Iter<'a, <NewParser<'a> as ElfParser<'a>>::SectionHeader>
Iterator of section headers
§type Symbols = Map<Iter<'a, <NewParser<'a> as ElfParser<'a>>::Symbol>, fn(_: &'a <NewParser<'a> as ElfParser<'a>>::Symbol) -> Cow<'a, <NewParser<'a> as ElfParser<'a>>::Symbol>>
type Symbols = Map<Iter<'a, <NewParser<'a> as ElfParser<'a>>::Symbol>, fn(_: &'a <NewParser<'a> as ElfParser<'a>>::Symbol) -> Cow<'a, <NewParser<'a> as ElfParser<'a>>::Symbol>>
Iterator of symbols.
§type Relocation = Elf64Rel
type Relocation = Elf64Rel
Relocation type.
§type Relocations = Map<Iter<'a, <NewParser<'a> as ElfParser<'a>>::Relocation>, fn(_: &'a <NewParser<'a> as ElfParser<'a>>::Relocation) -> Cow<'a, <NewParser<'a> as ElfParser<'a>>::Relocation>>
type Relocations = Map<Iter<'a, <NewParser<'a> as ElfParser<'a>>::Relocation>, fn(_: &'a <NewParser<'a> as ElfParser<'a>>::Relocation) -> Cow<'a, <NewParser<'a> as ElfParser<'a>>::Relocation>>
Iterator of relocations.
source§fn parse(data: &'a [u8]) -> Result<NewParser<'a>, ElfError>
fn parse(data: &'a [u8]) -> Result<NewParser<'a>, ElfError>
Parses the ELF data included in the buffer.
source§fn program_headers(&'a self) -> Self::ProgramHeaders
fn program_headers(&'a self) -> Self::ProgramHeaders
Returns the program headers.
source§fn section_headers(&'a self) -> Self::SectionHeaders
fn section_headers(&'a self) -> Self::SectionHeaders
Returns the section headers.
source§fn section(&self, name: &[u8]) -> Result<Self::SectionHeader, ElfError>
fn section(&self, name: &[u8]) -> Result<Self::SectionHeader, ElfError>
Returns the section with the given
name
.source§fn section_name(&self, sh_name: Elf64Word) -> Option<&[u8]>
fn section_name(&self, sh_name: Elf64Word) -> Option<&[u8]>
Returns the section name at the given
sh_name
offset.source§fn symbol_name(&self, st_name: Elf64Word) -> Option<&[u8]>
fn symbol_name(&self, st_name: Elf64Word) -> Option<&[u8]>
Returns the symbol name at the given
st_name
offset.source§fn dynamic_symbol(&self, index: Elf64Word) -> Option<Self::Symbol>
fn dynamic_symbol(&self, index: Elf64Word) -> Option<Self::Symbol>
Returns the symbols included in the dynamic symbol table.
source§fn dynamic_symbol_name(&self, st_name: Elf64Word) -> Option<&[u8]>
fn dynamic_symbol_name(&self, st_name: Elf64Word) -> Option<&[u8]>
Returns the dynamic symbol name at the given
st_name
offset.source§fn dynamic_relocations(&'a self) -> Self::Relocations
fn dynamic_relocations(&'a self) -> Self::Relocations
Returns the dynamic relocations.
Auto Trait Implementations§
impl<'a> RefUnwindSafe for NewParser<'a>
impl<'a> Send for NewParser<'a>
impl<'a> Sync for NewParser<'a>
impl<'a> Unpin for NewParser<'a>
impl<'a> UnwindSafe for NewParser<'a>
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