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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use NonNull;
use *;
use crate::*;
/// Provides Captive Network Support with an updated list of
/// SSIDs that this application will perform authentication on.
///
/// Captive Network Support suppresses showing the Web Sheet
/// for a captive Wi-Fi network if that network's SSID is in the
/// specified list.
///
/// On iOS, the registrations persist until the application is
/// removed from the device.
///
/// On MacOSX, the registrations persist as long as the application
/// is running.
///
///
/// Parameter `ssidArray`: A CFArray of CFStrings of the SSIDs.
///
/// Returns: Returns TRUE if the operation succeeded, FALSE otherwise.
///
/// # Safety
///
/// `ssid_array` generic must be of the correct type.
pub unsafe extern "C-unwind"
/// Tells Captive Network Support that your application has
/// authenticated the device to the network. Captive Network Support
/// will notify the rest of the system that WiFi is now a viable
/// interface.
///
/// Parameter `interfaceName`: Name of the interface that is now online.
///
/// Returns: Returns TRUE if the operation succeeded, FALSE otherwise.
pub extern "C-unwind"
/// Tells Captive Network Support that the device is not
/// authenticated on the given network interface.
///
/// Parameter `interfaceName`: Name of the interface that is still captive.
///
/// Returns: Returns TRUE if the operation succeeded, FALSE otherwise.
pub extern "C-unwind"
/// copies a list of all interfaces CaptiveNetworkSupport is monitoring.
///
/// Returns: An array of CFStringRef- BSD interface names.
/// Returns NULL if an error was encountered.
/// You MUST release the returned value.
pub extern "C-unwind"
extern "C"
extern "C"
extern "C"
/// Returns the network information for the specified interface when the requesting application meets one of following 4 requirements -.
/// 1. application is using CoreLocation API and has the user's authorization to access location.
/// 2. application has used the NEHotspotConfiguration API to configure the current Wi-Fi network.
/// 3. application has active VPN configurations installed.
/// 4. application has active NEDNSSettingsManager configurations installed.
///
/// - An application will receive NULL if it is linked against iOS 19.0 SDK (or newer) regardless of fulfillment of the above requirements.
/// - An application that is linked against iOS 12.0 SDK and above must have the "com.apple.developer.networking.wifi-info" entitlement.
/// - An application will receive a pseudo network information if it is linked against an SDK before iOS 13.0, and if it fails to meet any of the
/// above requirements.
/// - An application will receive NULL if it is linked against iOS 13.0 SDK (or newer), and if it fails to meet any of the above requirements.
/// - On Mac Catalyst platform, to receive current Wi-Fi network information, an application must have "com.apple.developer.networking.wifi-info"
/// entitlement and user's authorization to access location.
///
/// Network Information dictionary will contain the following keys, and values:
/// <pre>
///
/// ```text
/// Keys : Values
/// =======================================
/// kCNNetworkInfoKeySSIDData : CFDataRef
/// kCNNetworkInfoKeySSID : CFStringRef
/// kCNNetworkInfoKeyBSSID : CFStringRef
/// ```
///
/// </pre>
///
/// Pseudo network information will contain "Wi-Fi" SSID and "00:00:00:00:00:00" BSSID. For China region, the SSID will be "WLAN".
///
/// Parameter `interfaceName`: Name of the interface you are interested in
///
/// Returns: Network Information dictionary associated with the interface.
/// Returns NULL if an error was encountered.
/// You MUST release the returned value.
pub extern "C-unwind"