Enum object::read::macho::load_command::LoadCommandVariant

source ·
#[non_exhaustive]
pub enum LoadCommandVariant<'data, E: Endian> {
Show 33 variants Segment32(&'data SegmentCommand32<E>, &'data [u8]), Symtab(&'data SymtabCommand<E>), Thread(&'data ThreadCommand<E>, &'data [u8]), Dysymtab(&'data DysymtabCommand<E>), Dylib(&'data DylibCommand<E>), IdDylib(&'data DylibCommand<E>), LoadDylinker(&'data DylinkerCommand<E>), IdDylinker(&'data DylinkerCommand<E>), PreboundDylib(&'data PreboundDylibCommand<E>), Routines32(&'data RoutinesCommand32<E>), SubFramework(&'data SubFrameworkCommand<E>), SubUmbrella(&'data SubUmbrellaCommand<E>), SubClient(&'data SubClientCommand<E>), SubLibrary(&'data SubLibraryCommand<E>), TwolevelHints(&'data TwolevelHintsCommand<E>), PrebindCksum(&'data PrebindCksumCommand<E>), Segment64(&'data SegmentCommand64<E>, &'data [u8]), Routines64(&'data RoutinesCommand64<E>), Uuid(&'data UuidCommand<E>), Rpath(&'data RpathCommand<E>), LinkeditData(&'data LinkeditDataCommand<E>), EncryptionInfo32(&'data EncryptionInfoCommand32<E>), DyldInfo(&'data DyldInfoCommand<E>), VersionMin(&'data VersionMinCommand<E>), DyldEnvironment(&'data DylinkerCommand<E>), EntryPoint(&'data EntryPointCommand<E>), SourceVersion(&'data SourceVersionCommand<E>), EncryptionInfo64(&'data EncryptionInfoCommand64<E>), LinkerOption(&'data LinkerOptionCommand<E>), Note(&'data NoteCommand<E>), BuildVersion(&'data BuildVersionCommand<E>), FilesetEntry(&'data FilesetEntryCommand<E>), Other,
}
Expand description

A macho::LoadCommand that has been interpreted according to its cmd field.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Segment32(&'data SegmentCommand32<E>, &'data [u8])

LC_SEGMENT

§

Symtab(&'data SymtabCommand<E>)

LC_SYMTAB

§

Thread(&'data ThreadCommand<E>, &'data [u8])

LC_THREAD or LC_UNIXTHREAD

§

Dysymtab(&'data DysymtabCommand<E>)

LC_DYSYMTAB

§

Dylib(&'data DylibCommand<E>)

LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB, LC_REEXPORT_DYLIB, LC_LAZY_LOAD_DYLIB, or LC_LOAD_UPWARD_DYLIB

§

IdDylib(&'data DylibCommand<E>)

LC_ID_DYLIB

§

LoadDylinker(&'data DylinkerCommand<E>)

LC_LOAD_DYLINKER

§

IdDylinker(&'data DylinkerCommand<E>)

LC_ID_DYLINKER

§

PreboundDylib(&'data PreboundDylibCommand<E>)

LC_PREBOUND_DYLIB

§

Routines32(&'data RoutinesCommand32<E>)

LC_ROUTINES

§

SubFramework(&'data SubFrameworkCommand<E>)

LC_SUB_FRAMEWORK

§

SubUmbrella(&'data SubUmbrellaCommand<E>)

LC_SUB_UMBRELLA

§

SubClient(&'data SubClientCommand<E>)

LC_SUB_CLIENT

§

SubLibrary(&'data SubLibraryCommand<E>)

LC_SUB_LIBRARY

§

TwolevelHints(&'data TwolevelHintsCommand<E>)

LC_TWOLEVEL_HINTS

§

PrebindCksum(&'data PrebindCksumCommand<E>)

LC_PREBIND_CKSUM

§

Segment64(&'data SegmentCommand64<E>, &'data [u8])

LC_SEGMENT_64

§

Routines64(&'data RoutinesCommand64<E>)

LC_ROUTINES_64

§

Uuid(&'data UuidCommand<E>)

LC_UUID

§

Rpath(&'data RpathCommand<E>)

LC_RPATH

§

LinkeditData(&'data LinkeditDataCommand<E>)

LC_CODE_SIGNATURE, LC_SEGMENT_SPLIT_INFO, LC_FUNCTION_STARTS, LC_DATA_IN_CODE, LC_DYLIB_CODE_SIGN_DRS, LC_LINKER_OPTIMIZATION_HINT, LC_DYLD_EXPORTS_TRIE, or LC_DYLD_CHAINED_FIXUPS.

§

EncryptionInfo32(&'data EncryptionInfoCommand32<E>)

LC_ENCRYPTION_INFO

§

DyldInfo(&'data DyldInfoCommand<E>)

LC_DYLD_INFO or LC_DYLD_INFO_ONLY

§

VersionMin(&'data VersionMinCommand<E>)

LC_VERSION_MIN_MACOSX, LC_VERSION_MIN_IPHONEOS, LC_VERSION_MIN_WATCHOS, or LC_VERSION_MIN_TVOS

§

DyldEnvironment(&'data DylinkerCommand<E>)

LC_DYLD_ENVIRONMENT

§

EntryPoint(&'data EntryPointCommand<E>)

LC_MAIN

§

SourceVersion(&'data SourceVersionCommand<E>)

LC_SOURCE_VERSION

§

EncryptionInfo64(&'data EncryptionInfoCommand64<E>)

LC_ENCRYPTION_INFO_64

§

LinkerOption(&'data LinkerOptionCommand<E>)

LC_LINKER_OPTION

§

Note(&'data NoteCommand<E>)

LC_NOTE

§

BuildVersion(&'data BuildVersionCommand<E>)

LC_BUILD_VERSION

§

FilesetEntry(&'data FilesetEntryCommand<E>)

LC_FILESET_ENTRY

§

Other

An unrecognized or obsolete load command.

Trait Implementations§

source§

impl<'data, E: Clone + Endian> Clone for LoadCommandVariant<'data, E>

source§

fn clone(&self) -> LoadCommandVariant<'data, E>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'data, E: Debug + Endian> Debug for LoadCommandVariant<'data, E>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'data, E: Copy + Endian> Copy for LoadCommandVariant<'data, E>

Auto Trait Implementations§

§

impl<'data, E> Freeze for LoadCommandVariant<'data, E>

§

impl<'data, E> RefUnwindSafe for LoadCommandVariant<'data, E>
where E: RefUnwindSafe,

§

impl<'data, E> Send for LoadCommandVariant<'data, E>
where E: Sync,

§

impl<'data, E> Sync for LoadCommandVariant<'data, E>
where E: Sync,

§

impl<'data, E> Unpin for LoadCommandVariant<'data, E>

§

impl<'data, E> UnwindSafe for LoadCommandVariant<'data, E>
where E: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.