#[repr(u32)]
pub enum ProgramHeaderType {
Show 45 variants _SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext = 1_879_048_192, _RiscvAttributesOrMipsAbiflags = 1_879_048_195, _Ia64UnwindOrArmExidxOrPariscUnwindOrMipsRtproc = 1_879_048_193, _Ia64HpOptAnotOrHpOptAnnot = 1_610_612_754, _Ia64HpHslAnotOrHpHslAnnot = 1_610_612_755, _Ia64HpStackOrHpStack = 1_610_612_756, _PariscWeakorderOrMipsOptionsOrAArch64MemtagMte = 1_879_048_194, _HpTlsOrLoos = 1_610_612_736, HpCoreNone = 1_610_612_737, HpCoreVersion = 1_610_612_738, HpCoreKernel = 1_610_612_739, HpCoreComm = 1_610_612_740, HpCoreProc = 1_610_612_741, HpCoreLoadable = 1_610_612_742, HpCoreStack = 1_610_612_743, HpCoreShm = 1_610_612_744, HpCoreMmf = 1_610_612_745, HpParallel = 1_610_612_752, HpFastbind = 1_610_612_753, HpCoreUtsname = 1_610_612_757, Null = 0, Load = 1, Dynamic = 2, Interp = 3, Note = 4, Shlib = 5, Phdr = 6, Tls = 7, _HiosOrHisunw = 1_879_048_191, Hiproc = 2_147_483_647, _GnuEhFrameOrSunwEhFrame = 1_685_382_480, GnuStack = 1_685_382_481, GnuRelro = 1_685_382_482, GnuProperty = 1_685_382_483, GnuSframe = 1_685_382_484, OpenbsdMutable = 1_705_237_477, OpenbsdRandomize = 1_705_237_478, OpenbsdWxneeded = 1_705_237_479, OpenbsdNobtcfi = 1_705_237_480, OpenbsdBootdata = 1_705_253_862, GnuMbindNum = 4_096, GnuMbindLo = 1_685_382_485, GnuMbindHi = 1_685_386_580, _LosunwOrSunwbss = 1_879_048_186, Sunwstack = 1_879_048_187,
}

Variants§

§

_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext = 1_879_048_192

SpuInfo Or PariscArchext Or MipsReginfo Or C6000Phattr Or Processor-specific Or S390Pgste Or Arch extension bits, Or AArch64Archext

§

_RiscvAttributesOrMipsAbiflags = 1_879_048_195

§

_Ia64UnwindOrArmExidxOrPariscUnwindOrMipsRtproc = 1_879_048_193

IA64 unwind bits Or ArmExidx Or PariscUnwind Or MipsRtproc

§

_Ia64HpOptAnotOrHpOptAnnot = 1_610_612_754

§

_Ia64HpHslAnotOrHpHslAnnot = 1_610_612_755

§

_Ia64HpStackOrHpStack = 1_610_612_756

§

_PariscWeakorderOrMipsOptionsOrAArch64MemtagMte = 1_879_048_194

§

_HpTlsOrLoos = 1_610_612_736

HpTls Or OS-specific

§

HpCoreNone = 1_610_612_737

§

HpCoreVersion = 1_610_612_738

§

HpCoreKernel = 1_610_612_739

§

HpCoreComm = 1_610_612_740

§

HpCoreProc = 1_610_612_741

§

HpCoreLoadable = 1_610_612_742

§

HpCoreStack = 1_610_612_743

§

HpCoreShm = 1_610_612_744

§

HpCoreMmf = 1_610_612_745

§

HpParallel = 1_610_612_752

§

HpFastbind = 1_610_612_753

§

HpCoreUtsname = 1_610_612_757

§

Null = 0

Program header table entry unused

§

Load = 1

Loadable program segment

§

Dynamic = 2

Dynamic linking information

§

Interp = 3

Program interpreter

§

Note = 4

Auxiliary information

§

Shlib = 5

Reserved, unspecified semantics

§

Phdr = 6

Entry for header table itself

§

Tls = 7

Thread local storage segment

§

_HiosOrHisunw = 1_879_048_191

OS-specific Or Hisunw

§

Hiproc = 2_147_483_647

Processor-specific

§

_GnuEhFrameOrSunwEhFrame = 1_685_382_480

Frame unwind information Or Solaris uses the same value

§

GnuStack = 1_685_382_481

Stack flags

§

GnuRelro = 1_685_382_482

Read-only after relocation

§

GnuProperty = 1_685_382_483

GNU property

§

GnuSframe = 1_685_382_484

SFrame stack trace information

§

OpenbsdMutable = 1_705_237_477

Like bss, but not immutable.

§

OpenbsdRandomize = 1_705_237_478

Fill with random data.

§

OpenbsdWxneeded = 1_705_237_479

Program does W^X violations.

§

OpenbsdNobtcfi = 1_705_237_480

