Struct object::read::elf::Note

source ·
pub struct Note<'data, Elf>
where Elf: FileHeader,
{ header: &'data Elf::NoteHeader, name: &'data [u8], desc: &'data [u8], }
Expand description

A parsed NoteHeader.

Fields§

§header: &'data Elf::NoteHeader§name: &'data [u8]§desc: &'data [u8]

Implementations§

source§

impl<'data, Elf: FileHeader> Note<'data, Elf>

source

pub fn n_type(&self, endian: Elf::Endian) -> u32

Return the n_type field of the NoteHeader.

The meaning of this field is determined by name.

source

pub fn n_namesz(&self, endian: Elf::Endian) -> u32

Return the n_namesz field of the NoteHeader.

source

pub fn n_descsz(&self, endian: Elf::Endian) -> u32

Return the n_descsz field of the NoteHeader.

source

pub fn name_bytes(&self) -> &'data [u8]

Return the bytes for the name field following the NoteHeader.

This field is usually a string including one or more trailing null bytes (but it is not required to be).

The length of this field is given by n_namesz.

source

pub fn name(&self) -> &'data [u8]

Return the bytes for the name field following the NoteHeader, excluding all trailing null bytes.

source

pub fn desc(&self) -> &'data [u8]

Return the bytes for the desc field following the NoteHeader.

The length of this field is given by n_descsz. The meaning of this field is determined by name and n_type.

source

pub fn gnu_properties( &self, endian: Elf::Endian, ) -> Option<GnuPropertyIterator<'data, Elf::Endian>>

Return an iterator for properties if this note’s type is elf::NT_GNU_PROPERTY_TYPE_0.

Trait Implementations§

source§

impl<'data, Elf> Debug for Note<'data, Elf>
where Elf: FileHeader + Debug, Elf::NoteHeader: Debug,

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'data, Elf> Freeze for Note<'data, Elf>

§

impl<'data, Elf> RefUnwindSafe for Note<'data, Elf>

§

impl<'data, Elf> Send for Note<'data, Elf>
where <Elf as FileHeader>::NoteHeader: Sync,

§

impl<'data, Elf> Sync for Note<'data, Elf>
where <Elf as FileHeader>::NoteHeader: Sync,

§

impl<'data, Elf> Unpin for Note<'data, Elf>

§

impl<'data, Elf> UnwindSafe for Note<'data, Elf>

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>,

§

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>,

§

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.