Struct VerDef

Source
pub struct VerDef {
    pub vd_flags: u16,
    pub vd_ndx: u16,
    pub vd_cnt: u16,
    pub vd_hash: u32,
    /* private fields */
}
Expand description

The special GNU extension section .gnu.version_d has a section type of SHT_GNU_VERDEF This section shall contain symbol version definitions. The number of entries in this section shall be contained in the DT_VERDEFNUM entry of the Dynamic Section .dynamic, and also the sh_info member of the section header. The sh_link member of the section header shall point to the section that contains the strings referenced by this section.

The .gnu.version_d section shall contain an array of VerDef structures optionally followed by an array of VerDefAux structures.

Fields§

§vd_flags: u16

Version information flag bitmask.

§vd_ndx: u16

VersionIndex value referencing the SHT_GNU_VERSYM section.

§vd_cnt: u16

Number of associated verdaux array entries.

§vd_hash: u32

Version name hash value (ELF hash function).

Trait Implementations§

Source§

impl Debug for VerDef

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ParseAt for VerDef

Source§

fn parse_at<E: EndianParse>( endian: E, _class: Class, offset: &mut usize, data: &[u8], ) -> Result<Self, ParseError>

Parse this type by using the given endian-awareness and ELF class layout. This is generic on EndianParse in order to allow users to optimize for their expectations of data layout. See EndianParse for more details.
Source§

fn size_for(_class: Class) -> usize

Returns the expected size of the type being parsed for the given ELF class
Source§

fn validate_entsize(class: Class, entsize: usize) -> Result<usize, ParseError>

Checks whether the given entsize matches what we need to parse this type Read more
Source§

impl PartialEq for VerDef

Source§

fn eq(&self, other: &VerDef) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for VerDef

Source§

impl StructuralPartialEq for VerDef

Auto Trait Implementations§

§

impl Freeze for VerDef

§

impl RefUnwindSafe for VerDef

§

impl Send for VerDef

§

impl Sync for VerDef

§

impl Unpin for VerDef

§

impl UnwindSafe for VerDef

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.