pub trait CoffHeader: Debug + Pod {
type ImageSymbol: ImageSymbol;
type ImageSymbolBytes: Debug + Pod;
// Required methods
fn is_type_bigobj() -> bool;
fn machine(&self) -> u16;
fn number_of_sections(&self) -> u32;
fn pointer_to_symbol_table(&self) -> u32;
fn number_of_symbols(&self) -> u32;
fn characteristics(&self) -> u16;
fn parse<'data, R: ReadRef<'data>>(
data: R,
offset: &mut u64,
) -> Result<&'data Self>;
// Provided methods
fn sections<'data, R: ReadRef<'data>>(
&self,
data: R,
offset: u64,
) -> Result<SectionTable<'data>> { ... }
fn symbols<'data, R: ReadRef<'data>>(
&self,
data: R,
) -> Result<SymbolTable<'data, R, Self>> { ... }
}
Expand description
A trait for generic access to pe::ImageFileHeader
and pe::AnonObjectHeaderBigobj
.
Required Associated Types§
type ImageSymbol: ImageSymbol
type ImageSymbolBytes: Debug + Pod
Required Methods§
Sourcefn is_type_bigobj() -> bool
fn is_type_bigobj() -> bool
Return true if this type is pe::AnonObjectHeaderBigobj
.
This is a property of the type, not a value in the header data.
fn machine(&self) -> u16
fn number_of_sections(&self) -> u32
fn pointer_to_symbol_table(&self) -> u32
fn number_of_symbols(&self) -> u32
fn characteristics(&self) -> u16
Provided Methods§
Sourcefn sections<'data, R: ReadRef<'data>>(
&self,
data: R,
offset: u64,
) -> Result<SectionTable<'data>>
fn sections<'data, R: ReadRef<'data>>( &self, data: R, offset: u64, ) -> Result<SectionTable<'data>>
Read the section table.
data
must be the entire file data.
offset
must be after the optional file header.
Sourcefn symbols<'data, R: ReadRef<'data>>(
&self,
data: R,
) -> Result<SymbolTable<'data, R, Self>>
fn symbols<'data, R: ReadRef<'data>>( &self, data: R, ) -> Result<SymbolTable<'data, R, Self>>
Read the symbol table and string table.
data
must be the entire file data.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.