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.
Implementations
pub 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.
Return the section index of this symbol table.
Return the section index of the shndx table.
Return the section index of the linked string table.
Return the string table used for the symbol names.
Return the symbol at the given index.
Return the extended section index for the given symbol if present.
pub 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.
Return the symbol name for the given symbol.
Trait Implementations
impl<'data, Elf: Clone + FileHeader, R: Clone> Clone for SymbolTable<'data, Elf, R> where
R: ReadRef<'data>,
Elf::Sym: Clone,
impl<'data, Elf: Clone + FileHeader, R: Clone> Clone for SymbolTable<'data, Elf, R> where
R: ReadRef<'data>,
Elf::Sym: Clone,
impl<'data, Elf: Debug + FileHeader, R: Debug> Debug for SymbolTable<'data, Elf, R> where
R: ReadRef<'data>,
Elf::Sym: Debug,
impl<'data, Elf: Debug + FileHeader, R: Debug> Debug for SymbolTable<'data, Elf, R> where
R: ReadRef<'data>,
Elf::Sym: Debug,
impl<'data, Elf: Copy + FileHeader, R: Copy> Copy for SymbolTable<'data, Elf, R> where
R: ReadRef<'data>,
Elf::Sym: Copy,
Auto Trait Implementations
impl<'data, Elf, R> RefUnwindSafe for SymbolTable<'data, Elf, R> where
R: RefUnwindSafe,
<Elf as FileHeader>::Sym: RefUnwindSafe,
impl<'data, Elf, R> Send for SymbolTable<'data, Elf, R> where
R: Send,
<Elf as FileHeader>::Sym: Sync,
impl<'data, Elf, R> Sync for SymbolTable<'data, Elf, R> where
R: Sync,
<Elf as FileHeader>::Sym: Sync,
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>::Sym: RefUnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more