#[repr(C)]pub struct Section64<E: Endian> {
pub sectname: [u8; 16],
pub segname: [u8; 16],
pub addr: U64<E>,
pub size: U64<E>,
pub offset: U32<E>,
pub align: U32<E>,
pub reloff: U32<E>,
pub nreloc: U32<E>,
pub flags: U32<E>,
pub reserved1: U32<E>,
pub reserved2: U32<E>,
pub reserved3: U32<E>,
}
Expand description
64-bit section.
Fields
sectname: [u8; 16]
name of this section
segname: [u8; 16]
segment this section goes in
addr: U64<E>
memory address of this section
size: U64<E>
size in bytes of this section
offset: U32<E>
file offset of this section
align: U32<E>
section alignment (power of 2)
reloff: U32<E>
file offset of relocation entries
nreloc: U32<E>
number of relocation entries
flags: U32<E>
flags (section type and attributes)
reserved1: U32<E>
reserved (for offset or index)
reserved2: U32<E>
reserved (for count or sizeof)
reserved3: U32<E>
reserved
Trait Implementations
sourceimpl<Endian: Endian> Section for Section64<Endian>
impl<Endian: Endian> Section for Section64<Endian>
type Word = u64
type Endian = Endian
fn sectname(&self) -> &[u8; 16]
fn segname(&self) -> &[u8; 16]
fn addr(&self, endian: Self::Endian) -> Self::Word
fn size(&self, endian: Self::Endian) -> Self::Word
fn offset(&self, endian: Self::Endian) -> u32
fn align(&self, endian: Self::Endian) -> u32
fn reloff(&self, endian: Self::Endian) -> u32
fn nreloc(&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 sectname
bytes up until the null terminator.
sourcefn segment_name(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
fn segment_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) -> Option<(u64, u64)>
fn file_range(&self, endian: Self::Endian) -> Option<(u64, u64)>
Return the offset and size of the section in the file. Read more
sourcefn data<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [u8], ()>
fn data<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [u8], ()>
Return the section data. Read more
sourcefn relocations<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [Relocation<Self::Endian>]>
fn relocations<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [Relocation<Self::Endian>]>
Return the relocation array. Read more
impl<E: Copy + Endian> Copy for Section64<E>
impl<E: Endian> Pod for Section64<E>
Auto Trait Implementations
impl<E> RefUnwindSafe for Section64<E> where
E: RefUnwindSafe,
impl<E> Send for Section64<E> where
E: Send,
impl<E> Sync for Section64<E> where
E: Sync,
impl<E> Unpin for Section64<E> where
E: Unpin,
impl<E> UnwindSafe for Section64<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 · sourcefn borrow_mut(&mut self) -> &mut T
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.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more