Struct object::read::macho::LoadCommandData
source · pub struct LoadCommandData<'data, E: Endian> {
cmd: u32,
data: Bytes<'data>,
marker: PhantomData<E>,
}
Expand description
The data for a macho::LoadCommand
.
Fields§
§cmd: u32
§data: Bytes<'data>
§marker: PhantomData<E>
Implementations§
source§impl<'data, E: Endian> LoadCommandData<'data, E>
impl<'data, E: Endian> LoadCommandData<'data, E>
sourcepub fn cmd(&self) -> u32
pub fn cmd(&self) -> u32
Return the cmd
field of the macho::LoadCommand
.
This is one of the LC_
constants.
sourcepub fn cmdsize(&self) -> u32
pub fn cmdsize(&self) -> u32
Return the cmdsize
field of the macho::LoadCommand
.
sourcepub fn raw_data(&self) -> &'data [u8] ⓘ
pub fn raw_data(&self) -> &'data [u8] ⓘ
Raw bytes of this macho::LoadCommand
structure.
sourcepub fn string(&self, endian: E, s: LcStr<E>) -> Result<&'data [u8]>
pub fn string(&self, endian: E, s: LcStr<E>) -> Result<&'data [u8]>
Parse a load command string value.
Strings used by load commands are specified by offsets that are relative to the load command header.
sourcepub fn variant(&self) -> Result<LoadCommandVariant<'data, E>>
pub fn variant(&self) -> Result<LoadCommandVariant<'data, E>>
Parse the command data according to the cmd
field.
sourcepub fn segment_32(
self,
) -> Result<Option<(&'data SegmentCommand32<E>, &'data [u8])>>
pub fn segment_32( self, ) -> Result<Option<(&'data SegmentCommand32<E>, &'data [u8])>>
Try to parse this command as a macho::SegmentCommand32
.
Returns the segment command and the data containing the sections.
sourcepub fn symtab(self) -> Result<Option<&'data SymtabCommand<E>>>
pub fn symtab(self) -> Result<Option<&'data SymtabCommand<E>>>
Try to parse this command as a macho::SymtabCommand
.
Returns the segment command and the data containing the sections.
sourcepub fn dysymtab(self) -> Result<Option<&'data DysymtabCommand<E>>>
pub fn dysymtab(self) -> Result<Option<&'data DysymtabCommand<E>>>
Try to parse this command as a macho::DysymtabCommand
.
sourcepub fn dylib(self) -> Result<Option<&'data DylibCommand<E>>>
pub fn dylib(self) -> Result<Option<&'data DylibCommand<E>>>
Try to parse this command as a macho::DylibCommand
.
sourcepub fn uuid(self) -> Result<Option<&'data UuidCommand<E>>>
pub fn uuid(self) -> Result<Option<&'data UuidCommand<E>>>
Try to parse this command as a macho::UuidCommand
.
sourcepub fn segment_64(
self,
) -> Result<Option<(&'data SegmentCommand64<E>, &'data [u8])>>
pub fn segment_64( self, ) -> Result<Option<(&'data SegmentCommand64<E>, &'data [u8])>>
Try to parse this command as a macho::SegmentCommand64
.
sourcepub fn dyld_info(self) -> Result<Option<&'data DyldInfoCommand<E>>>
pub fn dyld_info(self) -> Result<Option<&'data DyldInfoCommand<E>>>
Try to parse this command as a macho::DyldInfoCommand
.
sourcepub fn entry_point(self) -> Result<Option<&'data EntryPointCommand<E>>>
pub fn entry_point(self) -> Result<Option<&'data EntryPointCommand<E>>>
Try to parse this command as an macho::EntryPointCommand
.
sourcepub fn build_version(self) -> Result<Option<&'data BuildVersionCommand<E>>>
pub fn build_version(self) -> Result<Option<&'data BuildVersionCommand<E>>>
Try to parse this command as a macho::BuildVersionCommand
.
Trait Implementations§
source§impl<'data, E: Clone + Endian> Clone for LoadCommandData<'data, E>
impl<'data, E: Clone + Endian> Clone for LoadCommandData<'data, E>
source§fn clone(&self) -> LoadCommandData<'data, E>
fn clone(&self) -> LoadCommandData<'data, E>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreimpl<'data, E: Copy + Endian> Copy for LoadCommandData<'data, E>
Auto Trait Implementations§
impl<'data, E> Freeze for LoadCommandData<'data, E>
impl<'data, E> RefUnwindSafe for LoadCommandData<'data, E>where
E: RefUnwindSafe,
impl<'data, E> Send for LoadCommandData<'data, E>where
E: Send,
impl<'data, E> Sync for LoadCommandData<'data, E>where
E: Sync,
impl<'data, E> Unpin for LoadCommandData<'data, E>where
E: Unpin,
impl<'data, E> UnwindSafe for LoadCommandData<'data, E>where
E: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)