1 pub mod ffi; 2 pub use ffi::ifaces; 3 4 #[derive(PartialEq, Eq, Debug, Clone)] 5 pub enum NextHop { 6 Broadcast(::std::net::SocketAddr), 7 Destination(::std::net::SocketAddr), 8 } 9 10 #[derive(PartialEq, Eq, Debug, Clone)] 11 pub enum Kind { 12 Packet, 13 Link, 14 Ipv4, 15 Ipv6, 16 Unknow(i32), 17 } 18 19 #[derive(Debug, Clone)] 20 pub struct Interface { 21 pub name: String, 22 pub kind: Kind, 23 pub addr: Option<::std::net::SocketAddr>, 24 pub mask: Option<::std::net::SocketAddr>, 25 pub hop: Option<NextHop>, 26 } 27