Struct object::read::elf::SymbolTable
source · pub struct SymbolTable<'data, Elf: FileHeader, R = &'data [u8]>where
R: ReadRef<'data>,{ /* private fields */ }
Expand description
A table of symbol entries in an ELF file.
Also includes the string table used for the symbol names.
Returned by SectionTable::symbols
.
Implementations§
source§impl<'data, Elf: FileHeader, R: ReadRef<'data>> SymbolTable<'data, Elf, R>
impl<'data, Elf: FileHeader, R: ReadRef<'data>> SymbolTable<'data, Elf, R>
sourcepub fn parse(
endian: Elf::Endian,
data: R,
sections: &SectionTable<'data, Elf, R>,
section_index: SectionIndex,
section: &Elf::SectionHeader
) -> Result<SymbolTable<'data, Elf, R>>
pub fn parse( endian: Elf::Endian, data: R, sections: &SectionTable<'data, Elf, R>, section_index: SectionIndex, section: &Elf::SectionHeader ) -> Result<SymbolTable<'data, Elf, R>>
Parse the given symbol table section.
sourcepub fn section(&self) -> SectionIndex
pub fn section(&self) -> SectionIndex
Return the section index of this symbol table.
sourcepub fn shndx_section(&self) -> SectionIndex
pub fn shndx_section(&self) -> SectionIndex
Return the section index of the shndx table.
sourcepub fn string_section(&self) -> SectionIndex
pub fn string_section(&self) -> SectionIndex
Return the section index of the linked string table.
sourcepub fn strings(&self) -> StringTable<'data, R>
pub fn strings(&self) -> StringTable<'data, R>
Return the string table used for the symbol names.
sourcepub fn symbol(&self, index: usize) -> Result<&'data Elf::Sym>
pub fn symbol(&self, index: usize) -> Result<&'data Elf::Sym>
Return the symbol at the given index.
sourcepub fn shndx(&self, endian: Elf::Endian, index: usize) -> Option<u32>
pub fn shndx(&self, endian: Elf::Endian, index: usize) -> Option<u32>
Return the extended section index for the given symbol if present.
sourcepub fn symbol_section(
&self,
endian: Elf::Endian,
symbol: &'data Elf::Sym,
index: usize
) -> Result<Option<SectionIndex>>
pub fn symbol_section( &self, endian: Elf::Endian, symbol: &'data Elf::Sym, index: usize ) -> Result<Option<SectionIndex>>
Return the section index for the given symbol.
This uses the extended section index if present.
Trait Implementations§
source§impl<'data, Elf: Clone + FileHeader, R> Clone for SymbolTable<'data, Elf, R>
impl<'data, Elf: Clone + FileHeader, R> Clone for SymbolTable<'data, Elf, R>
source§fn clone(&self) -> SymbolTable<'data, Elf, R>
fn clone(&self) -> SymbolTable<'data, Elf, R>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'data, Elf: Debug + FileHeader, R> Debug for SymbolTable<'data, Elf, R>
impl<'data, Elf: Debug + FileHeader, R> Debug for SymbolTable<'data, Elf, R>
source§impl<'data, Elf: FileHeader, R: ReadRef<'data>> Default for SymbolTable<'data, Elf, R>
impl<'data, Elf: FileHeader, R: ReadRef<'data>> Default for SymbolTable<'data, Elf, R>
impl<'data, Elf: Copy + FileHeader, R> Copy for SymbolTable<'data, Elf, R>
Auto Trait Implementations§
impl<'data, Elf, R> RefUnwindSafe for SymbolTable<'data, Elf, R>where
R: RefUnwindSafe,
<Elf as FileHeader>::Endian: RefUnwindSafe,
<Elf as FileHeader>::Sym: RefUnwindSafe,
impl<'data, Elf, R> Send for SymbolTable<'data, Elf, R>
impl<'data, Elf, R> Sync for SymbolTable<'data, Elf, R>
impl<'data, Elf, R> Unpin for SymbolTable<'data, Elf, R>where
R: Unpin,
impl<'data, Elf, R> UnwindSafe for SymbolTable<'data, Elf, R>where
R: UnwindSafe,
<Elf as FileHeader>::Endian: RefUnwindSafe,
<Elf as FileHeader>::Sym: RefUnwindSafe,
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