Struct object::elf::SectionHeader64 [−][src]
#[repr(C)]pub struct SectionHeader64<E: Endian> { pub sh_name: U32<E>, pub sh_type: U32<E>, pub sh_flags: U64<E>, pub sh_addr: U64<E>, pub sh_offset: U64<E>, pub sh_size: U64<E>, pub sh_link: U32<E>, pub sh_info: U32<E>, pub sh_addralign: U64<E>, pub sh_entsize: U64<E>, }
Expand description
Section header.
Fields
sh_name: U32<E>
Section name.
This is an offset into the section header string table.
sh_type: U32<E>
Section type. One of the SHT_*
constants.
sh_flags: U64<E>
Section flags. A combination of the SHF_*
constants.
sh_addr: U64<E>
Section virtual address at execution.
sh_offset: U64<E>
Section file offset.
sh_size: U64<E>
Section size in bytes.
sh_link: U32<E>
Link to another section.
The section relationship depends on the sh_type
value.
sh_info: U32<E>
Additional section information.
The meaning of this field depends on the sh_type
value.
sh_addralign: U64<E>
Section alignment.
sh_entsize: U64<E>
Entry size if the section holds a table.
Trait Implementations
impl<E: Clone + Endian> Clone for SectionHeader64<E>
[src]
impl<E: Clone + Endian> Clone for SectionHeader64<E>
[src]fn clone(&self) -> SectionHeader64<E>
[src]
fn clone(&self) -> SectionHeader64<E>
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl<E: Debug + Endian> Debug for SectionHeader64<E>
[src]
impl<E: Debug + Endian> Debug for SectionHeader64<E>
[src]impl<Endian: Endian> SectionHeader for SectionHeader64<Endian>
[src]
impl<Endian: Endian> SectionHeader for SectionHeader64<Endian>
[src]type Word = u64
type Endian = Endian
type Elf = FileHeader64<Endian>
fn sh_name(&self, endian: Self::Endian) -> u32
[src]
fn sh_type(&self, endian: Self::Endian) -> u32
[src]
fn sh_flags(&self, endian: Self::Endian) -> Self::Word
[src]
fn sh_addr(&self, endian: Self::Endian) -> Self::Word
[src]
fn sh_offset(&self, endian: Self::Endian) -> Self::Word
[src]
fn sh_size(&self, endian: Self::Endian) -> Self::Word
[src]
fn sh_link(&self, endian: Self::Endian) -> u32
[src]
fn sh_info(&self, endian: Self::Endian) -> u32
[src]
fn sh_addralign(&self, endian: Self::Endian) -> Self::Word
[src]
fn sh_entsize(&self, endian: Self::Endian) -> Self::Word
[src]
fn name<'data>(
&self,
endian: Self::Endian,
strings: StringTable<'data>
) -> Result<&'data [u8]>
[src]
fn name<'data>(
&self,
endian: Self::Endian,
strings: StringTable<'data>
) -> Result<&'data [u8]>
[src]Parse the section name from the string table.
fn file_range(&self, endian: Self::Endian) -> Option<(u64, u64)>
[src]
fn file_range(&self, endian: Self::Endian) -> Option<(u64, u64)>
[src]Return the offset and size of the section in the file. Read more
fn data<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [u8], ()>
[src]
fn data<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [u8], ()>
[src]Return the section data. Read more
fn data_as_array<'data, T: Pod, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [T], ()>
[src]
fn data_as_array<'data, T: Pod, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<&'data [T], ()>
[src]Return the section data as a slice of the given type. Read more
fn symbols<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
sections: &SectionTable<'_, Self::Elf>,
section_index: usize
) -> Result<Option<SymbolTable<'data, Self::Elf>>>
[src]
fn symbols<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
sections: &SectionTable<'_, Self::Elf>,
section_index: usize
) -> Result<Option<SymbolTable<'data, Self::Elf>>>
[src]Return the symbols in the section. Read more
fn rel<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rel]>>
[src]
fn rel<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rel]>>
[src]Return the Elf::Rel
entries in the section. Read more
fn rela<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rela]>>
[src]
fn rela<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rela]>>
[src]Return the Elf::Rela
entries in the section. Read more
fn relocation_symbols<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
sections: &SectionTable<'data, Self::Elf>
) -> Result<SymbolTable<'data, Self::Elf>>
[src]
fn relocation_symbols<'data, R: ReadRef<'data>>(
&self,
endian: Self::Endian,
data: R,
sections: &SectionTable<'data, Self::Elf>
) -> Result<SymbolTable<'data, Self::Elf>>
[src]Return the symbol table for a relocation section. Read more
impl<E: Copy + Endian> Copy for SectionHeader64<E>
[src]
impl<E: Endian> Pod for SectionHeader64<E>
[src]
Auto Trait Implementations
impl<E> RefUnwindSafe for SectionHeader64<E> where
E: RefUnwindSafe,
E: RefUnwindSafe,
impl<E> Send for SectionHeader64<E> where
E: Send,
E: Send,
impl<E> Sync for SectionHeader64<E> where
E: Sync,
E: Sync,
impl<E> Unpin for SectionHeader64<E> where
E: Unpin,
E: Unpin,
impl<E> UnwindSafe for SectionHeader64<E> where
E: UnwindSafe,
E: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more