[−][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 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 LogCmd[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 LogCopyMode[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 NetfilterMsg[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 NfLogAttr[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 NfLogCfg[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 IflaInfo[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 Nda[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 LogConfigMode[src]
fn serialize(&self, m: &mut StreamWriteBuffer) -> Result<(), SerError>[src]
fn deserialize<B: AsRef<[u8]>>(
m: &mut StreamReadBuffer<B>
) -> Result<Self, DeError>[src]
m: &mut StreamReadBuffer<B>
) -> Result<Self, DeError>
fn size(&self) -> usize[src]
impl Nl for LogConfigReq[src]
fn serialize(&self, m: &mut StreamWriteBuffer) -> Result<(), SerError>[src]
fn deserialize<B: AsRef<[u8]>>(
_m: &mut StreamReadBuffer<B>
) -> Result<Self, DeError>[src]
_m: &mut StreamReadBuffer<B>
) -> Result<Self, DeError>
fn size(&self) -> usize[src]
impl Nl for LogPacket[src]
fn serialize(&self, _: &mut StreamWriteBuffer) -> Result<(), SerError>[src]
fn deserialize<B: AsRef<[u8]>>(
m: &mut StreamReadBuffer<B>
) -> Result<Self, DeError>[src]
m: &mut StreamReadBuffer<B>
) -> Result<Self, DeError>
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 Ifaddrmsg[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 Ifinfomsg[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 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 Nl for Rtmsg[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 Tcmsg[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<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, 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,
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 Rtattrs<T, P> where
T: RtaType,
P: Nl, [src]
T: RtaType,
P: Nl,