object::read::macho

Trait Section

Source
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§

Source

fn sectname(&self) -> &[u8; 16]

Source

fn segname(&self) -> &[u8; 16]

Source

fn addr(&self, endian: Self::Endian) -> Self::Word

Source

fn size(&self, endian: Self::Endian) -> Self::Word

Source

fn offset(&self, endian: Self::Endian) -> u32

Source

fn align(&self, endian: Self::Endian) -> u32

Source

fn reloff(&self, endian: Self::Endian) -> u32

Source

fn nreloc(&self, endian: Self::Endian) -> u32

Source

fn flags(&self, endian: Self::Endian) -> u32

Provided Methods§

Source

fn name(&self) -> &[u8]

Return the sectname bytes up until the null terminator.

Source

fn segment_name(&self) -> &[u8]

Return the segname bytes up until the null terminator.

Source

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.

Source

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.

Source

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.

Implementors§

Source§

impl<Endian: Endian> Section for Section32<Endian>

Source§

type Word = u32

Source§

type Endian = Endian

Source§

impl<Endian: Endian> Section for Section64<Endian>

Source§

type Word = u64

Source§

type Endian = Endian