network_framework_sys/
parameters.rs1use crate::*;
2
3use libc::c_int;
4
5
6pub enum nw_parameters {}
7pub type nw_parameters_t = *mut nw_parameters;
8
9pub enum nw_protocol_stack {}
10pub type nw_protocol_stack_t = *mut nw_protocol_stack;
11
12pub type nw_service_class_t = c_int;
13pub const nw_service_class_best_effort: nw_service_class_t = 0;
14pub const nw_service_class_background: nw_service_class_t = 1;
15pub const nw_service_class_interactive_video: nw_service_class_t = 2;
16pub const nw_service_class_interactive_voice: nw_service_class_t = 3;
17pub const nw_service_class_responsive_data: nw_service_class_t = 4;
18pub const nw_service_class_signaling: nw_service_class_t = 5;
19
20pub type nw_multipath_service_t = c_int;
21pub const nw_multipath_service_disabled: nw_multipath_service_t = 0;
22pub const nw_multipath_service_handover: nw_multipath_service_t = 1;
23pub const nw_multipath_service_interactive: nw_multipath_service_t = 2;
24pub const nw_multipath_service_aggregate: nw_multipath_service_t = 3;
25
26pub type nw_parameters_expired_dns_behavior_t = c_int;
27pub const nw_parameters_expired_dns_behavior_default: nw_parameters_expired_dns_behavior_t = 0;
28pub const nw_parameters_expired_dns_behavior_allow: nw_parameters_expired_dns_behavior_t = 1;
29pub const nw_parameters_expired_dns_behavior_prohibit: nw_parameters_expired_dns_behavior_t = 2;
30
31
32extern "C" {
33 pub fn nw_parameters_create() -> nw_parameters_t;
42 pub fn nw_parameters_copy(parameters: nw_parameters_t) -> nw_parameters_t;
43 pub fn nw_parameters_require_interface(parameters: nw_parameters_t, interface: nw_interface_t);
44 pub fn nw_parameters_copy_required_interface(parameters: nw_parameters_t) -> nw_interface_t;
45 pub fn nw_parameters_prohibit_interface(parameters: nw_parameters_t, interface: nw_interface_t);
46 pub fn nw_parameters_clear_prohibited_interfaces(parameters: nw_parameters_t);
47
48 pub fn nw_parameters_set_required_interface_type(parameters: nw_parameters_t) -> nw_interface_type_t;
53 pub fn nw_parameters_prohibit_interface_type(parameters: nw_parameters_t, interface_type: nw_interface_type_t);
54 pub fn nw_parameters_clear_prohibited_interface_types(parameters: nw_parameters_t);
55
56 pub fn nw_parameters_set_prohibit_expensive(parameters: nw_parameters_t, prohibit_expensive: bool);
61 pub fn nw_parameters_get_prohibit_expensive(parameters: nw_parameters_t) -> bool;
62 pub fn nw_parameters_set_reuse_local_address(parameters: nw_parameters_t, reuse_local_address: bool);
63 pub fn nw_parameters_get_reuse_local_address(parameters: nw_parameters_t) -> bool;
64 pub fn nw_parameters_set_local_endpoint(parameters: nw_parameters_t, local_endpoint: nw_endpoint_t);
65 pub fn nw_parameters_copy_local_endpoint(parameters: nw_parameters_t) -> nw_endpoint_t;
66 pub fn nw_parameters_set_include_peer_to_peer(parameters: nw_parameters_t, include_peer_to_peer: bool);
67 pub fn nw_parameters_get_include_peer_to_peer(parameters: nw_parameters_t) -> bool;
68 pub fn nw_parameters_set_fast_open_enabled(parameters: nw_parameters_t, fast_open_enabled: bool);
69 pub fn nw_parameters_get_fast_open_enabled(parameters: nw_parameters_t) -> bool;
70
71 pub fn nw_parameters_set_service_class(parameters: nw_parameters_t, service_class: nw_service_class_t);
72 pub fn nw_parameters_get_service_class(parameters: nw_parameters_t) -> nw_service_class_t;
73
74 pub fn nw_parameters_set_multipath_service(parameters: nw_parameters_t, multipath_service: nw_multipath_service_t);
75 pub fn nw_parameters_get_multipath_service(parameters: nw_parameters_t) -> nw_multipath_service_t;
76
77 pub fn nw_parameters_copy_default_protocol_stack(parameters: nw_parameters_t) -> nw_protocol_stack_t;
78 pub fn nw_protocol_stack_prepend_application_protocol(stack: nw_protocol_stack_t, protocol: nw_protocol_options_t);
79
80 pub fn nw_protocol_stack_clear_application_protocols(stack: nw_protocol_stack_t);
81
82 pub fn nw_protocol_stack_copy_transport_protocol(stack: nw_protocol_stack_t) -> nw_protocol_options_t;
87 pub fn nw_protocol_stack_set_transport_protocol(stack: nw_protocol_stack_t, protocol: nw_protocol_options_t);
88 pub fn nw_protocol_stack_copy_internet_protocol(stack: nw_protocol_stack_t) -> nw_protocol_options_t;
89 pub fn nw_parameters_set_local_only(parameters: nw_parameters_t, local_only: bool);
90 pub fn nw_parameters_get_local_only(parameters: nw_parameters_t) -> bool;
91 pub fn nw_parameters_set_prefer_no_proxy(parameters: nw_parameters_t, prefer_no_proxy: bool);
92 pub fn nw_parameters_get_prefer_no_proxy(parameters: nw_parameters_t) -> bool;
93 pub fn nw_parameters_set_expired_dns_behavior(parameters: nw_parameters_t,
94 expired_dns_behavior: nw_parameters_expired_dns_behavior_t);
95 pub fn nw_parameters_get_expired_dns_behavior(parameters: nw_parameters_t) -> nw_parameters_expired_dns_behavior_t;
96
97}
98
99