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
sourceimpl<'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, index: usize) -> Option<u32>
pub fn shndx(&self, 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
sourceimpl<'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,
sourcefn clone(&self) -> SymbolTable<'data, Elf, R>
fn clone(&self) -> SymbolTable<'data, Elf, R>
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<'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,
sourceimpl<'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> 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
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
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more