Struct object::elf::SectionHeader32 [−][src]
#[repr(C)]pub struct SectionHeader32<E: Endian> { pub sh_name: U32<E>, pub sh_type: U32<E>, pub sh_flags: U32<E>, pub sh_addr: U32<E>, pub sh_offset: U32<E>, pub sh_size: U32<E>, pub sh_link: U32<E>, pub sh_info: U32<E>, pub sh_addralign: U32<E>, pub sh_entsize: U32<E>, }
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: U32<E>Section flags. A combination of the SHF_* constants.
sh_addr: U32<E>Section virtual address at execution.
sh_offset: U32<E>Section file offset.
sh_size: U32<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: U32<E>Section alignment.
sh_entsize: U32<E>Entry size if the section holds a table.
Trait Implementations
impl<E: Clone + Endian> Clone for SectionHeader32<E>[src]
impl<E: Clone + Endian> Clone for SectionHeader32<E>[src]fn clone(&self) -> SectionHeader32<E>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<E: Debug + Endian> Debug for SectionHeader32<E>[src]
impl<E: Debug + Endian> Debug for SectionHeader32<E>[src]impl<Endian: Endian> SectionHeader for SectionHeader32<Endian>[src]
impl<Endian: Endian> SectionHeader for SectionHeader32<Endian>[src]type Elf = FileHeader32<Endian>
type Word = u32
type Endian = 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]
&self,
endian: Self::Endian,
strings: StringTable<'data>
) -> Result<&'data [u8]>
fn file_range(&self, endian: Self::Endian) -> Option<(u64, u64)>[src]
fn data<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Bytes<'data>, ()>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Bytes<'data>, ()>
fn data_as_array<'data, T: Pod>(
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<&'data [T], ()>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<&'data [T], ()>
fn symbols<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>,
sections: &SectionTable<'_, Self::Elf>,
section_index: usize
) -> Result<Option<SymbolTable<'data, Self::Elf>>>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>,
sections: &SectionTable<'_, Self::Elf>,
section_index: usize
) -> Result<Option<SymbolTable<'data, Self::Elf>>>
fn rel<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rel]>>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rel]>>
fn rela<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rela]>>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<&'data [<Self::Elf as FileHeader>::Rela]>>
fn relocation_symbols<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>,
sections: &SectionTable<'data, Self::Elf>
) -> Result<SymbolTable<'data, Self::Elf>>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>,
sections: &SectionTable<'data, Self::Elf>
) -> Result<SymbolTable<'data, Self::Elf>>
fn notes<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<NoteIterator<'data, Self::Elf>>>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<NoteIterator<'data, Self::Elf>>>
fn group<'data>(
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<(u32, &'data [U32Bytes<Self::Endian>])>>[src]
&self,
endian: Self::Endian,
data: Bytes<'data>
) -> Result<Option<(u32, &'data [U32Bytes<Self::Endian>])>>
impl<E: Copy + Endian> Copy for SectionHeader32<E>[src]
impl<E: Endian> Pod for SectionHeader32<E>[src]
Auto Trait Implementations
impl<E> Send for SectionHeader32<E> where
E: Send,
E: Send,
impl<E> Sync for SectionHeader32<E> where
E: Sync,
E: Sync,
impl<E> Unpin for SectionHeader32<E> where
E: Unpin,
E: Unpin,
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]
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
The resulting type after obtaining ownership.