Struct neli::genl::Genlmsghdr
source · 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: PartialEq, T: PartialEq, H: PartialEq> PartialEq<Genlmsghdr<C, T, H>> for Genlmsghdr<C, T, H>
impl<C: PartialEq, T: PartialEq, H: PartialEq> PartialEq<Genlmsghdr<C, T, H>> for Genlmsghdr<C, T, H>
source§fn eq(&self, other: &Genlmsghdr<C, T, H>) -> bool
fn eq(&self, other: &Genlmsghdr<C, T, H>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.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.