pub trait MachHeader: Debug + Pod {
type Word: Into<u64>;
type Endian: Endian;
type Segment: Segment<Endian = Self::Endian, Section = Self::Section>;
type Section: Section<Endian = Self::Endian>;
type Nlist: Nlist<Endian = Self::Endian>;
Show 15 methods
fn is_type_64(&self) -> bool;
fn is_big_endian(&self) -> bool;
fn is_little_endian(&self) -> bool;
fn magic(&self) -> u32;
fn cputype(&self, endian: Self::Endian) -> u32;
fn cpusubtype(&self, endian: Self::Endian) -> u32;
fn filetype(&self, endian: Self::Endian) -> u32;
fn ncmds(&self, endian: Self::Endian) -> u32;
fn sizeofcmds(&self, endian: Self::Endian) -> u32;
fn flags(&self, endian: Self::Endian) -> u32;
fn parse<'data, R: ReadRef<'data>>(
data: R,
offset: u64
) -> Result<&'data Self> { ... }
fn is_supported(&self) -> bool { ... }
fn endian(&self) -> Result<Self::Endian> { ... }
fn load_commands<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
header_offset: u64
) -> Result<LoadCommandIterator<'data, Self::Endian>> { ... }
fn uuid<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
header_offset: u64
) -> Result<Option<[u8; 16]>> { ... }
}
Expand description
A trait for generic access to MachHeader32
and MachHeader64
.
Associated Types
Required methods
fn is_type_64(&self) -> bool
fn is_type_64(&self) -> bool
Return true if this type is a 64-bit header.
This is a property of the type, not a value in the header data.
fn is_big_endian(&self) -> bool
fn is_big_endian(&self) -> bool
Return true if the magic
field signifies big-endian.
fn is_little_endian(&self) -> bool
fn is_little_endian(&self) -> bool
Return true if the magic
field signifies little-endian.
fn cpusubtype(&self, endian: Self::Endian) -> u32
fn sizeofcmds(&self, endian: Self::Endian) -> u32
Provided methods
Read the file header.
Also checks that the magic field in the file header is a supported format.