use crate::{Boolean, Ipv4Address};
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct Ip4RouteTable {
pub subnet_addr: Ipv4Address,
pub subnet_mask: Ipv4Address,
pub gateway_addr: Ipv4Address,
}
#[derive(Debug)]
#[repr(C)]
pub struct Ip4ModeData {
pub is_started: Boolean,
pub max_packet_size: u32,
pub config_data: Ip4ConfigData,
pub is_configured: Boolean,
pub group_count: u32,
pub group_table: *const Ipv4Address,
pub route_count: u32,
pub route_table: *const Ip4RouteTable,
pub icmp_type_count: u32,
pub icmp_type_list: *const Ip4IcmpType,
}
#[derive(Debug)]
#[repr(C)]
pub struct Ip4IcmpType {
pub type_: u8,
pub code: u8,
}
#[derive(Debug)]
#[repr(C)]
pub struct Ip4ConfigData {
pub default_protocol: u8,
pub accept_any_protocol: Boolean,
pub accept_icmp_errors: Boolean,
pub accept_broadcast: Boolean,
pub accept_promiscuous: Boolean,
pub use_default_address: Boolean,
pub station_address: Ipv4Address,
pub subnet_mask: Ipv4Address,
pub type_of_service: u8,
pub time_to_live: u8,
pub do_not_fragment: Boolean,
pub raw_data: Boolean,
pub receive_timeout: u32,
pub transmit_timeout: u32,
}