Struct netlink_packet_utils::nla::NlaBuffer

source ·
pub struct NlaBuffer<T: AsRef<[u8]>> { /* private fields */ }

Implementations§

source§

impl<T: AsRef<[u8]>> NlaBuffer<T>

source

pub fn new(buffer: T) -> NlaBuffer<T>

source

pub fn new_checked(buffer: T) -> Result<NlaBuffer<T>, NlaError>

source

pub fn check_buffer_length(&self) -> Result<(), NlaError>

source

pub fn into_inner(self) -> T

Consume the buffer, returning the underlying buffer.

source

pub fn inner(&mut self) -> &T

Return a reference to the underlying buffer

source

pub fn inner_mut(&mut self) -> &mut T

Return a mutable reference to the underlying buffer

source

pub fn kind(&self) -> u16

Return the type field

source

pub fn nested_flag(&self) -> bool

source

pub fn network_byte_order_flag(&self) -> bool

source

pub fn length(&self) -> u16

Return the length field. The length field corresponds to the length of the nla header (type and length fields, and the value field). However, it does not account for the potential padding that follows the value field.

source

pub fn value_length(&self) -> usize

Return the length of the value field

§Panic

This panics if the length field value is less than the attribut header size.

source§

impl<T: AsRef<[u8]> + AsMut<[u8]>> NlaBuffer<T>

source

pub fn set_kind(&mut self, kind: u16)

Set the type field

source

pub fn set_nested_flag(&mut self)

source

pub fn set_network_byte_order_flag(&mut self)

source

pub fn set_length(&mut self, length: u16)

Set the length field

source§

impl<'buffer, T: AsRef<[u8]> + ?Sized> NlaBuffer<&'buffer T>

source

pub fn value(&self) -> &[u8]

Return the value field

source§

impl<'buffer, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> NlaBuffer<&'buffer mut T>

source

pub fn value_mut(&mut self) -> &mut [u8]

Return the value field

Trait Implementations§

source§

impl<T: Clone + AsRef<[u8]>> Clone for NlaBuffer<T>

source§

fn clone(&self) -> NlaBuffer<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug + AsRef<[u8]>> Debug for NlaBuffer<T>

source§

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

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

impl<'buffer, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'buffer T>> for DefaultNla

§

type Error = DecodeError

source§

fn parse(buf: &NlaBuffer<&'buffer T>) -> Result<Self, Self::Error>

Deserialize the current type.
source§

impl<T: PartialEq + AsRef<[u8]>> PartialEq for NlaBuffer<T>

source§

fn eq(&self, other: &NlaBuffer<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Copy + AsRef<[u8]>> Copy for NlaBuffer<T>

source§

impl<T: Eq + AsRef<[u8]>> Eq for NlaBuffer<T>

source§

impl<T: AsRef<[u8]>> StructuralPartialEq for NlaBuffer<T>

Auto Trait Implementations§

§

impl<T> Freeze for NlaBuffer<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for NlaBuffer<T>
where T: RefUnwindSafe,

§

impl<T> Send for NlaBuffer<T>
where T: Send,

§

impl<T> Sync for NlaBuffer<T>
where T: Sync,

§

impl<T> Unpin for NlaBuffer<T>
where T: Unpin,

§

impl<T> UnwindSafe for NlaBuffer<T>
where T: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.