1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
use crate::*; use libc::c_int; pub type nw_ip_version_t = c_int; pub const nw_ip_version_any: nw_ip_version_t = 0; pub const nw_ip_version_4: nw_ip_version_t = 4; pub const nw_ip_version_6: nw_ip_version_t = 6; pub type nw_ip_ecn_flag_t = c_int; pub const nw_ip_ecn_flag_non_ect: nw_ip_ecn_flag_t = 0; pub const nw_ip_ecn_flag_ect_0: nw_ip_ecn_flag_t = 2; pub const nw_ip_ecn_flag_ect_1: nw_ip_ecn_flag_t = 1; pub const nw_ip_ecn_flag_ce: nw_ip_ecn_flag_t = 3; extern "C" { pub fn nw_protocol_copy_ip_definition() -> nw_protocol_definition_t; pub fn nw_ip_options_set_version(options: nw_protocol_options_t, version: nw_ip_version_t); pub fn nw_ip_options_set_hop_limit(options: nw_protocol_options_t, hop_limit: u8); pub fn nw_ip_options_set_use_minimum_mtu(options: nw_protocol_options_t, use_minimum_mtu: bool); pub fn nw_ip_options_set_disable_fragmentation(options: nw_protocol_options_t, disable_fragmentation: bool); pub fn nw_ip_options_set_calculate_receive_time(options: nw_protocol_options_t, calculate_receive_time: bool); pub fn nw_ip_create_metadata() -> nw_protocol_metadata_t; pub fn nw_protocol_metadata_is_ip(metadata: nw_protocol_metadata_t) -> bool; pub fn nw_ip_metadata_set_ecn_flag(metadata: nw_protocol_metadata_t, ecn_flag: nw_ip_ecn_flag_t); pub fn nw_ip_metadata_get_ecn_flag(metadata: nw_protocol_metadata_t) -> nw_ip_ecn_flag_t; pub fn nw_ip_metadata_set_service_class(metadata: nw_protocol_metadata_t, service_class: nw_service_class_t); pub fn nw_ip_metadata_get_service_class(metadata: nw_protocol_metadata_t) -> nw_service_class_t; pub fn nw_ip_metadata_get_receive_time(metadata: nw_protocol_metadata_t) -> u64; }