1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/// Wrapper for bpf_program to ensure correct drops #[derive(Debug)] pub struct Bpf { inner: pcap_sys::bpf_program, } impl Bpf { pub fn new(inner: pcap_sys::bpf_program) -> Bpf { Bpf { inner } } pub fn inner_mut(&mut self) -> &mut pcap_sys::bpf_program { &mut self.inner } } impl Drop for Bpf { fn drop(&mut self) { unsafe { pcap_sys::pcap_freecode(&mut self.inner); } } }