pub trait Section: Debug + Pod {
type Word: Into<u64>;
type Endian: Endian;
Show 14 methods
// Required methods
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;
// Provided methods
fn name(&self) -> &[u8] ⓘ { ... }
fn segment_name(&self) -> &[u8] ⓘ { ... }
fn file_range(&self, endian: Self::Endian) -> Option<(u64, u64)> { ... }
fn data<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
) -> Result<&'data [u8], ()> { ... }
fn relocations<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
) -> Result<&'data [Relocation<Self::Endian>]> { ... }
}
Expand description
A trait for generic access to Section32
and Section64
.
Required Associated Types§
Required Methods§
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
Provided Methods§
Sourcefn segment_name(&self) -> &[u8] ⓘ
fn segment_name(&self) -> &[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.
Returns None
for sections that have no data in the file.
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.
Returns Ok(&[])
if the section has no data.
Returns Err
for invalid values.
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.
Returns Err
for invalid values.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.