pub struct Genlmsghdr<C, T, H = NoUserHeader> {
pub cmd: C,
pub version: u8,
pub header: H,
/* private fields */
}
Expand description
Struct representing generic netlink header and payload
Fields§
§cmd: C
Generic netlink message command
version: u8
Version of generic netlink family protocol
header: H
User specific header to send with netlink packet; defaults to an empty type to maintain backwards compatibility
Implementations§
Source§impl<C, T> Genlmsghdr<C, T>where
C: Cmd,
T: NlAttrType,
impl<C, T> Genlmsghdr<C, T>where
C: Cmd,
T: NlAttrType,
Sourcepub fn new(cmd: C, version: u8, attrs: GenlBuffer<T, Buffer>) -> Self
pub fn new(cmd: C, version: u8, attrs: GenlBuffer<T, Buffer>) -> Self
Create new generic netlink packet
Sourcepub fn get_attr_handle(
&self,
) -> AttrHandle<'_, GenlBuffer<T, Buffer>, Nlattr<T, Buffer>>
pub fn get_attr_handle( &self, ) -> AttrHandle<'_, GenlBuffer<T, Buffer>, Nlattr<T, Buffer>>
Get handle for attribute parsing and traversal
Sourcepub fn get_attr_handle_mut(
&mut self,
) -> AttrHandleMut<'_, GenlBuffer<T, Buffer>, Nlattr<T, Buffer>>
pub fn get_attr_handle_mut( &mut self, ) -> AttrHandleMut<'_, GenlBuffer<T, Buffer>, Nlattr<T, Buffer>>
Get handle for attribute mutable and traversal
Source§impl<C, T, H> Genlmsghdr<C, T, H>
impl<C, T, H> Genlmsghdr<C, T, H>
Sourcepub fn new_with_user_header(
cmd: C,
version: u8,
header: H,
attrs: GenlBuffer<T, Buffer>,
) -> Self
pub fn new_with_user_header( cmd: C, version: u8, header: H, attrs: GenlBuffer<T, Buffer>, ) -> Self
Create a new netlink struct with a user header
Trait Implementations§
Source§impl<'lifetime, C: Cmd + TypeSize, T: NlAttrType, H: TypeSize + FromBytes<'lifetime>> FromBytesWithInput<'lifetime> for Genlmsghdr<C, T, H>
impl<'lifetime, C: Cmd + TypeSize, T: NlAttrType, H: TypeSize + FromBytes<'lifetime>> FromBytesWithInput<'lifetime> for Genlmsghdr<C, T, H>
Source§impl<C: TypeSize, T, H: TypeSize> Header for Genlmsghdr<C, T, H>
impl<C: TypeSize, T, H: TypeSize> Header for Genlmsghdr<C, T, H>
Source§fn header_size() -> usize
fn header_size() -> usize
Return the size in bytes of the data structure header.
Source§impl<C: Size, T: Size, H: Size> Size for Genlmsghdr<C, T, H>
impl<C: Size, T: Size, H: Size> Size for Genlmsghdr<C, T, H>
Source§fn unpadded_size(&self) -> usize
fn unpadded_size(&self) -> usize
Size of the unpadded data structure. This will usually
only be unaligned for variable length types like
strings or byte buffers.
Source§fn padded_size(&self) -> usize
fn padded_size(&self) -> usize
Get the size of of the payload and align it to
the required netlink byte alignment.
Source§impl<C: Cmd, T: NlAttrType, H: ToBytes> ToBytes for Genlmsghdr<C, T, H>
impl<C: Cmd, T: NlAttrType, H: ToBytes> ToBytes for Genlmsghdr<C, T, H>
impl<C: Eq, T: Eq, H: Eq> Eq for Genlmsghdr<C, T, H>
impl<C, T, H> StructuralPartialEq for Genlmsghdr<C, T, H>
Auto Trait Implementations§
impl<C, T, H> Freeze for Genlmsghdr<C, T, H>
impl<C, T, H> RefUnwindSafe for Genlmsghdr<C, T, H>
impl<C, T, H> Send for Genlmsghdr<C, T, H>
impl<C, T, H> Sync for Genlmsghdr<C, T, H>
impl<C, T, H> Unpin for Genlmsghdr<C, T, H>
impl<C, T, H> UnwindSafe for Genlmsghdr<C, T, H>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more