Struct SegmentCommand64

struct SegmentCommand64<E: Endian> { ... }

64-bit segment load command.

The 64-bit segment load command indicates that a part of this file is to be mapped into a 64-bit task's address space. If the 64-bit segment has sections then Section64 structures directly follow the 64-bit segment command and their size is reflected in cmdsize.

Fields

cmd: crate::endian::U32<E>

LC_SEGMENT_64

cmdsize: crate::endian::U32<E>

includes sizeof section_64 structs

segname: [u8; 16]

segment name

vmaddr: crate::endian::U64<E>

memory address of this segment

vmsize: crate::endian::U64<E>

memory size of this segment

fileoff: crate::endian::U64<E>

file offset of this segment

filesize: crate::endian::U64<E>

amount to map from the file

maxprot: crate::endian::U32<E>

maximum VM protection

initprot: crate::endian::U32<E>

initial VM protection

nsects: crate::endian::U32<E>

number of sections in segment

flags: crate::endian::U32<E>

flags

Implementations

impl<E> Freeze for SegmentCommand64<E>

impl<E> RefUnwindSafe for SegmentCommand64<E>

impl<E> Send for SegmentCommand64<E>

impl<E> Sync for SegmentCommand64<E>

impl<E> Unpin for SegmentCommand64<E>

impl<E> UnwindSafe for SegmentCommand64<E>

impl<E: $crate::clone::Clone + Endian> Clone for SegmentCommand64<E>

fn clone(self: &Self) -> SegmentCommand64<E>

impl<E: $crate::fmt::Debug + Endian> Debug for SegmentCommand64<E>

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

impl<E: $crate::marker::Copy + Endian> Copy for SegmentCommand64<E>

impl<E: Endian> Pod for SegmentCommand64<E>

impl<Endian: endian::Endian> Segment for macho::SegmentCommand64<Endian>

fn from_command(command: LoadCommandData<'_, <Self as >::Endian>) -> Result<Option<(&Self, &[u8])>>
fn cmd(self: &Self, endian: <Self as >::Endian) -> u32
fn cmdsize(self: &Self, endian: <Self as >::Endian) -> u32
fn segname(self: &Self) -> &[u8; 16]
fn vmaddr(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn vmsize(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn fileoff(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn filesize(self: &Self, endian: <Self as >::Endian) -> <Self as >::Word
fn maxprot(self: &Self, endian: <Self as >::Endian) -> u32
fn initprot(self: &Self, endian: <Self as >::Endian) -> u32
fn nsects(self: &Self, endian: <Self as >::Endian) -> u32
fn flags(self: &Self, endian: <Self as >::Endian) -> u32

impl<T> Any for SegmentCommand64<E>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for SegmentCommand64<E>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for SegmentCommand64<E>

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

impl<T> CloneToUninit for SegmentCommand64<E>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for SegmentCommand64<E>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for SegmentCommand64<E>

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for SegmentCommand64<E>

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for SegmentCommand64<E>

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

impl<T, U> TryInto for SegmentCommand64<E>

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