Struct SymbolTable
struct SymbolTable<'data, R = &'data [u8], Coff = pe::ImageFileHeader> { ... }
where
R: ReadRef<'data>,
Coff: CoffHeader
A table of symbol entries in a COFF or PE file.
Also includes the string table used for the symbol names.
Returned by CoffHeader::symbols and
ImageNtHeaders::symbols.
Implementations
impl<'data, R: ReadRef<'data>, Coff: CoffHeader> SymbolTable<'data, R, Coff>
fn parse(header: &Coff, data: R) -> Result<Self>Read the symbol table.
fn strings(self: &Self) -> StringTable<'data, R>Return the string table used for the symbol names.
fn is_empty(self: &Self) -> boolReturn true if the symbol table is empty.
fn len(self: &Self) -> usizeThe number of symbol table entries.
This includes auxiliary symbol table entries.
fn iter<'table>(self: &'table Self) -> SymbolIterator<'data, 'table, R, Coff>Iterate over the symbols.
fn symbol(self: &Self, index: SymbolIndex) -> Result<&'data <Coff as >::ImageSymbol>Return the symbol table entry at the given index.
fn aux_function(self: &Self, index: SymbolIndex) -> Result<&'data ImageAuxSymbolFunction>Return the auxiliary function symbol for the symbol table entry at the given index.
Note that the index is of the symbol, not the first auxiliary record.
fn aux_section(self: &Self, index: SymbolIndex) -> Result<&'data ImageAuxSymbolSection>Return the auxiliary section symbol for the symbol table entry at the given index.
Note that the index is of the symbol, not the first auxiliary record.
fn aux_file_name(self: &Self, index: SymbolIndex, aux_count: u8) -> Result<&'data [u8]>Return the auxiliary file name for the symbol table entry at the given index.
Note that the index is of the symbol, not the first auxiliary record.
fn get<T: Pod>(self: &Self, index: SymbolIndex, offset: usize) -> Result<&'data T>Return the symbol table entry or auxiliary record at the given index and offset.
fn map<Entry: SymbolMapEntry, F: Fn(&'data <Coff as >::ImageSymbol) -> Option<Entry>>(self: &Self, f: F) -> SymbolMap<Entry>Construct a map from addresses to a user-defined map entry.
impl<'data, R, Coff> Debug for SymbolTable<'data, R, Coff>
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<'data, R, Coff> Freeze for SymbolTable<'data, R, Coff>
impl<'data, R, Coff> RefUnwindSafe for SymbolTable<'data, R, Coff>
impl<'data, R, Coff> Send for SymbolTable<'data, R, Coff>
impl<'data, R, Coff> Sync for SymbolTable<'data, R, Coff>
impl<'data, R, Coff> Unpin for SymbolTable<'data, R, Coff>
impl<'data, R, Coff> UnsafeUnpin for SymbolTable<'data, R, Coff>
impl<'data, R, Coff> UnwindSafe for SymbolTable<'data, R, Coff>
impl<'data, R: ReadRef<'data>, Coff: CoffHeader> Default for SymbolTable<'data, R, Coff>
fn default() -> Self
impl<T> Any for SymbolTable<'data, R, Coff>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for SymbolTable<'data, R, Coff>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for SymbolTable<'data, R, Coff>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> From for SymbolTable<'data, R, Coff>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into for SymbolTable<'data, R, Coff>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for SymbolTable<'data, R, Coff>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for SymbolTable<'data, R, Coff>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>