extern crate radiotap;
use radiotap::{field, Error, RadiotapIterator};
#[derive(Debug)]
struct MyAntennaSignal {
value: i8,
}
impl field::Field for MyAntennaSignal {
fn from_bytes(input: &[u8]) -> Result<MyAntennaSignal, Error> {
Ok(MyAntennaSignal {
value: input[0] as i8,
})
}
}
fn main() {
let capture = [
0, 0, 56, 0, 107, 8, 52, 0, 185, 31, 155, 154, 0, 0, 0, 0, 20, 0, 124, 21, 64, 1, 213, 166,
1, 0, 0, 0, 64, 1, 1, 0, 124, 21, 100, 34, 249, 1, 0, 0, 0, 0, 0, 0, 255, 1, 80, 4, 115, 0,
0, 0, 1, 63, 0, 0,
];
for element in RadiotapIterator::from_bytes(&capture).unwrap() {
match element {
Ok((field::Kind::AntennaSignal, data)) => {
let signal: MyAntennaSignal = field::from_bytes(data).unwrap();
println!("{:?}", signal);
}
_ => {}
}
}
}