pub struct SectionHeaderRef<'a> { /* private fields */ }
Implementations§
Source§impl<'a> SectionHeaderRef<'a>
impl<'a> SectionHeaderRef<'a>
pub fn raw(&self) -> &SectionHeader
Source§impl<'a> SectionHeaderRef<'a>
impl<'a> SectionHeaderRef<'a>
pub fn content(&self) -> Result<&'a [u8]>
pub fn name(&self) -> Result<&'a str>
Sourcepub fn data(&self) -> Result<SectionData<'a>>
pub fn data(&self) -> Result<SectionData<'a>>
Examples found in repository?
examples/basic.rs (line 13)
3fn main() -> elflib::Result<()> {
4 // let mut content = std::fs::read("/lib/modules/6.2.0-34-generic/kernel/net/nfc/nfc.ko").unwrap();
5 // let mut content = std::fs::read("/usr/bin/ls").unwrap();
6 let mut content =
7 std::fs::read("./test_binaries/build/mips64-linux-gnuabi64-gcc-main").unwrap();
8
9 let parser = ElfParser::new(&mut content)?;
10 let sections = parser.section_headers()?;
11 for section_res in sections {
12 let section = section_res?;
13 match section.data()? {
14 elflib::SectionData::RelocationSection(rel_section) => {
15 for rel_entry_res in rel_section.entries {
16 let rel_entry = rel_entry_res?;
17 println!("{:?}", rel_entry);
18 }
19 }
20 elflib::SectionData::SymbolTable(symbol_entries) => {
21 for symbol_res in symbol_entries {
22 let symbol = symbol_res?;
23 println!("{:?}", symbol.name());
24 }
25 }
26 _ => {}
27 }
28 }
29 Ok(())
30}
Methods from Deref<Target = SectionHeader>§
pub fn address(&self) -> u64
pub fn address_alignemnt(&self) -> u64
pub fn entry_size(&self) -> u64
pub fn flags(&self) -> SectionHeaderFlags
pub fn info(&self) -> u32
pub fn link(&self) -> u32
pub fn name_offset(&self) -> u32
pub fn offset(&self) -> u64
pub fn size(&self) -> u64
pub fn ty(&self) -> &SectionHeaderType
Trait Implementations§
Source§impl<'a> Clone for SectionHeaderRef<'a>
impl<'a> Clone for SectionHeaderRef<'a>
Source§fn clone(&self) -> SectionHeaderRef<'a>
fn clone(&self) -> SectionHeaderRef<'a>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a> Debug for SectionHeaderRef<'a>
impl<'a> Debug for SectionHeaderRef<'a>
Source§impl<'a> Deref for SectionHeaderRef<'a>
impl<'a> Deref for SectionHeaderRef<'a>
Source§impl<'a> VariantStructBinarySerde<'a> for SectionHeaderRef<'a>
impl<'a> VariantStructBinarySerde<'a> for SectionHeaderRef<'a>
type Context = ()
fn deserialize( deserializer: &mut BinaryDeserializerFromBufSafe<'a>, parser: &ElfParser<'a>, context: (), ) -> Result<Self, BinarySerdeBufSafeError>
fn record_len(file_info: &ElfFileInfo) -> usize
fn serialize(&self, buf: &mut [u8], endianness: Endianness)
Auto Trait Implementations§
impl<'a> Freeze for SectionHeaderRef<'a>
impl<'a> RefUnwindSafe for SectionHeaderRef<'a>
impl<'a> Send for SectionHeaderRef<'a>
impl<'a> Sync for SectionHeaderRef<'a>
impl<'a> Unpin for SectionHeaderRef<'a>
impl<'a> UnwindSafe for SectionHeaderRef<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more