pub struct SymbolVersionRequirement<'a> { /* private fields */ }
Expand description

Structure which represents an entry in the DT_VERNEED or .gnu.version_r table

Implementations§

§

impl SymbolVersionRequirement<'_>

pub fn version(&self) -> u16

Version revision

This field should always have the value 1. It will be changed if the versioning implementation has to be changed in an incompatible way.

pub fn cnt(&self) -> u32

Number of auxiliary entries

pub fn name(&self) -> String

Return the library name associated with this requirement (e.g. libc.so.6)

pub fn auxiliary_symbols(&self) -> AuxiliarySymbols<'_>

Auxiliary entries as an iterator over SymbolVersionAuxRequirement

pub fn set_name(&mut self, name: &str)

pub fn set_version(&mut self, version: u16)

pub fn find_aux(&self, name: &str) -> Option<SymbolVersionAuxRequirement<'_>>

Try to find the SymbolVersionAuxRequirement with the given name (e.g. GLIBC_2.27)

pub fn remove_aux_requirement_by_name(&mut self, name: &str) -> bool

Try to remove the auxiliary requirement symbol with the given name. The function returns true if the operation succeed, false otherwise.

warning:

This function invalidates all the references of SymbolVersionAuxRequirement. Therefore, the user is reponsible to ensure that the auxiliary requirement is no longer used in the ELF binary (e.g. in SymbolVersion)

Trait Implementations§

§

impl Debug for SymbolVersionRequirement<'_>

§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.