[−][src]Trait neli::Nl
Trait defining basic actions required for netlink communication.
Implementations for basic and neli
's types are provided (see below). Create new
implementations if you have to work with a Netlink API that uses
values of more unusual types.
Required methods
fn serialize(&self, m: &mut StreamWriteBuffer) -> Result<(), SerError>
Serialization method
fn deserialize<T>(m: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
T: AsRef<[u8]>,
Stateless deserialization method
fn size(&self) -> usize
The size of the binary representation of a struct - not aligned to word size
Provided methods
fn asize(&self) -> usize
The size of the binary representation of a struct - aligned to word size
fn pad(&self, m: &mut StreamWriteBuffer) -> Result<(), SerError>
Pad the data serialized data structure to alignment
fn strip<T>(&self, m: &mut StreamReadBuffer<T>) -> Result<(), DeError> where
T: AsRef<[u8]>,
T: AsRef<[u8]>,
Strip padding from the deserialization buffer
Implementations on Foreign Types
impl<T, P> Nl for Vec<Nlattr<T, P>> where
T: NlAttrType,
P: Nl,
[src]
T: NlAttrType,
P: Nl,
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(mem: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
fn asize(&self) -> usize
[src]
impl<'a, T> Nl for &'a [Nlattr<T, Vec<u8>>] where
T: NlAttrType,
[src]
T: NlAttrType,
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(_: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
fn asize(&self) -> usize
[src]
impl<T, P> Nl for Vec<Rtattr<T, P>> where
T: RtaType,
P: Nl,
[src]
T: RtaType,
P: Nl,
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for u8
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for u16
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for u32
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for i32
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for u64
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<'a> Nl for &'a [u8]
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(_m: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Vec<u8>
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(mem: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<'a> Nl for &'a str
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(_: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for String
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
Implementors
impl Nl for CtrlCmd
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for GenlId
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for NlmF
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Nlmsg
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Rtm
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for CtrlAttr
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for CtrlAttrMcastGrp
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Af
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Arphrd
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Ifa
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for IfaF
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Iff
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Ifla
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Ntf
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Nud
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for RtAddrFamily
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for RtScope
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for RtTable
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Rta
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for RtmF
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Rtn
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Rtprot
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Tca
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for AddrFamily
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for NlFamily
[src]
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(mem: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for NlEmpty
[src]
fn serialize(&self, _cur: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(_cur: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for NdaCacheinfo
[src]
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Ndmsg
[src]
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl Nl for Rtgenmsg
[src]
fn serialize(&self, m: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<T>(m: &mut StreamReadBuffer<T>) -> Result<Self, DeError> where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<C, T> Nl for Genlmsghdr<C, T> where
C: Cmd,
T: NlAttrType,
[src]
C: Cmd,
T: NlAttrType,
fn serialize(&self, cur: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(mem: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T> Nl for Nlmsgerr<T> where
T: NlType,
[src]
T: NlType,
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(mem: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T> Nl for Ifaddrmsg<T> where
T: RtaType,
[src]
T: RtaType,
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T> Nl for Ifinfomsg<T> where
T: RtaType,
[src]
T: RtaType,
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T> Nl for Rtmsg<T> where
T: RtaType,
[src]
T: RtaType,
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T> Nl for Tcmsg<T> where
T: RtaType,
[src]
T: RtaType,
fn serialize(&self, buf: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(buf: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T, P> Nl for Nlmsghdr<T, P> where
T: NlType,
P: Nl,
[src]
T: NlType,
P: Nl,
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(mem: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T, P> Nl for Nlattr<T, P> where
T: NlAttrType,
P: Nl,
[src]
T: NlAttrType,
P: Nl,
fn serialize(&self, mem: &mut StreamWriteBuffer) -> Result<(), SerError>
[src]
fn deserialize<B>(mem: &mut StreamReadBuffer<B>) -> Result<Self, DeError> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
fn size(&self) -> usize
[src]
impl<T, P> Nl for Rtattr<T, P> where
T: RtaType,
P: Nl,
[src]
T: RtaType,
P: Nl,