network_framework_sys/
path.rs

1use crate::*;
2
3use libc::c_int;
4
5
6pub enum nw_path {}
7pub type nw_path_t = *mut nw_path;
8
9pub type nw_path_status_t = c_int;
10pub const nw_path_status_invalid: nw_path_status_t     = 0;
11pub const nw_path_status_satisfied: nw_path_status_t   = 1;
12pub const nw_path_status_unsatisfied: nw_path_status_t = 2;
13pub const nw_path_status_satisfiable: nw_path_status_t = 3;
14
15
16extern "C" {
17    pub fn nw_path_get_status(path: nw_path_t) -> nw_path_status_t;
18    
19    // typedef bool (^nw_path_enumerate_interfaces_block_t)(nw_interface_t interface);
20    // pub fn nw_path_enumerate_interfaces(path: nw_path_t,
21    //                                     enumerate_block: nw_path_enumerate_interfaces_block_t);
22
23    pub fn nw_path_is_equal(path: nw_path_t, other_path: nw_path_t) -> bool;
24    pub fn nw_path_is_expensive(path: nw_path_t) -> bool;
25    pub fn nw_path_has_ipv4(path: nw_path_t) -> bool;
26    pub fn nw_path_has_ipv6(path: nw_path_t) -> bool;
27    pub fn nw_path_has_dns(path: nw_path_t) -> bool;
28    pub fn nw_path_uses_interface_type(path: nw_path_t,
29                                       interface_type: nw_interface_type_t) -> bool;
30    pub fn nw_path_copy_effective_local_endpoint(path: nw_path_t) -> nw_endpoint_t;
31    pub fn nw_path_copy_effective_remote_endpoint(path: nw_path_t) -> nw_endpoint_t;
32}