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.