pub trait Sym: Debug + Pod {
type Word: Into<u64>;
type Endian: Endian;
// Required methods
fn st_name(&self, endian: Self::Endian) -> u32;
fn st_info(&self) -> u8;
fn st_bind(&self) -> u8;
fn st_type(&self) -> u8;
fn st_other(&self) -> u8;
fn st_visibility(&self) -> u8;
fn st_shndx(&self, endian: Self::Endian) -> u16;
fn st_value(&self, endian: Self::Endian) -> Self::Word;
fn st_size(&self, endian: Self::Endian) -> Self::Word;
// Provided methods
fn name<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
strings: StringTable<'data, R>
) -> Result<&'data [u8]> { ... }
fn is_undefined(&self, endian: Self::Endian) -> bool { ... }
fn is_definition(&self, endian: Self::Endian) -> bool { ... }
}
Expand description
A trait for generic access to elf::Sym32
and elf::Sym64
.
Required Associated Types§
Required Methods§
fn st_name(&self, endian: Self::Endian) -> u32
fn st_info(&self) -> u8
fn st_bind(&self) -> u8
fn st_type(&self) -> u8
fn st_other(&self) -> u8
fn st_visibility(&self) -> u8
fn st_shndx(&self, endian: Self::Endian) -> u16
fn st_value(&self, endian: Self::Endian) -> Self::Word
fn st_size(&self, endian: Self::Endian) -> Self::Word
Provided Methods§
sourcefn name<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
strings: StringTable<'data, R>
) -> Result<&'data [u8]>
fn name<'data, R: ReadRef<'data>>( &self, endian: Self::Endian, strings: StringTable<'data, R> ) -> Result<&'data [u8]>
Parse the symbol name from the string table.
sourcefn is_undefined(&self, endian: Self::Endian) -> bool
fn is_undefined(&self, endian: Self::Endian) -> bool
Return true if the symbol is undefined.
sourcefn is_definition(&self, endian: Self::Endian) -> bool
fn is_definition(&self, endian: Self::Endian) -> bool
Return true if the symbol is a definition of a function or data object.
Object Safety§
This trait is not object safe.