]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/NetworkManagement/WindowsConnectionManager/mod.rs
New upstream version 1.62.1+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / NetworkManagement / WindowsConnectionManager / mod.rs
1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
5 #[cfg(feature = "Win32_Foundation")]
6 pub fn FreeInterfaceContextTable(interfacecontexttable: *const NET_INTERFACE_CONTEXT_TABLE);
7 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn GetInterfaceContextTableForHostName(hostname: ::windows_sys::core::PCWSTR, proxyname: ::windows_sys::core::PCWSTR, flags: u32, connectionprofilefilterrawdata: *const u8, connectionprofilefilterrawdatasize: u32, interfacecontexttable: *mut *mut NET_INTERFACE_CONTEXT_TABLE) -> ::windows_sys::core::HRESULT;
10 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
11 pub fn OnDemandGetRoutingHint(destinationhostname: ::windows_sys::core::PCWSTR, interfaceindex: *mut u32) -> ::windows_sys::core::HRESULT;
12 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
13 #[cfg(feature = "Win32_Foundation")]
14 pub fn OnDemandRegisterNotification(callback: ONDEMAND_NOTIFICATION_CALLBACK, callbackcontext: *const ::core::ffi::c_void, registrationhandle: *mut super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
15 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn OnDemandUnRegisterNotification(registrationhandle: super::super::Foundation::HANDLE) -> ::windows_sys::core::HRESULT;
18 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
19 pub fn WcmFreeMemory(pmemory: *mut ::core::ffi::c_void);
20 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
21 pub fn WcmGetProfileList(preserved: *mut ::core::ffi::c_void, ppprofilelist: *mut *mut WCM_PROFILE_INFO_LIST) -> u32;
22 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
23 pub fn WcmQueryProperty(pinterface: *const ::windows_sys::core::GUID, strprofilename: ::windows_sys::core::PCWSTR, property: WCM_PROPERTY, preserved: *mut ::core::ffi::c_void, pdwdatasize: *mut u32, ppdata: *mut *mut u8) -> u32;
24 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 pub fn WcmSetProfileList(pprofilelist: *const WCM_PROFILE_INFO_LIST, dwposition: u32, fignoreunknownprofiles: super::super::Foundation::BOOL, preserved: *mut ::core::ffi::c_void) -> u32;
27 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
28 pub fn WcmSetProperty(pinterface: *const ::windows_sys::core::GUID, strprofilename: ::windows_sys::core::PCWSTR, property: WCM_PROPERTY, preserved: *mut ::core::ffi::c_void, dwdatasize: u32, pbdata: *const u8) -> u32;
29 }
30 #[repr(C)]
31 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
32 pub struct NET_INTERFACE_CONTEXT {
33 pub InterfaceIndex: u32,
34 pub ConfigurationName: ::windows_sys::core::PWSTR,
35 }
36 impl ::core::marker::Copy for NET_INTERFACE_CONTEXT {}
37 impl ::core::clone::Clone for NET_INTERFACE_CONTEXT {
38 fn clone(&self) -> Self {
39 *self
40 }
41 }
42 #[repr(C)]
43 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
44 #[cfg(feature = "Win32_Foundation")]
45 pub struct NET_INTERFACE_CONTEXT_TABLE {
46 pub InterfaceContextHandle: super::super::Foundation::HANDLE,
47 pub NumberOfEntries: u32,
48 pub InterfaceContextArray: *mut NET_INTERFACE_CONTEXT,
49 }
50 #[cfg(feature = "Win32_Foundation")]
51 impl ::core::marker::Copy for NET_INTERFACE_CONTEXT_TABLE {}
52 #[cfg(feature = "Win32_Foundation")]
53 impl ::core::clone::Clone for NET_INTERFACE_CONTEXT_TABLE {
54 fn clone(&self) -> Self {
55 *self
56 }
57 }
58 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
59 pub const NET_INTERFACE_FLAG_CONNECT_IF_NEEDED: u32 = 1u32;
60 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
61 pub const NET_INTERFACE_FLAG_NONE: u32 = 0u32;
62 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
63 pub type ONDEMAND_NOTIFICATION_CALLBACK = ::core::option::Option<unsafe extern "system" fn(param0: *const ::core::ffi::c_void)>;
64 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
65 pub const WCM_API_VERSION: u32 = 1u32;
66 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
67 pub const WCM_API_VERSION_1_0: u32 = 1u32;
68 #[repr(C)]
69 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
70 #[cfg(feature = "Win32_Foundation")]
71 pub struct WCM_BILLING_CYCLE_INFO {
72 pub StartDate: super::super::Foundation::FILETIME,
73 pub Duration: WCM_TIME_INTERVAL,
74 pub Reset: super::super::Foundation::BOOL,
75 }
76 #[cfg(feature = "Win32_Foundation")]
77 impl ::core::marker::Copy for WCM_BILLING_CYCLE_INFO {}
78 #[cfg(feature = "Win32_Foundation")]
79 impl ::core::clone::Clone for WCM_BILLING_CYCLE_INFO {
80 fn clone(&self) -> Self {
81 *self
82 }
83 }
84 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
85 pub type WCM_CONNECTION_COST = i32;
86 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
87 pub const WCM_CONNECTION_COST_UNKNOWN: WCM_CONNECTION_COST = 0i32;
88 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
89 pub const WCM_CONNECTION_COST_UNRESTRICTED: WCM_CONNECTION_COST = 1i32;
90 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
91 pub const WCM_CONNECTION_COST_FIXED: WCM_CONNECTION_COST = 2i32;
92 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
93 pub const WCM_CONNECTION_COST_VARIABLE: WCM_CONNECTION_COST = 4i32;
94 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
95 pub const WCM_CONNECTION_COST_OVERDATALIMIT: WCM_CONNECTION_COST = 65536i32;
96 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
97 pub const WCM_CONNECTION_COST_CONGESTED: WCM_CONNECTION_COST = 131072i32;
98 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
99 pub const WCM_CONNECTION_COST_ROAMING: WCM_CONNECTION_COST = 262144i32;
100 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
101 pub const WCM_CONNECTION_COST_APPROACHINGDATALIMIT: WCM_CONNECTION_COST = 524288i32;
102 #[repr(C)]
103 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
104 pub struct WCM_CONNECTION_COST_DATA {
105 pub ConnectionCost: u32,
106 pub CostSource: WCM_CONNECTION_COST_SOURCE,
107 }
108 impl ::core::marker::Copy for WCM_CONNECTION_COST_DATA {}
109 impl ::core::clone::Clone for WCM_CONNECTION_COST_DATA {
110 fn clone(&self) -> Self {
111 *self
112 }
113 }
114 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
115 pub type WCM_CONNECTION_COST_SOURCE = i32;
116 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
117 pub const WCM_CONNECTION_COST_SOURCE_DEFAULT: WCM_CONNECTION_COST_SOURCE = 0i32;
118 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
119 pub const WCM_CONNECTION_COST_SOURCE_GP: WCM_CONNECTION_COST_SOURCE = 1i32;
120 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
121 pub const WCM_CONNECTION_COST_SOURCE_USER: WCM_CONNECTION_COST_SOURCE = 2i32;
122 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
123 pub const WCM_CONNECTION_COST_SOURCE_OPERATOR: WCM_CONNECTION_COST_SOURCE = 3i32;
124 #[repr(C)]
125 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
126 #[cfg(feature = "Win32_Foundation")]
127 pub struct WCM_DATAPLAN_STATUS {
128 pub UsageData: WCM_USAGE_DATA,
129 pub DataLimitInMegabytes: u32,
130 pub InboundBandwidthInKbps: u32,
131 pub OutboundBandwidthInKbps: u32,
132 pub BillingCycle: WCM_BILLING_CYCLE_INFO,
133 pub MaxTransferSizeInMegabytes: u32,
134 pub Reserved: u32,
135 }
136 #[cfg(feature = "Win32_Foundation")]
137 impl ::core::marker::Copy for WCM_DATAPLAN_STATUS {}
138 #[cfg(feature = "Win32_Foundation")]
139 impl ::core::clone::Clone for WCM_DATAPLAN_STATUS {
140 fn clone(&self) -> Self {
141 *self
142 }
143 }
144 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
145 pub const WCM_MAX_PROFILE_NAME: u32 = 256u32;
146 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
147 pub type WCM_MEDIA_TYPE = i32;
148 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
149 pub const wcm_media_unknown: WCM_MEDIA_TYPE = 0i32;
150 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
151 pub const wcm_media_ethernet: WCM_MEDIA_TYPE = 1i32;
152 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
153 pub const wcm_media_wlan: WCM_MEDIA_TYPE = 2i32;
154 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
155 pub const wcm_media_mbn: WCM_MEDIA_TYPE = 3i32;
156 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
157 pub const wcm_media_invalid: WCM_MEDIA_TYPE = 4i32;
158 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
159 pub const wcm_media_max: WCM_MEDIA_TYPE = 5i32;
160 #[repr(C)]
161 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
162 #[cfg(feature = "Win32_Foundation")]
163 pub struct WCM_POLICY_VALUE {
164 pub fValue: super::super::Foundation::BOOL,
165 pub fIsGroupPolicy: super::super::Foundation::BOOL,
166 }
167 #[cfg(feature = "Win32_Foundation")]
168 impl ::core::marker::Copy for WCM_POLICY_VALUE {}
169 #[cfg(feature = "Win32_Foundation")]
170 impl ::core::clone::Clone for WCM_POLICY_VALUE {
171 fn clone(&self) -> Self {
172 *self
173 }
174 }
175 #[repr(C)]
176 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
177 pub struct WCM_PROFILE_INFO {
178 pub strProfileName: [u16; 256],
179 pub AdapterGUID: ::windows_sys::core::GUID,
180 pub Media: WCM_MEDIA_TYPE,
181 }
182 impl ::core::marker::Copy for WCM_PROFILE_INFO {}
183 impl ::core::clone::Clone for WCM_PROFILE_INFO {
184 fn clone(&self) -> Self {
185 *self
186 }
187 }
188 #[repr(C)]
189 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
190 pub struct WCM_PROFILE_INFO_LIST {
191 pub dwNumberOfItems: u32,
192 pub ProfileInfo: [WCM_PROFILE_INFO; 1],
193 }
194 impl ::core::marker::Copy for WCM_PROFILE_INFO_LIST {}
195 impl ::core::clone::Clone for WCM_PROFILE_INFO_LIST {
196 fn clone(&self) -> Self {
197 *self
198 }
199 }
200 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
201 pub type WCM_PROPERTY = i32;
202 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
203 pub const wcm_global_property_domain_policy: WCM_PROPERTY = 0i32;
204 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
205 pub const wcm_global_property_minimize_policy: WCM_PROPERTY = 1i32;
206 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
207 pub const wcm_global_property_roaming_policy: WCM_PROPERTY = 2i32;
208 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
209 pub const wcm_global_property_powermanagement_policy: WCM_PROPERTY = 3i32;
210 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
211 pub const wcm_intf_property_connection_cost: WCM_PROPERTY = 4i32;
212 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
213 pub const wcm_intf_property_dataplan_status: WCM_PROPERTY = 5i32;
214 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
215 pub const wcm_intf_property_hotspot_profile: WCM_PROPERTY = 6i32;
216 #[repr(C)]
217 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
218 pub struct WCM_TIME_INTERVAL {
219 pub wYear: u16,
220 pub wMonth: u16,
221 pub wDay: u16,
222 pub wHour: u16,
223 pub wMinute: u16,
224 pub wSecond: u16,
225 pub wMilliseconds: u16,
226 }
227 impl ::core::marker::Copy for WCM_TIME_INTERVAL {}
228 impl ::core::clone::Clone for WCM_TIME_INTERVAL {
229 fn clone(&self) -> Self {
230 *self
231 }
232 }
233 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`*"]
234 pub const WCM_UNKNOWN_DATAPLAN_STATUS: u32 = 4294967295u32;
235 #[repr(C)]
236 #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsConnectionManager\"`, `\"Win32_Foundation\"`*"]
237 #[cfg(feature = "Win32_Foundation")]
238 pub struct WCM_USAGE_DATA {
239 pub UsageInMegabytes: u32,
240 pub LastSyncTime: super::super::Foundation::FILETIME,
241 }
242 #[cfg(feature = "Win32_Foundation")]
243 impl ::core::marker::Copy for WCM_USAGE_DATA {}
244 #[cfg(feature = "Win32_Foundation")]
245 impl ::core::clone::Clone for WCM_USAGE_DATA {
246 fn clone(&self) -> Self {
247 *self
248 }
249 }