Trait object::read::ObjectSegment
source · [−]pub trait ObjectSegment<'data>: Sealed {
fn address(&self) -> u64;
fn size(&self) -> u64;
fn align(&self) -> u64;
fn file_range(&self) -> (u64, u64);
fn data(&self) -> Result<&'data [u8]>;
fn data_range(&self, address: u64, size: u64) -> Result<Option<&'data [u8]>>;
fn name_bytes(&self) -> Result<Option<&[u8]>>;
fn name(&self) -> Result<Option<&str>>;
fn flags(&self) -> SegmentFlags;
}
Expand description
A loadable segment defined in an object file.
For ELF, this is a program header with type PT_LOAD
.
For Mach-O, this is a load command with type LC_SEGMENT
or LC_SEGMENT_64
.
Required methods
Returns a reference to the file contents of the segment.
The length of this data may be different from the size of the segment in memory.
Return the segment data in the given range.
Returns Ok(None)
if the segment does not contain the given range.
Returns the name of the segment.
Returns an error if the name is not UTF-8.
fn flags(&self) -> SegmentFlags
fn flags(&self) -> SegmentFlags
Return the flags of segment.