Struct object::macho::SegmentCommand32
source · [−]#[repr(C)]pub struct SegmentCommand32<E: Endian> {
pub cmd: U32<E>,
pub cmdsize: U32<E>,
pub segname: [u8; 16],
pub vmaddr: U32<E>,
pub vmsize: U32<E>,
pub fileoff: U32<E>,
pub filesize: U32<E>,
pub maxprot: U32<E>,
pub initprot: U32<E>,
pub nsects: U32<E>,
pub flags: U32<E>,
}
Expand description
32-bit segment load command.
The segment load command indicates that a part of this file is to be
mapped into the task’s address space. The size of this segment in memory,
vmsize, maybe equal to or larger than the amount to map from this file,
filesize. The file is mapped starting at fileoff to the beginning of
the segment in memory, vmaddr. The rest of the memory of the segment,
if any, is allocated zero fill on demand. The segment’s maximum virtual
memory protection and initial virtual memory protection are specified
by the maxprot and initprot fields. If the segment has sections then the
Section32
structures directly follow the segment command and their size is
reflected in cmdsize
.
Fields
cmd: U32<E>
LC_SEGMENT
cmdsize: U32<E>
includes sizeof section structs
segname: [u8; 16]
segment name
vmaddr: U32<E>
memory address of this segment
vmsize: U32<E>
memory size of this segment
fileoff: U32<E>
file offset of this segment
filesize: U32<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
sourceimpl<E: Clone + Endian> Clone for SegmentCommand32<E>
impl<E: Clone + Endian> Clone for SegmentCommand32<E>
sourcefn clone(&self) -> SegmentCommand32<E>
fn clone(&self) -> SegmentCommand32<E>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<E: Debug + Endian> Debug for SegmentCommand32<E>
impl<E: Debug + Endian> Debug for SegmentCommand32<E>
sourceimpl<Endian: Endian> Segment for SegmentCommand32<Endian>
impl<Endian: Endian> Segment for SegmentCommand32<Endian>
type Word = u32
type Endian = Endian
type Section = Section32<Self::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
sourcefn name(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
fn name(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Return the segname
bytes up until the null terminator.
sourcefn 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 SegmentCommand32<E>
impl<E: Endian> Pod for SegmentCommand32<E>
Auto Trait Implementations
impl<E> RefUnwindSafe for SegmentCommand32<E> where
E: RefUnwindSafe,
impl<E> Send for SegmentCommand32<E> where
E: Send,
impl<E> Sync for SegmentCommand32<E> where
E: Sync,
impl<E> Unpin for SegmentCommand32<E> where
E: Unpin,
impl<E> UnwindSafe for SegmentCommand32<E> where
E: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more