netlink_packet_route/link/
wireless.rs

1// SPDX-License-Identifier: MIT
2
3use netlink_packet_utils::{DecodeError, Emitable, Parseable};
4
5// Place holder for kernel code is `struct iw_event`
6#[derive(Debug, PartialEq, Eq, Clone, Default)]
7#[non_exhaustive]
8pub struct LinkWirelessEvent(Vec<u8>);
9
10impl<T: AsRef<[u8]> + ?Sized> Parseable<T> for LinkWirelessEvent {
11    type Error = DecodeError;
12    fn parse(buf: &T) -> Result<Self, DecodeError> {
13        Ok(LinkWirelessEvent(buf.as_ref().to_vec()))
14    }
15}
16
17impl Emitable for LinkWirelessEvent {
18    fn buffer_len(&self) -> usize {
19        self.0.len()
20    }
21
22    fn emit(&self, buffer: &mut [u8]) {
23        buffer.copy_from_slice(self.0.as_slice())
24    }
25}