#[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];