#[repr(C)]pub struct SegmentCommand64<E: Endian> {
pub cmd: U32<E>,
pub cmdsize: U32<E>,
pub segname: [u8; 16],
pub vmaddr: U64<E>,
pub vmsize: U64<E>,
pub fileoff: U64<E>,
pub filesize: U64<E>,
pub maxprot: U32<E>,
pub initprot: U32<E>,
pub nsects: U32<E>,
pub flags: U32<E>,
}
Expand description
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: U32<E>
LC_SEGMENT_64
cmdsize: U32<E>
includes sizeof section_64 structs
segname: [u8; 16]
segment name
vmaddr: U64<E>
memory address of this segment
vmsize: U64<E>
memory size of this segment
fileoff: U64<E>
file offset of this segment
filesize: U64<E>
amount to map from the file
maxprot: U32<E>
maximum VM protection
initprot: U32<E>
initial VM protection
nsects: U32<E>
number of sections in segment
flags: U32<E>
flags
Trait Implementations§
source§impl<E: Clone + Endian> Clone for SegmentCommand64<E>
impl<E: Clone + Endian> Clone for SegmentCommand64<E>
source§fn clone(&self) -> SegmentCommand64<E>
fn clone(&self) -> SegmentCommand64<E>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<Endian: Endian> Segment for SegmentCommand64<Endian>
impl<Endian: Endian> Segment for SegmentCommand64<Endian>
type Word = u64
type Endian = Endian
type Section = Section64<<SegmentCommand64<Endian> as Segment>::Endian>
fn from_command( command: LoadCommandData<'_, Self::Endian>, ) -> Result<Option<(&Self, &[u8])>>
fn cmd(&self, endian: Self::Endian) -> u32
fn cmdsize(&self, endian: Self::Endian) -> u32
fn segname(&self) -> &[u8; 16]
fn vmaddr(&self, endian: Self::Endian) -> Self::Word
fn vmsize(&self, endian: Self::Endian) -> Self::Word
fn fileoff(&self, endian: Self::Endian) -> Self::Word
fn filesize(&self, endian: Self::Endian) -> Self::Word
fn maxprot(&self, endian: Self::Endian) -> u32
fn initprot(&self, endian: Self::Endian) -> u32
fn nsects(&self, endian: Self::Endian) -> u32
fn flags(&self, endian: Self::Endian) -> u32
source§fn file_range(&self, endian: Self::Endian) -> (u64, u64)
fn file_range(&self, endian: Self::Endian) -> (u64, u64)
Return the offset and size of the segment in the file.
impl<E: Copy + Endian> Copy for SegmentCommand64<E>
impl<E: Endian> Pod for SegmentCommand64<E>
Auto Trait Implementations§
impl<E> Freeze for SegmentCommand64<E>
impl<E> RefUnwindSafe for SegmentCommand64<E>where
E: RefUnwindSafe,
impl<E> Send for SegmentCommand64<E>where
E: Send,
impl<E> Sync for SegmentCommand64<E>where
E: Sync,
impl<E> Unpin for SegmentCommand64<E>where
E: Unpin,
impl<E> UnwindSafe for SegmentCommand64<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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)