#[derive(Debug, PartialEq)] pub enum PacketInfo { // V4 { src_ip: Ipv4, src_port: Port, dst_ip: Ipv4, dst_port: Port, protocol: Protocol, dns: bool, }, // V6 { src_ip: Ipv6, src_port: Port, dst_ip: Ipv6, dst_port: Port, protocol: Protocol, dns: bool, }, } #[derive(Debug, PartialEq)] pub enum Protocol { TCP, UDP, Unsupported(u8), } pub type SourceV4Ip = Ipv4; pub type SourceV6Ip = Ipv6; #[derive(PartialEq, Debug)] pub enum IpVersion { V4, V6, } pub type Ipv4 = [u8; 4]; pub type Ipv6 = [u16; 8]; pub type Port = u16; pub type GenericError = Box; pub type SniffedPacket = Result>; pub type Packet = [u8];