No branch target CFI.

§

OpenbsdBootdata = 1_705_253_862

Section for boot arguments.

§

GnuMbindNum = 4_096

§

GnuMbindLo = 1_685_382_485

§

GnuMbindHi = 1_685_386_580

§

_LosunwOrSunwbss = 1_879_048_186

Losunw Or Sun Specific segment

§

Sunwstack = 1_879_048_187

Stack segment

Implementations§

source§

impl ProgramHeaderType

source

pub const SpuInfo: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

source

pub const PariscArchext: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

source

pub const MipsReginfo: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

source

pub const C6000Phattr: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

source

pub const Loproc: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

Processor-specific

source

pub const S390Pgste: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

source

pub const Ia64Archext: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

Arch extension bits,

source

pub const AArch64Archext: Self = Self::_SpuInfoOrPariscArchextOrMipsReginfoOrC6000PhattrOrLoprocOrS390PgsteOrIa64ArchextOrAArch64Archext

source

pub const RiscvAttributes: Self = Self::_RiscvAttributesOrMipsAbiflags

source

pub const MipsAbiflags: Self = Self::_RiscvAttributesOrMipsAbiflags

source

pub const Ia64Unwind: Self = Self::_Ia64UnwindOrArmExidxOrPariscUnwindOrMipsRtproc

IA64 unwind bits.

source

pub const ArmExidx: Self = Self::_Ia64UnwindOrArmExidxOrPariscUnwindOrMipsRtproc

source

pub const PariscUnwind: Self = Self::_Ia64UnwindOrArmExidxOrPariscUnwindOrMipsRtproc

source

pub const MipsRtproc: Self = Self::_Ia64UnwindOrArmExidxOrPariscUnwindOrMipsRtproc

source

pub const Ia64HpOptAnot: Self = Self::_Ia64HpOptAnotOrHpOptAnnot

source

pub const HpOptAnnot: Self = Self::_Ia64HpOptAnotOrHpOptAnnot

source

pub const Ia64HpHslAnot: Self = Self::_Ia64HpHslAnotOrHpHslAnnot

source

pub const HpHslAnnot: Self = Self::_Ia64HpHslAnotOrHpHslAnnot

source

pub const Ia64HpStack: Self = Self::_Ia64HpStackOrHpStack

source

pub const HpStack: Self = Self::_Ia64HpStackOrHpStack

source

pub const PariscWeakorder: Self = Self::_PariscWeakorderOrMipsOptionsOrAArch64MemtagMte

source

pub const MipsOptions: Self = Self::_PariscWeakorderOrMipsOptionsOrAArch64MemtagMte

source

pub const AArch64MemtagMte: Self = Self::_PariscWeakorderOrMipsOptionsOrAArch64MemtagMte

source

pub const HpTls: Self = Self::_HpTlsOrLoos

source

pub const Loos: Self = Self::_HpTlsOrLoos

OS-specific

source

pub const Hios: Self = Self::_HiosOrHisunw

OS-specific

source

pub const Hisunw: Self = Self::_HiosOrHisunw

source

pub const GnuEhFrame: Self = Self::_GnuEhFrameOrSunwEhFrame

Frame unwind information

source

pub const SunwEhFrame: Self = Self::_GnuEhFrameOrSunwEhFrame

Solaris uses the same value

source

pub const Losunw: Self = Self::_LosunwOrSunwbss

source

pub const Sunwbss: Self = Self::_LosunwOrSunwbss

Sun Specific segment

Trait Implementations§

source§

impl BinarySerde for ProgramHeaderType

source§

const SERIALIZED_SIZE: usize = 4usize

the size of this type when serialized to a packed binary format.
§

type RecursiveArray = <u32 as BinarySerde>::RecursiveArray

the fixed size recursive array type that is returned when serializing this type to an array. the length of this array is guaranteed to be equal to Self::SERIALIZED_SIZE.
source§

fn binary_serialize(&self, buf: &mut [u8], endianness: Endianness)

serialize this value into the given buffer using the given endianness. Read more
source§

fn binary_deserialize( buf: &[u8], endianness: Endianness ) -> Result<Self, DeserializeError>

deserializes the given buffer using the given endianness into a value of this type. Read more
source§

fn binary_serialize_to_array( &self, endianness: Endianness ) -> Self::RecursiveArray

serialize this value to a fixed size array using the given endianness.
source§

impl Clone for ProgramHeaderType

source§

fn clone(&self) -> ProgramHeaderType

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 Debug for ProgramHeaderType

source§

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

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

impl Hash for ProgramHeaderType

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ProgramHeaderType

source§

fn eq(&self, other: &ProgramHeaderType) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ProgramHeaderType

source§

impl Eq for ProgramHeaderType

source§

impl StructuralPartialEq for ProgramHeaderType

Auto Trait Implementations§

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> 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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.