1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct ARP_HARDWARE_TYPE(pub i32);
5 pub const ARP_HW_ENET: ARP_HARDWARE_TYPE = ARP_HARDWARE_TYPE(1i32);
6 pub const ARP_HW_802: ARP_HARDWARE_TYPE = ARP_HARDWARE_TYPE(6i32);
7 impl ::std::convert::From<i32> for ARP_HARDWARE_TYPE {
from(value: i32) -> Self8     fn from(value: i32) -> Self {
9         Self(value)
10     }
11 }
12 unsafe impl ::windows::runtime::Abi for ARP_HARDWARE_TYPE {
13     type Abi = Self;
14     type DefaultType = Self;
15 }
16 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
17 #[repr(C)]
18 pub struct ARP_HEADER {
19     pub HardwareAddressSpace: u16,
20     pub ProtocolAddressSpace: u16,
21     pub HardwareAddressLength: u8,
22     pub ProtocolAddressLength: u8,
23     pub Opcode: u16,
24     pub SenderHardwareAddress: [u8; 1],
25 }
26 impl ARP_HEADER {}
27 impl ::std::default::Default for ARP_HEADER {
default() -> Self28     fn default() -> Self {
29         unsafe { ::std::mem::zeroed() }
30     }
31 }
32 impl ::std::fmt::Debug for ARP_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result33     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
34         fmt.debug_struct("ARP_HEADER")
35             .field("HardwareAddressSpace", &self.HardwareAddressSpace)
36             .field("ProtocolAddressSpace", &self.ProtocolAddressSpace)
37             .field("HardwareAddressLength", &self.HardwareAddressLength)
38             .field("ProtocolAddressLength", &self.ProtocolAddressLength)
39             .field("Opcode", &self.Opcode)
40             .field("SenderHardwareAddress", &self.SenderHardwareAddress)
41             .finish()
42     }
43 }
44 impl ::std::cmp::PartialEq for ARP_HEADER {
eq(&self, other: &Self) -> bool45     fn eq(&self, other: &Self) -> bool {
46         self.HardwareAddressSpace == other.HardwareAddressSpace && self.ProtocolAddressSpace == other.ProtocolAddressSpace && self.HardwareAddressLength == other.HardwareAddressLength && self.ProtocolAddressLength == other.ProtocolAddressLength && self.Opcode == other.Opcode && self.SenderHardwareAddress == other.SenderHardwareAddress
47     }
48 }
49 impl ::std::cmp::Eq for ARP_HEADER {}
50 unsafe impl ::windows::runtime::Abi for ARP_HEADER {
51     type Abi = Self;
52     type DefaultType = Self;
53 }
54 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
55 #[repr(transparent)]
56 pub struct ARP_OPCODE(pub i32);
57 pub const ARP_REQUEST: ARP_OPCODE = ARP_OPCODE(1i32);
58 pub const ARP_RESPONSE: ARP_OPCODE = ARP_OPCODE(2i32);
59 impl ::std::convert::From<i32> for ARP_OPCODE {
from(value: i32) -> Self60     fn from(value: i32) -> Self {
61         Self(value)
62     }
63 }
64 unsafe impl ::windows::runtime::Abi for ARP_OPCODE {
65     type Abi = Self;
66     type DefaultType = Self;
67 }
68 pub const BYTE_ORDER: u32 = 1234u32;
69 pub const DL_ADDRESS_LENGTH_MAXIMUM: u32 = 32u32;
70 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
71 #[repr(transparent)]
72 pub struct DL_ADDRESS_TYPE(pub i32);
73 pub const DlUnicast: DL_ADDRESS_TYPE = DL_ADDRESS_TYPE(0i32);
74 pub const DlMulticast: DL_ADDRESS_TYPE = DL_ADDRESS_TYPE(1i32);
75 pub const DlBroadcast: DL_ADDRESS_TYPE = DL_ADDRESS_TYPE(2i32);
76 impl ::std::convert::From<i32> for DL_ADDRESS_TYPE {
from(value: i32) -> Self77     fn from(value: i32) -> Self {
78         Self(value)
79     }
80 }
81 unsafe impl ::windows::runtime::Abi for DL_ADDRESS_TYPE {
82     type Abi = Self;
83     type DefaultType = Self;
84 }
85 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
86 #[repr(C)]
87 pub union DL_EI48 {
88     pub Byte: [u8; 3],
89 }
90 impl DL_EI48 {}
91 impl ::std::default::Default for DL_EI48 {
default() -> Self92     fn default() -> Self {
93         unsafe { ::std::mem::zeroed() }
94     }
95 }
96 impl ::std::cmp::PartialEq for DL_EI48 {
eq(&self, _other: &Self) -> bool97     fn eq(&self, _other: &Self) -> bool {
98         unimplemented!()
99     }
100 }
101 impl ::std::cmp::Eq for DL_EI48 {}
102 unsafe impl ::windows::runtime::Abi for DL_EI48 {
103     type Abi = Self;
104     type DefaultType = Self;
105 }
106 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
107 #[repr(C)]
108 pub union DL_EI64 {
109     pub Byte: [u8; 5],
110 }
111 impl DL_EI64 {}
112 impl ::std::default::Default for DL_EI64 {
default() -> Self113     fn default() -> Self {
114         unsafe { ::std::mem::zeroed() }
115     }
116 }
117 impl ::std::cmp::PartialEq for DL_EI64 {
eq(&self, _other: &Self) -> bool118     fn eq(&self, _other: &Self) -> bool {
119         unimplemented!()
120     }
121 }
122 impl ::std::cmp::Eq for DL_EI64 {}
123 unsafe impl ::windows::runtime::Abi for DL_EI64 {
124     type Abi = Self;
125     type DefaultType = Self;
126 }
127 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
128 #[repr(C)]
129 pub union DL_EUI48 {
130     pub Byte: [u8; 6],
131     pub Anonymous: DL_EUI48_0,
132 }
133 impl DL_EUI48 {}
134 impl ::std::default::Default for DL_EUI48 {
default() -> Self135     fn default() -> Self {
136         unsafe { ::std::mem::zeroed() }
137     }
138 }
139 impl ::std::cmp::PartialEq for DL_EUI48 {
eq(&self, _other: &Self) -> bool140     fn eq(&self, _other: &Self) -> bool {
141         unimplemented!()
142     }
143 }
144 impl ::std::cmp::Eq for DL_EUI48 {}
145 unsafe impl ::windows::runtime::Abi for DL_EUI48 {
146     type Abi = Self;
147     type DefaultType = Self;
148 }
149 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
150 #[repr(C)]
151 pub struct DL_EUI48_0 {
152     pub Oui: DL_OUI,
153     pub Ei48: DL_EI48,
154 }
155 impl DL_EUI48_0 {}
156 impl ::std::default::Default for DL_EUI48_0 {
default() -> Self157     fn default() -> Self {
158         unsafe { ::std::mem::zeroed() }
159     }
160 }
161 impl ::std::cmp::PartialEq for DL_EUI48_0 {
eq(&self, _other: &Self) -> bool162     fn eq(&self, _other: &Self) -> bool {
163         unimplemented!()
164     }
165 }
166 impl ::std::cmp::Eq for DL_EUI48_0 {}
167 unsafe impl ::windows::runtime::Abi for DL_EUI48_0 {
168     type Abi = Self;
169     type DefaultType = Self;
170 }
171 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
172 #[repr(C)]
173 pub union DL_EUI64 {
174     pub Byte: [u8; 8],
175     pub Value: u64,
176     pub Anonymous: DL_EUI64_0,
177 }
178 impl DL_EUI64 {}
179 impl ::std::default::Default for DL_EUI64 {
default() -> Self180     fn default() -> Self {
181         unsafe { ::std::mem::zeroed() }
182     }
183 }
184 impl ::std::cmp::PartialEq for DL_EUI64 {
eq(&self, _other: &Self) -> bool185     fn eq(&self, _other: &Self) -> bool {
186         unimplemented!()
187     }
188 }
189 impl ::std::cmp::Eq for DL_EUI64 {}
190 unsafe impl ::windows::runtime::Abi for DL_EUI64 {
191     type Abi = Self;
192     type DefaultType = Self;
193 }
194 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
195 #[repr(C)]
196 pub struct DL_EUI64_0 {
197     pub Oui: DL_OUI,
198     pub Anonymous: DL_EUI64_0_0,
199 }
200 impl DL_EUI64_0 {}
201 impl ::std::default::Default for DL_EUI64_0 {
default() -> Self202     fn default() -> Self {
203         unsafe { ::std::mem::zeroed() }
204     }
205 }
206 impl ::std::cmp::PartialEq for DL_EUI64_0 {
eq(&self, _other: &Self) -> bool207     fn eq(&self, _other: &Self) -> bool {
208         unimplemented!()
209     }
210 }
211 impl ::std::cmp::Eq for DL_EUI64_0 {}
212 unsafe impl ::windows::runtime::Abi for DL_EUI64_0 {
213     type Abi = Self;
214     type DefaultType = Self;
215 }
216 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
217 #[repr(C)]
218 pub union DL_EUI64_0_0 {
219     pub Ei64: DL_EI64,
220     pub Anonymous: DL_EUI64_0_0_0,
221 }
222 impl DL_EUI64_0_0 {}
223 impl ::std::default::Default for DL_EUI64_0_0 {
default() -> Self224     fn default() -> Self {
225         unsafe { ::std::mem::zeroed() }
226     }
227 }
228 impl ::std::cmp::PartialEq for DL_EUI64_0_0 {
eq(&self, _other: &Self) -> bool229     fn eq(&self, _other: &Self) -> bool {
230         unimplemented!()
231     }
232 }
233 impl ::std::cmp::Eq for DL_EUI64_0_0 {}
234 unsafe impl ::windows::runtime::Abi for DL_EUI64_0_0 {
235     type Abi = Self;
236     type DefaultType = Self;
237 }
238 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
239 #[repr(C)]
240 pub struct DL_EUI64_0_0_0 {
241     pub Type: u8,
242     pub Tse: u8,
243     pub Ei48: DL_EI48,
244 }
245 impl DL_EUI64_0_0_0 {}
246 impl ::std::default::Default for DL_EUI64_0_0_0 {
default() -> Self247     fn default() -> Self {
248         unsafe { ::std::mem::zeroed() }
249     }
250 }
251 impl ::std::cmp::PartialEq for DL_EUI64_0_0_0 {
eq(&self, _other: &Self) -> bool252     fn eq(&self, _other: &Self) -> bool {
253         unimplemented!()
254     }
255 }
256 impl ::std::cmp::Eq for DL_EUI64_0_0_0 {}
257 unsafe impl ::windows::runtime::Abi for DL_EUI64_0_0_0 {
258     type Abi = Self;
259     type DefaultType = Self;
260 }
261 pub const DL_HEADER_LENGTH_MAXIMUM: u32 = 64u32;
262 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
263 #[repr(C)]
264 pub union DL_OUI {
265     pub Byte: [u8; 3],
266     pub Anonymous: DL_OUI_0,
267 }
268 impl DL_OUI {}
269 impl ::std::default::Default for DL_OUI {
default() -> Self270     fn default() -> Self {
271         unsafe { ::std::mem::zeroed() }
272     }
273 }
274 impl ::std::cmp::PartialEq for DL_OUI {
eq(&self, _other: &Self) -> bool275     fn eq(&self, _other: &Self) -> bool {
276         unimplemented!()
277     }
278 }
279 impl ::std::cmp::Eq for DL_OUI {}
280 unsafe impl ::windows::runtime::Abi for DL_OUI {
281     type Abi = Self;
282     type DefaultType = Self;
283 }
284 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
285 #[repr(C)]
286 pub struct DL_OUI_0 {
287     pub _bitfield: u8,
288 }
289 impl DL_OUI_0 {}
290 impl ::std::default::Default for DL_OUI_0 {
default() -> Self291     fn default() -> Self {
292         unsafe { ::std::mem::zeroed() }
293     }
294 }
295 impl ::std::fmt::Debug for DL_OUI_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result296     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
297         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
298     }
299 }
300 impl ::std::cmp::PartialEq for DL_OUI_0 {
eq(&self, other: &Self) -> bool301     fn eq(&self, other: &Self) -> bool {
302         self._bitfield == other._bitfield
303     }
304 }
305 impl ::std::cmp::Eq for DL_OUI_0 {}
306 unsafe impl ::windows::runtime::Abi for DL_OUI_0 {
307     type Abi = Self;
308     type DefaultType = Self;
309 }
310 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
311 #[repr(C)]
312 #[cfg(feature = "Win32_Networking_WinSock")]
313 pub struct DL_TEREDO_ADDRESS {
314     pub Reserved: [u8; 6],
315     pub Anonymous: DL_TEREDO_ADDRESS_0,
316 }
317 #[cfg(feature = "Win32_Networking_WinSock")]
318 impl DL_TEREDO_ADDRESS {}
319 #[cfg(feature = "Win32_Networking_WinSock")]
320 impl ::std::default::Default for DL_TEREDO_ADDRESS {
default() -> Self321     fn default() -> Self {
322         unsafe { ::std::mem::zeroed() }
323     }
324 }
325 #[cfg(feature = "Win32_Networking_WinSock")]
326 impl ::std::cmp::PartialEq for DL_TEREDO_ADDRESS {
eq(&self, _other: &Self) -> bool327     fn eq(&self, _other: &Self) -> bool {
328         unimplemented!()
329     }
330 }
331 #[cfg(feature = "Win32_Networking_WinSock")]
332 impl ::std::cmp::Eq for DL_TEREDO_ADDRESS {}
333 #[cfg(feature = "Win32_Networking_WinSock")]
334 unsafe impl ::windows::runtime::Abi for DL_TEREDO_ADDRESS {
335     type Abi = Self;
336     type DefaultType = Self;
337 }
338 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
339 #[repr(C, packed(1))]
340 #[cfg(feature = "Win32_Networking_WinSock")]
341 pub union DL_TEREDO_ADDRESS_0 {
342     pub Eui64: DL_EUI64,
343     pub Anonymous: DL_TEREDO_ADDRESS_0_0,
344 }
345 #[cfg(feature = "Win32_Networking_WinSock")]
346 impl DL_TEREDO_ADDRESS_0 {}
347 #[cfg(feature = "Win32_Networking_WinSock")]
348 impl ::std::default::Default for DL_TEREDO_ADDRESS_0 {
default() -> Self349     fn default() -> Self {
350         unsafe { ::std::mem::zeroed() }
351     }
352 }
353 #[cfg(feature = "Win32_Networking_WinSock")]
354 impl ::std::cmp::PartialEq for DL_TEREDO_ADDRESS_0 {
eq(&self, _other: &Self) -> bool355     fn eq(&self, _other: &Self) -> bool {
356         unimplemented!()
357     }
358 }
359 #[cfg(feature = "Win32_Networking_WinSock")]
360 impl ::std::cmp::Eq for DL_TEREDO_ADDRESS_0 {}
361 #[cfg(feature = "Win32_Networking_WinSock")]
362 unsafe impl ::windows::runtime::Abi for DL_TEREDO_ADDRESS_0 {
363     type Abi = Self;
364     type DefaultType = Self;
365 }
366 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
367 #[repr(C, packed(1))]
368 #[cfg(feature = "Win32_Networking_WinSock")]
369 pub struct DL_TEREDO_ADDRESS_0_0 {
370     pub Flags: u16,
371     pub MappedPort: u16,
372     pub MappedAddress: super::super::Networking::WinSock::IN_ADDR,
373 }
374 #[cfg(feature = "Win32_Networking_WinSock")]
375 impl DL_TEREDO_ADDRESS_0_0 {}
376 #[cfg(feature = "Win32_Networking_WinSock")]
377 impl ::std::default::Default for DL_TEREDO_ADDRESS_0_0 {
default() -> Self378     fn default() -> Self {
379         unsafe { ::std::mem::zeroed() }
380     }
381 }
382 #[cfg(feature = "Win32_Networking_WinSock")]
383 impl ::std::cmp::PartialEq for DL_TEREDO_ADDRESS_0_0 {
eq(&self, _other: &Self) -> bool384     fn eq(&self, _other: &Self) -> bool {
385         unimplemented!()
386     }
387 }
388 #[cfg(feature = "Win32_Networking_WinSock")]
389 impl ::std::cmp::Eq for DL_TEREDO_ADDRESS_0_0 {}
390 #[cfg(feature = "Win32_Networking_WinSock")]
391 unsafe impl ::windows::runtime::Abi for DL_TEREDO_ADDRESS_0_0 {
392     type Abi = Self;
393     type DefaultType = Self;
394 }
395 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
396 #[repr(C)]
397 #[cfg(feature = "Win32_Networking_WinSock")]
398 pub struct DL_TEREDO_ADDRESS_PRV {
399     pub Reserved: [u8; 6],
400     pub Anonymous: DL_TEREDO_ADDRESS_PRV_0,
401 }
402 #[cfg(feature = "Win32_Networking_WinSock")]
403 impl DL_TEREDO_ADDRESS_PRV {}
404 #[cfg(feature = "Win32_Networking_WinSock")]
405 impl ::std::default::Default for DL_TEREDO_ADDRESS_PRV {
default() -> Self406     fn default() -> Self {
407         unsafe { ::std::mem::zeroed() }
408     }
409 }
410 #[cfg(feature = "Win32_Networking_WinSock")]
411 impl ::std::cmp::PartialEq for DL_TEREDO_ADDRESS_PRV {
eq(&self, _other: &Self) -> bool412     fn eq(&self, _other: &Self) -> bool {
413         unimplemented!()
414     }
415 }
416 #[cfg(feature = "Win32_Networking_WinSock")]
417 impl ::std::cmp::Eq for DL_TEREDO_ADDRESS_PRV {}
418 #[cfg(feature = "Win32_Networking_WinSock")]
419 unsafe impl ::windows::runtime::Abi for DL_TEREDO_ADDRESS_PRV {
420     type Abi = Self;
421     type DefaultType = Self;
422 }
423 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
424 #[repr(C, packed(1))]
425 #[cfg(feature = "Win32_Networking_WinSock")]
426 pub union DL_TEREDO_ADDRESS_PRV_0 {
427     pub Eui64: DL_EUI64,
428     pub Anonymous: DL_TEREDO_ADDRESS_PRV_0_0,
429 }
430 #[cfg(feature = "Win32_Networking_WinSock")]
431 impl DL_TEREDO_ADDRESS_PRV_0 {}
432 #[cfg(feature = "Win32_Networking_WinSock")]
433 impl ::std::default::Default for DL_TEREDO_ADDRESS_PRV_0 {
default() -> Self434     fn default() -> Self {
435         unsafe { ::std::mem::zeroed() }
436     }
437 }
438 #[cfg(feature = "Win32_Networking_WinSock")]
439 impl ::std::cmp::PartialEq for DL_TEREDO_ADDRESS_PRV_0 {
eq(&self, _other: &Self) -> bool440     fn eq(&self, _other: &Self) -> bool {
441         unimplemented!()
442     }
443 }
444 #[cfg(feature = "Win32_Networking_WinSock")]
445 impl ::std::cmp::Eq for DL_TEREDO_ADDRESS_PRV_0 {}
446 #[cfg(feature = "Win32_Networking_WinSock")]
447 unsafe impl ::windows::runtime::Abi for DL_TEREDO_ADDRESS_PRV_0 {
448     type Abi = Self;
449     type DefaultType = Self;
450 }
451 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
452 #[repr(C, packed(1))]
453 #[cfg(feature = "Win32_Networking_WinSock")]
454 pub struct DL_TEREDO_ADDRESS_PRV_0_0 {
455     pub Flags: u16,
456     pub MappedPort: u16,
457     pub MappedAddress: super::super::Networking::WinSock::IN_ADDR,
458     pub LocalAddress: super::super::Networking::WinSock::IN_ADDR,
459     pub InterfaceIndex: u32,
460     pub LocalPort: u16,
461     pub DlDestination: DL_EUI48,
462 }
463 #[cfg(feature = "Win32_Networking_WinSock")]
464 impl DL_TEREDO_ADDRESS_PRV_0_0 {}
465 #[cfg(feature = "Win32_Networking_WinSock")]
466 impl ::std::default::Default for DL_TEREDO_ADDRESS_PRV_0_0 {
default() -> Self467     fn default() -> Self {
468         unsafe { ::std::mem::zeroed() }
469     }
470 }
471 #[cfg(feature = "Win32_Networking_WinSock")]
472 impl ::std::cmp::PartialEq for DL_TEREDO_ADDRESS_PRV_0_0 {
eq(&self, _other: &Self) -> bool473     fn eq(&self, _other: &Self) -> bool {
474         unimplemented!()
475     }
476 }
477 #[cfg(feature = "Win32_Networking_WinSock")]
478 impl ::std::cmp::Eq for DL_TEREDO_ADDRESS_PRV_0_0 {}
479 #[cfg(feature = "Win32_Networking_WinSock")]
480 unsafe impl ::windows::runtime::Abi for DL_TEREDO_ADDRESS_PRV_0_0 {
481     type Abi = Self;
482     type DefaultType = Self;
483 }
484 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
485 #[repr(C)]
486 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
487 pub struct DL_TUNNEL_ADDRESS {
488     pub CompartmentId: super::super::System::Kernel::COMPARTMENT_ID,
489     pub ScopeId: super::super::Networking::WinSock::SCOPE_ID,
490     pub IpAddress: [u8; 1],
491 }
492 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
493 impl DL_TUNNEL_ADDRESS {}
494 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
495 impl ::std::default::Default for DL_TUNNEL_ADDRESS {
default() -> Self496     fn default() -> Self {
497         unsafe { ::std::mem::zeroed() }
498     }
499 }
500 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
501 impl ::std::cmp::PartialEq for DL_TUNNEL_ADDRESS {
eq(&self, _other: &Self) -> bool502     fn eq(&self, _other: &Self) -> bool {
503         unimplemented!()
504     }
505 }
506 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
507 impl ::std::cmp::Eq for DL_TUNNEL_ADDRESS {}
508 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
509 unsafe impl ::windows::runtime::Abi for DL_TUNNEL_ADDRESS {
510     type Abi = Self;
511     type DefaultType = Self;
512 }
513 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
514 #[repr(C)]
515 pub struct ETHERNET_HEADER {
516     pub Destination: DL_EUI48,
517     pub Source: DL_EUI48,
518     pub Anonymous: ETHERNET_HEADER_0,
519 }
520 impl ETHERNET_HEADER {}
521 impl ::std::default::Default for ETHERNET_HEADER {
default() -> Self522     fn default() -> Self {
523         unsafe { ::std::mem::zeroed() }
524     }
525 }
526 impl ::std::cmp::PartialEq for ETHERNET_HEADER {
eq(&self, _other: &Self) -> bool527     fn eq(&self, _other: &Self) -> bool {
528         unimplemented!()
529     }
530 }
531 impl ::std::cmp::Eq for ETHERNET_HEADER {}
532 unsafe impl ::windows::runtime::Abi for ETHERNET_HEADER {
533     type Abi = Self;
534     type DefaultType = Self;
535 }
536 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
537 #[repr(C)]
538 pub union ETHERNET_HEADER_0 {
539     pub Type: u16,
540     pub Length: u16,
541 }
542 impl ETHERNET_HEADER_0 {}
543 impl ::std::default::Default for ETHERNET_HEADER_0 {
default() -> Self544     fn default() -> Self {
545         unsafe { ::std::mem::zeroed() }
546     }
547 }
548 impl ::std::cmp::PartialEq for ETHERNET_HEADER_0 {
eq(&self, _other: &Self) -> bool549     fn eq(&self, _other: &Self) -> bool {
550         unimplemented!()
551     }
552 }
553 impl ::std::cmp::Eq for ETHERNET_HEADER_0 {}
554 unsafe impl ::windows::runtime::Abi for ETHERNET_HEADER_0 {
555     type Abi = Self;
556     type DefaultType = Self;
557 }
558 pub const ETHERNET_TYPE_802_1AD: u32 = 34984u32;
559 pub const ETHERNET_TYPE_802_1Q: u32 = 33024u32;
560 pub const ETHERNET_TYPE_ARP: u32 = 2054u32;
561 pub const ETHERNET_TYPE_IPV4: u32 = 2048u32;
562 pub const ETHERNET_TYPE_IPV6: u32 = 34525u32;
563 pub const ETHERNET_TYPE_MINIMUM: u32 = 1536u32;
564 pub const ETH_LENGTH_OF_HEADER: u32 = 14u32;
565 pub const ETH_LENGTH_OF_SNAP_HEADER: u32 = 8u32;
566 pub const ETH_LENGTH_OF_VLAN_HEADER: u32 = 4u32;
567 pub const EXT_LEN_UNIT: u32 = 8u32;
568 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
569 #[repr(transparent)]
570 pub struct FALLBACK_INDEX(pub i32);
571 pub const FallbackIndexTcpFastopen: FALLBACK_INDEX = FALLBACK_INDEX(0i32);
572 pub const FallbackIndexMax: FALLBACK_INDEX = FALLBACK_INDEX(1i32);
573 impl ::std::convert::From<i32> for FALLBACK_INDEX {
from(value: i32) -> Self574     fn from(value: i32) -> Self {
575         Self(value)
576     }
577 }
578 unsafe impl ::windows::runtime::Abi for FALLBACK_INDEX {
579     type Abi = Self;
580     type DefaultType = Self;
581 }
582 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
583 #[repr(C)]
584 pub struct FWPM_ACTION0 {
585     pub r#type: u32,
586     pub Anonymous: FWPM_ACTION0_0,
587 }
588 impl FWPM_ACTION0 {}
589 impl ::std::default::Default for FWPM_ACTION0 {
default() -> Self590     fn default() -> Self {
591         unsafe { ::std::mem::zeroed() }
592     }
593 }
594 impl ::std::cmp::PartialEq for FWPM_ACTION0 {
eq(&self, _other: &Self) -> bool595     fn eq(&self, _other: &Self) -> bool {
596         unimplemented!()
597     }
598 }
599 impl ::std::cmp::Eq for FWPM_ACTION0 {}
600 unsafe impl ::windows::runtime::Abi for FWPM_ACTION0 {
601     type Abi = Self;
602     type DefaultType = Self;
603 }
604 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
605 #[repr(C)]
606 pub union FWPM_ACTION0_0 {
607     pub filterType: ::windows::runtime::GUID,
608     pub calloutKey: ::windows::runtime::GUID,
609 }
610 impl FWPM_ACTION0_0 {}
611 impl ::std::default::Default for FWPM_ACTION0_0 {
default() -> Self612     fn default() -> Self {
613         unsafe { ::std::mem::zeroed() }
614     }
615 }
616 impl ::std::cmp::PartialEq for FWPM_ACTION0_0 {
eq(&self, _other: &Self) -> bool617     fn eq(&self, _other: &Self) -> bool {
618         unimplemented!()
619     }
620 }
621 impl ::std::cmp::Eq for FWPM_ACTION0_0 {}
622 unsafe impl ::windows::runtime::Abi for FWPM_ACTION0_0 {
623     type Abi = Self;
624     type DefaultType = Self;
625 }
626 pub const FWPM_ACTRL_ADD: u32 = 1u32;
627 pub const FWPM_ACTRL_ADD_LINK: u32 = 2u32;
628 pub const FWPM_ACTRL_BEGIN_READ_TXN: u32 = 4u32;
629 pub const FWPM_ACTRL_BEGIN_WRITE_TXN: u32 = 8u32;
630 pub const FWPM_ACTRL_CLASSIFY: u32 = 16u32;
631 pub const FWPM_ACTRL_ENUM: u32 = 32u32;
632 pub const FWPM_ACTRL_OPEN: u32 = 64u32;
633 pub const FWPM_ACTRL_READ: u32 = 128u32;
634 pub const FWPM_ACTRL_READ_STATS: u32 = 256u32;
635 pub const FWPM_ACTRL_SUBSCRIBE: u32 = 512u32;
636 pub const FWPM_ACTRL_WRITE: u32 = 1024u32;
637 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
638 #[repr(transparent)]
639 pub struct FWPM_APPC_NETWORK_CAPABILITY_TYPE(pub i32);
640 pub const FWPM_APPC_NETWORK_CAPABILITY_INTERNET_CLIENT: FWPM_APPC_NETWORK_CAPABILITY_TYPE = FWPM_APPC_NETWORK_CAPABILITY_TYPE(0i32);
641 pub const FWPM_APPC_NETWORK_CAPABILITY_INTERNET_CLIENT_SERVER: FWPM_APPC_NETWORK_CAPABILITY_TYPE = FWPM_APPC_NETWORK_CAPABILITY_TYPE(1i32);
642 pub const FWPM_APPC_NETWORK_CAPABILITY_INTERNET_PRIVATE_NETWORK: FWPM_APPC_NETWORK_CAPABILITY_TYPE = FWPM_APPC_NETWORK_CAPABILITY_TYPE(2i32);
643 impl ::std::convert::From<i32> for FWPM_APPC_NETWORK_CAPABILITY_TYPE {
from(value: i32) -> Self644     fn from(value: i32) -> Self {
645         Self(value)
646     }
647 }
648 unsafe impl ::windows::runtime::Abi for FWPM_APPC_NETWORK_CAPABILITY_TYPE {
649     type Abi = Self;
650     type DefaultType = Self;
651 }
652 pub const FWPM_AUTO_WEIGHT_BITS: u32 = 60u32;
653 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
654 #[repr(C)]
655 #[cfg(feature = "Win32_Foundation")]
656 pub struct FWPM_CALLOUT0 {
657     pub calloutKey: ::windows::runtime::GUID,
658     pub displayData: FWPM_DISPLAY_DATA0,
659     pub flags: u32,
660     pub providerKey: *mut ::windows::runtime::GUID,
661     pub providerData: FWP_BYTE_BLOB,
662     pub applicableLayer: ::windows::runtime::GUID,
663     pub calloutId: u32,
664 }
665 #[cfg(feature = "Win32_Foundation")]
666 impl FWPM_CALLOUT0 {}
667 #[cfg(feature = "Win32_Foundation")]
668 impl ::std::default::Default for FWPM_CALLOUT0 {
default() -> Self669     fn default() -> Self {
670         unsafe { ::std::mem::zeroed() }
671     }
672 }
673 #[cfg(feature = "Win32_Foundation")]
674 impl ::std::fmt::Debug for FWPM_CALLOUT0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result675     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
676         fmt.debug_struct("FWPM_CALLOUT0")
677             .field("calloutKey", &self.calloutKey)
678             .field("displayData", &self.displayData)
679             .field("flags", &self.flags)
680             .field("providerKey", &self.providerKey)
681             .field("providerData", &self.providerData)
682             .field("applicableLayer", &self.applicableLayer)
683             .field("calloutId", &self.calloutId)
684             .finish()
685     }
686 }
687 #[cfg(feature = "Win32_Foundation")]
688 impl ::std::cmp::PartialEq for FWPM_CALLOUT0 {
eq(&self, other: &Self) -> bool689     fn eq(&self, other: &Self) -> bool {
690         self.calloutKey == other.calloutKey && self.displayData == other.displayData && self.flags == other.flags && self.providerKey == other.providerKey && self.providerData == other.providerData && self.applicableLayer == other.applicableLayer && self.calloutId == other.calloutId
691     }
692 }
693 #[cfg(feature = "Win32_Foundation")]
694 impl ::std::cmp::Eq for FWPM_CALLOUT0 {}
695 #[cfg(feature = "Win32_Foundation")]
696 unsafe impl ::windows::runtime::Abi for FWPM_CALLOUT0 {
697     type Abi = Self;
698     type DefaultType = Self;
699 }
700 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2006391204, 59029, 18358, [161, 153, 121, 153, 254, 201, 22, 59]);
701 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4019610038, 31838, 18685, [161, 48, 150, 103, 140, 234, 204, 65]);
702 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(410164346, 12130, 19424, [150, 111, 151, 75, 33, 184, 109, 241]);
703 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1816115201, 56063, 16617, [145, 230, 247, 255, 126, 82, 247, 217]);
704 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
705 #[repr(C)]
706 pub struct FWPM_CALLOUT_CHANGE0 {
707     pub changeType: FWPM_CHANGE_TYPE,
708     pub calloutKey: ::windows::runtime::GUID,
709     pub calloutId: u32,
710 }
711 impl FWPM_CALLOUT_CHANGE0 {}
712 impl ::std::default::Default for FWPM_CALLOUT_CHANGE0 {
default() -> Self713     fn default() -> Self {
714         unsafe { ::std::mem::zeroed() }
715     }
716 }
717 impl ::std::fmt::Debug for FWPM_CALLOUT_CHANGE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result718     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
719         fmt.debug_struct("FWPM_CALLOUT_CHANGE0").field("changeType", &self.changeType).field("calloutKey", &self.calloutKey).field("calloutId", &self.calloutId).finish()
720     }
721 }
722 impl ::std::cmp::PartialEq for FWPM_CALLOUT_CHANGE0 {
eq(&self, other: &Self) -> bool723     fn eq(&self, other: &Self) -> bool {
724         self.changeType == other.changeType && self.calloutKey == other.calloutKey && self.calloutId == other.calloutId
725     }
726 }
727 impl ::std::cmp::Eq for FWPM_CALLOUT_CHANGE0 {}
728 unsafe impl ::windows::runtime::Abi for FWPM_CALLOUT_CHANGE0 {
729     type Abi = Self;
730     type DefaultType = Self;
731 }
732 pub type FWPM_CALLOUT_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, change: *const FWPM_CALLOUT_CHANGE0);
733 pub const FWPM_CALLOUT_EDGE_TRAVERSAL_ALE_LISTEN_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(860383925, 27998, 20069, [160, 11, 167, 175, 237, 11, 169, 161]);
734 pub const FWPM_CALLOUT_EDGE_TRAVERSAL_ALE_RESOURCE_ASSIGNMENT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(127602704, 61893, 20429, [174, 5, 218, 65, 16, 122, 189, 11]);
735 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
736 #[repr(C)]
737 pub struct FWPM_CALLOUT_ENUM_TEMPLATE0 {
738     pub providerKey: *mut ::windows::runtime::GUID,
739     pub layerKey: ::windows::runtime::GUID,
740 }
741 impl FWPM_CALLOUT_ENUM_TEMPLATE0 {}
742 impl ::std::default::Default for FWPM_CALLOUT_ENUM_TEMPLATE0 {
default() -> Self743     fn default() -> Self {
744         unsafe { ::std::mem::zeroed() }
745     }
746 }
747 impl ::std::fmt::Debug for FWPM_CALLOUT_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result748     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
749         fmt.debug_struct("FWPM_CALLOUT_ENUM_TEMPLATE0").field("providerKey", &self.providerKey).field("layerKey", &self.layerKey).finish()
750     }
751 }
752 impl ::std::cmp::PartialEq for FWPM_CALLOUT_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool753     fn eq(&self, other: &Self) -> bool {
754         self.providerKey == other.providerKey && self.layerKey == other.layerKey
755     }
756 }
757 impl ::std::cmp::Eq for FWPM_CALLOUT_ENUM_TEMPLATE0 {}
758 unsafe impl ::windows::runtime::Abi for FWPM_CALLOUT_ENUM_TEMPLATE0 {
759     type Abi = Self;
760     type DefaultType = Self;
761 }
762 pub const FWPM_CALLOUT_FLAG_PERSISTENT: u32 = 65536u32;
763 pub const FWPM_CALLOUT_FLAG_REGISTERED: u32 = 262144u32;
764 pub const FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT: u32 = 131072u32;
765 pub const FWPM_CALLOUT_HTTP_TEMPLATE_SSL_HANDSHAKE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3007459913, 36105, 18520, [146, 16, 149, 199, 253, 168, 227, 15]);
766 pub const FWPM_CALLOUT_IPSEC_ALE_CONNECT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1791050236, 63325, 16899, [185, 200, 72, 230, 20, 156, 39, 18]);
767 pub const FWPM_CALLOUT_IPSEC_ALE_CONNECT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1275976197, 58143, 18022, [144, 176, 179, 223, 173, 52, 18, 154]);
768 pub const FWPM_CALLOUT_IPSEC_DOSP_FORWARD_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(801855212, 52535, 19279, [177, 8, 98, 194, 177, 133, 10, 12]);
769 pub const FWPM_CALLOUT_IPSEC_DOSP_FORWARD_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1829282626, 56222, 20414, [158, 210, 87, 55, 76, 232, 159, 121]);
770 pub const FWPM_CALLOUT_IPSEC_FORWARD_INBOUND_TUNNEL_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(679646771, 50416, 20070, [135, 63, 132, 77, 178, 168, 153, 199]);
771 pub const FWPM_CALLOUT_IPSEC_FORWARD_INBOUND_TUNNEL_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2941304514, 50822, 17050, [136, 77, 183, 68, 67, 231, 176, 180]);
772 pub const FWPM_CALLOUT_IPSEC_FORWARD_OUTBOUND_TUNNEL_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4216529206, 5579, 17419, [147, 124, 23, 23, 202, 50, 12, 64]);
773 pub const FWPM_CALLOUT_IPSEC_FORWARD_OUTBOUND_TUNNEL_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3672522956, 57377, 19438, [158, 182, 164, 139, 39, 92, 140, 29]);
774 pub const FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2113876123, 47741, 19130, [145, 170, 174, 92, 102, 64, 201, 68]);
775 pub const FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2845890265, 50572, 18254, [138, 235, 60, 254, 153, 214, 213, 61]);
776 pub const FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1362268173, 24196, 19295, [128, 228, 1, 116, 30, 129, 255, 16]);
777 pub const FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1238609042, 10860, 19919, [149, 95, 28, 59, 224, 9, 221, 153]);
778 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_ALE_ACCEPT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1039591390, 64800, 18674, [159, 38, 248, 84, 68, 76, 186, 121]);
779 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_ALE_ACCEPT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2716046035, 29356, 18363, [135, 167, 1, 34, 198, 148, 52, 171]);
780 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(421169734, 3064, 18127, [176, 69, 75, 69, 223, 166, 163, 36]);
781 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2160280291, 7763, 19823, [155, 68, 3, 223, 90, 238, 225, 84]);
782 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1262927626, 17699, 20055, [170, 56, 168, 121, 135, 201, 16, 217]);
783 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(953710370, 44419, 20241, [169, 31, 223, 15, 176, 119, 34, 91]);
784 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TUNNEL_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1889802604, 33627, 20400, [152, 232, 7, 95, 77, 151, 125, 70]);
785 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TUNNEL_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4051915619, 42661, 20066, [177, 128, 35, 219, 120, 157, 141, 166]);
786 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_CONNECT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1606402845, 42268, 17628, [172, 182, 6, 36, 160, 48, 167, 0]);
787 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_CONNECT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1606402845, 42268, 17628, [172, 182, 6, 36, 160, 48, 167, 1]);
788 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_RECV_ACCEPT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1606402845, 42268, 17628, [172, 182, 6, 36, 160, 48, 167, 2]);
789 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_RECV_ACCEPT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1606402845, 42268, 17628, [172, 182, 6, 36, 160, 48, 167, 3]);
790 pub const FWPM_CALLOUT_RESERVED_AUTH_CONNECT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(680219213, 1382, 19993, [182, 18, 143, 68, 26, 46, 89, 73]);
791 pub const FWPM_CALLOUT_RESERVED_AUTH_CONNECT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(12077970, 11102, 19313, [171, 14, 170, 202, 67, 227, 135, 230]);
792 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_CONNECT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3159892608, 5751, 16873, [148, 171, 194, 252, 177, 92, 46, 235]);
793 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_CONNECT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2565158716, 47236, 18703, [182, 95, 47, 106, 74, 87, 81, 149]);
794 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_RECV_ACCEPT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(760606728, 3073, 20370, [178, 110, 160, 138, 148, 86, 155, 141]);
795 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_RECV_ACCEPT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1661044023, 62081, 19908, [131, 211, 141, 236, 24, 183, 173, 226]);
796 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
797 #[repr(C)]
798 pub struct FWPM_CALLOUT_SUBSCRIPTION0 {
799     pub enumTemplate: *mut FWPM_CALLOUT_ENUM_TEMPLATE0,
800     pub flags: u32,
801     pub sessionKey: ::windows::runtime::GUID,
802 }
803 impl FWPM_CALLOUT_SUBSCRIPTION0 {}
804 impl ::std::default::Default for FWPM_CALLOUT_SUBSCRIPTION0 {
default() -> Self805     fn default() -> Self {
806         unsafe { ::std::mem::zeroed() }
807     }
808 }
809 impl ::std::fmt::Debug for FWPM_CALLOUT_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result810     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
811         fmt.debug_struct("FWPM_CALLOUT_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
812     }
813 }
814 impl ::std::cmp::PartialEq for FWPM_CALLOUT_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool815     fn eq(&self, other: &Self) -> bool {
816         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
817     }
818 }
819 impl ::std::cmp::Eq for FWPM_CALLOUT_SUBSCRIPTION0 {}
820 unsafe impl ::windows::runtime::Abi for FWPM_CALLOUT_SUBSCRIPTION0 {
821     type Abi = Self;
822     type DefaultType = Self;
823 }
824 pub const FWPM_CALLOUT_TCP_CHIMNEY_ACCEPT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3783519410, 14975, 19284, [138, 217, 118, 5, 14, 216, 128, 202]);
825 pub const FWPM_CALLOUT_TCP_CHIMNEY_ACCEPT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(58249025, 49048, 17923, [129, 242, 127, 18, 88, 96, 121, 246]);
826 pub const FWPM_CALLOUT_TCP_CHIMNEY_CONNECT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4091611827, 11301, 17017, [172, 54, 195, 15, 193, 129, 190, 196]);
827 pub const FWPM_CALLOUT_TCP_CHIMNEY_CONNECT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(971120773, 41793, 17148, [162, 121, 174, 201, 78, 104, 156, 86]);
828 pub const FWPM_CALLOUT_TCP_TEMPLATES_ACCEPT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(790885840, 16580, 19521, [162, 84, 70, 216, 219, 168, 149, 124]);
829 pub const FWPM_CALLOUT_TCP_TEMPLATES_ACCEPT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2991674096, 39196, 20307, [187, 231, 210, 75, 69, 254, 99, 44]);
830 pub const FWPM_CALLOUT_TCP_TEMPLATES_CONNECT_LAYER_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(559549241, 19326, 20186, [140, 228, 23, 150, 121, 223, 98, 36]);
831 pub const FWPM_CALLOUT_TCP_TEMPLATES_CONNECT_LAYER_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2206939041, 23570, 19764, [139, 56, 7, 135, 40, 178, 210, 92]);
832 pub const FWPM_CALLOUT_TEREDO_ALE_LISTEN_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2175022311, 62988, 17272, [186, 184, 198, 37, 163, 15, 1, 151]);
833 pub const FWPM_CALLOUT_TEREDO_ALE_RESOURCE_ASSIGNMENT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(834229138, 1646, 17058, [183, 219, 146, 248, 172, 221, 86, 249]);
834 pub const FWPM_CALLOUT_WFP_TRANSPORT_LAYER_V4_SILENT_DROP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3986720262, 9364, 19832, [137, 188, 103, 131, 124, 3, 185, 105]);
835 pub const FWPM_CALLOUT_WFP_TRANSPORT_LAYER_V6_SILENT_DROP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2257833076, 41077, 16726, [180, 118, 146, 134, 238, 206, 129, 78]);
836 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
837 #[repr(transparent)]
838 pub struct FWPM_CHANGE_TYPE(pub i32);
839 pub const FWPM_CHANGE_ADD: FWPM_CHANGE_TYPE = FWPM_CHANGE_TYPE(1i32);
840 pub const FWPM_CHANGE_DELETE: FWPM_CHANGE_TYPE = FWPM_CHANGE_TYPE(2i32);
841 pub const FWPM_CHANGE_TYPE_MAX: FWPM_CHANGE_TYPE = FWPM_CHANGE_TYPE(3i32);
842 impl ::std::convert::From<i32> for FWPM_CHANGE_TYPE {
from(value: i32) -> Self843     fn from(value: i32) -> Self {
844         Self(value)
845     }
846 }
847 unsafe impl ::windows::runtime::Abi for FWPM_CHANGE_TYPE {
848     type Abi = Self;
849     type DefaultType = Self;
850 }
851 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
852 #[repr(C)]
853 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
854 pub struct FWPM_CLASSIFY_OPTION0 {
855     pub r#type: FWP_CLASSIFY_OPTION_TYPE,
856     pub value: FWP_VALUE0,
857 }
858 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
859 impl FWPM_CLASSIFY_OPTION0 {}
860 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
861 impl ::std::default::Default for FWPM_CLASSIFY_OPTION0 {
default() -> Self862     fn default() -> Self {
863         unsafe { ::std::mem::zeroed() }
864     }
865 }
866 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
867 impl ::std::cmp::PartialEq for FWPM_CLASSIFY_OPTION0 {
eq(&self, _other: &Self) -> bool868     fn eq(&self, _other: &Self) -> bool {
869         unimplemented!()
870     }
871 }
872 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
873 impl ::std::cmp::Eq for FWPM_CLASSIFY_OPTION0 {}
874 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
875 unsafe impl ::windows::runtime::Abi for FWPM_CLASSIFY_OPTION0 {
876     type Abi = Self;
877     type DefaultType = Self;
878 }
879 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
880 #[repr(C)]
881 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
882 pub struct FWPM_CLASSIFY_OPTIONS0 {
883     pub numOptions: u32,
884     pub options: *mut FWPM_CLASSIFY_OPTION0,
885 }
886 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
887 impl FWPM_CLASSIFY_OPTIONS0 {}
888 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
889 impl ::std::default::Default for FWPM_CLASSIFY_OPTIONS0 {
default() -> Self890     fn default() -> Self {
891         unsafe { ::std::mem::zeroed() }
892     }
893 }
894 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
895 impl ::std::fmt::Debug for FWPM_CLASSIFY_OPTIONS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result896     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
897         fmt.debug_struct("FWPM_CLASSIFY_OPTIONS0").field("numOptions", &self.numOptions).field("options", &self.options).finish()
898     }
899 }
900 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
901 impl ::std::cmp::PartialEq for FWPM_CLASSIFY_OPTIONS0 {
eq(&self, other: &Self) -> bool902     fn eq(&self, other: &Self) -> bool {
903         self.numOptions == other.numOptions && self.options == other.options
904     }
905 }
906 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
907 impl ::std::cmp::Eq for FWPM_CLASSIFY_OPTIONS0 {}
908 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
909 unsafe impl ::windows::runtime::Abi for FWPM_CLASSIFY_OPTIONS0 {
910     type Abi = Self;
911     type DefaultType = Self;
912 }
913 pub const FWPM_CONDITION_ALE_APP_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3616415367, 34372, 20133, [148, 55, 216, 9, 236, 239, 201, 113]);
914 pub const FWPM_CONDITION_ALE_EFFECTIVE_NAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2972154778, 46977, 16636, [150, 113, 229, 241, 185, 137, 243, 78]);
915 pub const FWPM_CONDITION_ALE_NAP_CONTEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1176984221, 49215, 19831, [183, 132, 28, 87, 244, 208, 39, 83]);
916 pub const FWPM_CONDITION_ALE_ORIGINAL_APP_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(242012294, 57851, 16914, [132, 47, 138, 159, 153, 63, 179, 246]);
917 pub const FWPM_CONDITION_ALE_PACKAGE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1908177146, 61820, 18839, [166, 2, 106, 187, 38, 31, 53, 28]);
918 pub const FWPM_CONDITION_ALE_PROMISCUOUS_MODE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(479676278, 29058, 18153, [175, 211, 176, 41, 16, 227, 3, 52]);
919 pub const FWPM_CONDITION_ALE_REAUTH_REASON: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3028472359, 6521, 19096, [128, 68, 24, 187, 230, 35, 117, 66]);
920 pub const FWPM_CONDITION_ALE_REMOTE_MACHINE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(446988113, 32659, 17672, [162, 113, 129, 171, 176, 12, 156, 171]);
921 pub const FWPM_CONDITION_ALE_REMOTE_USER_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4130370487, 393, 19120, [149, 164, 97, 35, 203, 250, 184, 98]);
922 pub const FWPM_CONDITION_ALE_SECURITY_ATTRIBUTE_FQBN_VALUE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(933590681, 22659, 18787, [146, 184, 62, 112, 70, 136, 176, 173]);
923 pub const FWPM_CONDITION_ALE_SIO_FIREWALL_SYSTEM_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3119833224, 52120, 20219, [162, 199, 173, 7, 51, 38, 67, 219]);
924 pub const FWPM_CONDITION_ALE_USER_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2936289802, 45901, 20358, [151, 156, 201, 3, 113, 175, 110, 102]);
925 pub const FWPM_CONDITION_ARRIVAL_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3423112627, 6034, 19057, [176, 249, 3, 125, 33, 205, 130, 139]);
926 pub const FWPM_CONDITION_ARRIVAL_INTERFACE_PROFILE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3456002731, 49283, 16706, [134, 121, 192, 143, 149, 50, 156, 97]);
927 pub const FWPM_CONDITION_ARRIVAL_INTERFACE_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2314834142, 59288, 20077, [171, 118, 124, 149, 88, 41, 46, 111]);
928 pub const FWPM_CONDITION_ARRIVAL_TUNNEL_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1360094940, 31372, 19111, [181, 51, 149, 171, 89, 251, 3, 64]);
929 pub const FWPM_CONDITION_AUTHENTICATION_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3947203797, 55931, 20217, [141, 67, 123, 10, 132, 3, 50, 242]);
930 pub const FWPM_CONDITION_CLIENT_CERT_KEY_LENGTH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2750152903, 1524, 19959, [145, 242, 95, 96, 217, 31, 244, 67]);
931 pub const FWPM_CONDITION_CLIENT_CERT_OID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3297881438, 63618, 17027, [185, 22, 67, 107, 16, 63, 244, 173]);
932 pub const FWPM_CONDITION_CLIENT_TOKEN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3257465886, 16442, 17528, [190, 5, 201, 186, 164, 192, 90, 206]);
933 pub const FWPM_CONDITION_COMPARTMENT_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(900174251, 1196, 20466, [166, 187, 218, 108, 250, 199, 24, 6]);
934 pub const FWPM_CONDITION_CURRENT_PROFILE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2872062921, 49379, 18265, [147, 125, 87, 88, 198, 93, 74, 227]);
935 pub const FWPM_CONDITION_DCOM_APP_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4281236301, 12562, 18288, [182, 54, 77, 36, 174, 58, 106, 242]);
936 pub const FWPM_CONDITION_DESTINATION_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(902784290, 16697, 17902, [160, 213, 103, 184, 9, 73, 216, 121]);
937 pub const FWPM_CONDITION_DESTINATION_SUB_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(729629593, 54471, 18232, [162, 245, 233, 148, 180, 61, 163, 136]);
938 pub const FWPM_CONDITION_DIRECTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2273624390, 51863, 17622, [159, 209, 25, 251, 24, 64, 203, 247]);
939 pub const FWPM_CONDITION_EMBEDDED_LOCAL_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1181918312, 35338, 16898, [171, 180, 132, 158, 146, 230, 104, 9]);
940 pub const FWPM_CONDITION_EMBEDDED_LOCAL_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3217701197, 44251, 18510, [184, 230, 42, 255, 121, 117, 115, 69]);
941 pub const FWPM_CONDITION_EMBEDDED_PROTOCOL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(125321479, 41630, 19579, [158, 199, 41, 196, 74, 250, 253, 188]);
942 pub const FWPM_CONDITION_EMBEDDED_REMOTE_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2012105529, 12915, 18033, [182, 59, 171, 111, 235, 102, 238, 182]);
943 pub const FWPM_CONDITION_EMBEDDED_REMOTE_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3403994785, 10600, 16621, [164, 206, 84, 113, 96, 221, 168, 141]);
944 pub const FWPM_CONDITION_ETHER_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4245197965, 41497, 19794, [187, 152, 26, 85, 64, 238, 123, 78]);
945 pub const FWPM_CONDITION_FLAGS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1663885883, 20839, 17244, [134, 215, 233, 3, 104, 74, 168, 12]);
946 pub const FWPM_CONDITION_IMAGE_NAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3492077133, 57002, 17175, [156, 133, 228, 14, 246, 225, 64, 195]);
947 pub const FWPM_CONDITION_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1719654229, 54933, 17226, [138, 245, 211, 131, 90, 18, 89, 188]);
948 pub const FWPM_CONDITION_INTERFACE_MAC_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4142284238, 8011, 19563, [182, 239, 17, 101, 231, 31, 142, 231]);
949 pub const FWPM_CONDITION_INTERFACE_QUARANTINE_EPOCH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3437661534, 1339, 17320, [154, 111, 51, 56, 76, 40, 228, 246]);
950 pub const FWPM_CONDITION_INTERFACE_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3673738516, 57502, 19603, [165, 174, 197, 193, 59, 115, 255, 202]);
951 pub const FWPM_CONDITION_IPSEC_POLICY_KEY: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2906119907, 29231, 17868, [164, 227, 6, 128, 72, 18, 68, 82]);
952 pub const FWPM_CONDITION_IPSEC_SECURITY_REALM_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(933590784, 22660, 18788, [146, 184, 62, 112, 70, 136, 176, 173]);
953 pub const FWPM_CONDITION_IP_ARRIVAL_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1636473709, 14443, 16694, [173, 110, 181, 21, 135, 207, 177, 205]);
954 pub const FWPM_CONDITION_IP_DESTINATION_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(762909499, 45968, 17862, [134, 153, 172, 172, 234, 175, 237, 51]);
955 pub const FWPM_CONDITION_IP_DESTINATION_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(516011977, 20202, 20318, [185, 239, 118, 190, 170, 175, 23, 238]);
956 pub const FWPM_CONDITION_IP_DESTINATION_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3463311173, 24827, 19067, [163, 4, 175, 48, 161, 23, 0, 14]);
957 pub const FWPM_CONDITION_IP_FORWARD_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(276215973, 25379, 19550, [152, 16, 232, 211, 252, 158, 97, 54]);
958 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3656253662, 49647, 17943, [191, 227, 255, 216, 245, 160, 137, 87]);
959 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1858598596, 14187, 17879, [158, 156, 211, 55, 206, 220, 210, 55]);
960 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(61221323, 28242, 18936, [156, 65, 87, 9, 99, 60, 9, 207]);
961 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(595705476, 29988, 17843, [160, 91, 30, 99, 125, 156, 122, 106]);
962 pub const FWPM_CONDITION_IP_LOCAL_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1289103945, 22979, 18793, [183, 243, 189, 165, 211, 40, 144, 164]);
963 pub const FWPM_CONDITION_IP_LOCAL_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(203137455, 22373, 17727, [175, 34, 168, 247, 145, 172, 119, 91]);
964 pub const FWPM_CONDITION_IP_NEXTHOP_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3938337930, 42769, 19812, [133, 183, 63, 118, 182, 82, 153, 199]);
965 pub const FWPM_CONDITION_IP_NEXTHOP_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2477690715, 32623, 18201, [152, 200, 20, 233, 116, 41, 239, 4]);
966 pub const FWPM_CONDITION_IP_PHYSICAL_ARRIVAL_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3662730696, 64013, 19593, [176, 50, 110, 98, 19, 109, 30, 150]);
967 pub const FWPM_CONDITION_IP_PHYSICAL_NEXTHOP_INTERFACE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4036744654, 20816, 18622, [176, 152, 194, 81, 82, 251, 31, 146]);
968 pub const FWPM_CONDITION_IP_PROTOCOL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(963768107, 25150, 20378, [140, 177, 110, 121, 184, 6, 185, 167]);
969 pub const FWPM_CONDITION_IP_REMOTE_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2989862554, 7524, 18872, [164, 76, 95, 243, 217, 9, 80, 69]);
970 pub const FWPM_CONDITION_IP_REMOTE_ADDRESS_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(535541264, 15308, 17889, [188, 54, 46, 6, 126, 44, 177, 134]);
971 pub const FWPM_CONDITION_IP_REMOTE_ADDRESS_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(611196300, 35822, 16408, [155, 152, 49, 212, 88, 47, 51, 97]);
972 pub const FWPM_CONDITION_IP_REMOTE_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3277480013, 53803, 19994, [145, 180, 104, 246, 116, 238, 103, 75]);
973 pub const FWPM_CONDITION_IP_SOURCE_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2929101182, 11924, 19401, [179, 19, 178, 126, 232, 14, 87, 77]);
974 pub const FWPM_CONDITION_IP_SOURCE_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2796547985, 15860, 18224, [162, 20, 245, 66, 106, 235, 248, 33]);
975 pub const FWPM_CONDITION_KM_AUTH_NAP_CONTEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(902883854, 5578, 18731, [144, 14, 151, 253, 70, 53, 44, 206]);
976 pub const FWPM_CONDITION_KM_MODE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4277093762, 61327, 20347, [133, 139, 144, 119, 209, 34, 222, 71]);
977 pub const FWPM_CONDITION_KM_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4279197513, 3307, 18459, [134, 56, 20, 121, 121, 31, 63, 44]);
978 pub const FWPM_CONDITION_L2_FLAGS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2076458175, 14266, 17905, [183, 74, 130, 255, 81, 142, 235, 16]);
979 pub const FWPM_CONDITION_LOCAL_INTERFACE_PROFILE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1321170274, 40728, 19718, [153, 65, 167, 166, 37, 116, 77, 113]);
980 pub const FWPM_CONDITION_MAC_DESTINATION_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(82455187, 34188, 16423, [182, 19, 180, 49, 128, 199, 133, 158]);
981 pub const FWPM_CONDITION_MAC_DESTINATION_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2919573810, 61250, 20121, [177, 41, 243, 179, 19, 158, 52, 247]);
982 pub const FWPM_CONDITION_MAC_LOCAL_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3650742657, 31048, 19587, [183, 66, 200, 78, 59, 103, 143, 143]);
983 pub const FWPM_CONDITION_MAC_LOCAL_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3425776988, 12403, 20475, [161, 79, 121, 65, 92, 177, 234, 209]);
984 pub const FWPM_CONDITION_MAC_REMOTE_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1083125460, 14960, 19277, [146, 166, 65, 90, 194, 14, 47, 18]);
985 pub const FWPM_CONDITION_MAC_REMOTE_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(41938356, 61889, 16432, [181, 100, 238, 119, 127, 216, 103, 234]);
986 pub const FWPM_CONDITION_MAC_SOURCE_ADDRESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2071549009, 61942, 19717, [183, 203, 33, 119, 157, 128, 35, 54]);
987 pub const FWPM_CONDITION_MAC_SOURCE_ADDRESS_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1545302756, 10654, 17463, [162, 152, 188, 63, 1, 75, 61, 194]);
988 pub const FWPM_CONDITION_NDIS_MEDIA_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3409039089, 31005, 18235, [137, 209, 97, 197, 152, 67, 4, 160]);
989 pub const FWPM_CONDITION_NDIS_PHYSICAL_MEDIA_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(885495843, 49705, 17650, [184, 60, 116, 2, 8, 130, 174, 119]);
990 pub const FWPM_CONDITION_NDIS_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3682317355, 11692, 19668, [165, 154, 224, 189, 206, 30, 104, 52]);
991 pub const FWPM_CONDITION_NET_EVENT_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(544119190, 18702, 16591, [184, 49, 179, 134, 65, 235, 111, 203]);
992 pub const FWPM_CONDITION_NEXTHOP_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(328099976, 31416, 19813, [158, 232, 5, 145, 188, 246, 164, 148]);
993 pub const FWPM_CONDITION_NEXTHOP_INTERFACE_PROFILE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3623852630, 52650, 18219, [132, 219, 210, 57, 99, 193, 209, 191]);
994 pub const FWPM_CONDITION_NEXTHOP_INTERFACE_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2538830956, 55715, 18279, [163, 129, 233, 66, 103, 92, 217, 32]);
995 pub const FWPM_CONDITION_NEXTHOP_SUB_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4018823458, 1399, 17831, [154, 175, 130, 95, 190, 180, 251, 149]);
996 pub const FWPM_CONDITION_NEXTHOP_TUNNEL_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1924243729, 39035, 18208, [153, 221, 199, 197, 118, 250, 45, 76]);
997 pub const FWPM_CONDITION_ORIGINAL_ICMP_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(124648894, 50540, 20338, [174, 138, 44, 254, 126, 92, 130, 134]);
998 pub const FWPM_CONDITION_ORIGINAL_PROFILE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1189746001, 8789, 18731, [128, 25, 170, 190, 238, 52, 159, 64]);
999 pub const FWPM_CONDITION_PEER_NAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2605944962, 60304, 16774, [166, 204, 222, 91, 99, 35, 80, 22]);
1000 pub const FWPM_CONDITION_PIPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(466646045, 58335, 20004, [134, 52, 118, 32, 70, 238, 246, 235]);
1001 pub const FWPM_CONDITION_PROCESS_WITH_RPC_IF_UUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3809575080, 48061, 19732, [166, 94, 113, 87, 176, 98, 51, 187]);
1002 pub const FWPM_CONDITION_QM_MODE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4132423377, 63947, 17362, [138, 95, 225, 59, 200, 148, 242, 101]);
1003 pub const FWPM_CONDITION_REAUTHORIZE_REASON: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(287334028, 4526, 17786, [138, 68, 71, 112, 38, 221, 118, 74]);
1004 pub const FWPM_CONDITION_REMOTE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4135675645, 1666, 19593, [184, 245, 134, 67, 108, 126, 249, 183]);
1005 pub const FWPM_CONDITION_REMOTE_USER_TOKEN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2616258150, 1737, 16825, [132, 218, 40, 140, 180, 58, 245, 31]);
1006 pub const FWPM_CONDITION_RESERVED0: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1737444843, 17839, 18562, [147, 254, 25, 212, 114, 157, 152, 52]);
1007 pub const FWPM_CONDITION_RESERVED1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3625515047, 23657, 18667, [191, 128, 216, 107, 23, 117, 95, 151]);
1008 pub const FWPM_CONDITION_RESERVED10: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3111772802, 54817, 19596, [177, 132, 177, 5, 166, 28, 54, 206]);
1009 pub const FWPM_CONDITION_RESERVED11: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(761458253, 573, 16671, [149, 130, 67, 172, 187, 121, 89, 117]);
1010 pub const FWPM_CONDITION_RESERVED12: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2741468210, 32309, 19932, [147, 218, 232, 195, 63, 201, 35, 199]);
1011 pub const FWPM_CONDITION_RESERVED13: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(861552272, 33962, 17141, [158, 111, 89, 48, 149, 54, 164, 76]);
1012 pub const FWPM_CONDITION_RESERVED14: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(820268450, 12058, 16662, [165, 89, 249, 7, 222, 131, 96, 74]);
1013 pub const FWPM_CONDITION_RESERVED15: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3132634127, 45024, 17361, [128, 216, 92, 164, 86, 150, 45, 227]);
1014 pub const FWPM_CONDITION_RESERVED2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1406407229, 57691, 20100, [183, 168, 220, 225, 111, 123, 98, 217]);
1015 pub const FWPM_CONDITION_RESERVED3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2137951395, 26118, 18738, [151, 199, 225, 242, 7, 16, 175, 59]);
1016 pub const FWPM_CONDITION_RESERVED4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1599661634, 47415, 18782, [169, 75, 246, 176, 81, 164, 146, 80]);
1017 pub const FWPM_CONDITION_RESERVED5: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2611541709, 63356, 17382, [136, 71, 17, 147, 157, 197, 219, 90]);
1018 pub const FWPM_CONDITION_RESERVED6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4047340733, 22997, 17604, [136, 23, 94, 205, 174, 24, 5, 189]);
1019 pub const FWPM_CONDITION_RESERVED7: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1705048368, 17885, 18819, [170, 51, 239, 199, 182, 17, 175, 8]);
1020 pub const FWPM_CONDITION_RESERVED8: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1329744244, 3090, 18454, [155, 71, 154, 84, 125, 179, 154, 50]);
1021 pub const FWPM_CONDITION_RESERVED9: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3464028431, 5119, 19568, [134, 67, 54, 173, 24, 121, 175, 163]);
1022 pub const FWPM_CONDITION_RPC_AUTH_LEVEL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3852512981, 22956, 18154, [190, 5, 165, 240, 94, 207, 68, 110]);
1023 pub const FWPM_CONDITION_RPC_AUTH_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3669652651, 3431, 17383, [152, 110, 117, 184, 79, 130, 245, 148]);
1024 pub const FWPM_CONDITION_RPC_EP_FLAGS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(562790730, 2617, 18872, [142, 113, 194, 12, 57, 199, 221, 46]);
1025 pub const FWPM_CONDITION_RPC_EP_VALUE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3704529081, 2182, 17248, [156, 106, 171, 4, 58, 36, 251, 169]);
1026 pub const FWPM_CONDITION_RPC_IF_FLAG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(596281906, 12697, 18045, [135, 28, 39, 38, 33, 171, 56, 150]);
1027 pub const FWPM_CONDITION_RPC_IF_UUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2090630559, 117, 19765, [160, 209, 131, 17, 196, 207, 106, 241]);
1028 pub const FWPM_CONDITION_RPC_IF_VERSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3938441655, 4706, 18990, [173, 170, 95, 150, 246, 254, 50, 109]);
1029 pub const FWPM_CONDITION_RPC_PROTOCOL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(655866996, 14901, 19687, [183, 239, 200, 56, 250, 189, 236, 69]);
1030 pub const FWPM_CONDITION_RPC_PROXY_AUTH_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1083523042, 34149, 18265, [132, 136, 23, 113, 180, 180, 181, 219]);
1031 pub const FWPM_CONDITION_RPC_SERVER_NAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3053822501, 50099, 18631, [152, 51, 122, 239, 169, 82, 117, 70]);
1032 pub const FWPM_CONDITION_RPC_SERVER_PORT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2156983877, 39637, 20027, [159, 159, 128, 35, 202, 9, 121, 9]);
1033 pub const FWPM_CONDITION_SEC_ENCRYPT_ALGORITHM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(221277936, 59764, 20340, [181, 199, 89, 27, 13, 167, 213, 98]);
1034 pub const FWPM_CONDITION_SEC_KEY_SIZE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1198659643, 52472, 19179, [188, 225, 198, 198, 22, 28, 143, 228]);
1035 pub const FWPM_CONDITION_SOURCE_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(588329805, 51501, 17855, [148, 150, 237, 244, 71, 130, 14, 45]);
1036 pub const FWPM_CONDITION_SOURCE_SUB_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(90103197, 44242, 17249, [141, 171, 249, 82, 93, 151, 102, 47]);
1037 pub const FWPM_CONDITION_SUB_INTERFACE_INDEX: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(215229555, 54817, 19427, [174, 140, 114, 163, 72, 210, 131, 225]);
1038 pub const FWPM_CONDITION_TUNNEL_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2007237687, 34681, 18536, [162, 97, 245, 169, 2, 241, 192, 205]);
1039 pub const FWPM_CONDITION_VLAN_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2475600673, 13848, 20068, [156, 165, 33, 65, 235, 218, 28, 162]);
1040 pub const FWPM_CONDITION_VSWITCH_DESTINATION_INTERFACE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2396294116, 51494, 18934, [164, 246, 239, 48, 48, 227, 252, 22]);
1041 pub const FWPM_CONDITION_VSWITCH_DESTINATION_INTERFACE_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4204478214, 12058, 19543, [158, 104, 167, 9, 139, 40, 219, 254]);
1042 pub const FWPM_CONDITION_VSWITCH_DESTINATION_VM_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1627826894, 19937, 19588, [150, 113, 54, 55, 248, 188, 247, 49]);
1043 pub const FWPM_CONDITION_VSWITCH_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3299087546, 17275, 19942, [153, 70, 217, 156, 27, 149, 179, 18]);
1044 pub const FWPM_CONDITION_VSWITCH_NETWORK_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(299141963, 59258, 16564, [145, 85, 57, 44, 144, 108, 38, 8]);
1045 pub const FWPM_CONDITION_VSWITCH_SOURCE_INTERFACE_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2135880267, 45761, 18744, [186, 51, 161, 236, 190, 213, 18, 186]);
1046 pub const FWPM_CONDITION_VSWITCH_SOURCE_INTERFACE_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3870310562, 60847, 19510, [144, 139, 242, 245, 138, 228, 56, 7]);
1047 pub const FWPM_CONDITION_VSWITCH_SOURCE_VM_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2620038850, 40902, 17084, [189, 216, 64, 109, 77, 160, 190, 100]);
1048 pub const FWPM_CONDITION_VSWITCH_TENANT_NETWORK_ID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3691283516, 31206, 20036, [160, 37, 101, 185, 187, 15, 159, 148]);
1049 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1050 #[repr(C)]
1051 #[cfg(feature = "Win32_Foundation")]
1052 pub struct FWPM_CONNECTION0 {
1053     pub connectionId: u64,
1054     pub ipVersion: FWP_IP_VERSION,
1055     pub Anonymous1: FWPM_CONNECTION0_0,
1056     pub Anonymous2: FWPM_CONNECTION0_1,
1057     pub providerKey: *mut ::windows::runtime::GUID,
1058     pub ipsecTrafficModeType: IPSEC_TRAFFIC_TYPE,
1059     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
1060     pub mmCrypto: IKEEXT_PROPOSAL0,
1061     pub mmPeer: IKEEXT_CREDENTIAL2,
1062     pub emPeer: IKEEXT_CREDENTIAL2,
1063     pub bytesTransferredIn: u64,
1064     pub bytesTransferredOut: u64,
1065     pub bytesTransferredTotal: u64,
1066     pub startSysTime: super::super::Foundation::FILETIME,
1067 }
1068 #[cfg(feature = "Win32_Foundation")]
1069 impl FWPM_CONNECTION0 {}
1070 #[cfg(feature = "Win32_Foundation")]
1071 impl ::std::default::Default for FWPM_CONNECTION0 {
default() -> Self1072     fn default() -> Self {
1073         unsafe { ::std::mem::zeroed() }
1074     }
1075 }
1076 #[cfg(feature = "Win32_Foundation")]
1077 impl ::std::cmp::PartialEq for FWPM_CONNECTION0 {
eq(&self, _other: &Self) -> bool1078     fn eq(&self, _other: &Self) -> bool {
1079         unimplemented!()
1080     }
1081 }
1082 #[cfg(feature = "Win32_Foundation")]
1083 impl ::std::cmp::Eq for FWPM_CONNECTION0 {}
1084 #[cfg(feature = "Win32_Foundation")]
1085 unsafe impl ::windows::runtime::Abi for FWPM_CONNECTION0 {
1086     type Abi = Self;
1087     type DefaultType = Self;
1088 }
1089 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1090 #[repr(C)]
1091 pub union FWPM_CONNECTION0_0 {
1092     pub localV4Address: u32,
1093     pub localV6Address: [u8; 16],
1094 }
1095 impl FWPM_CONNECTION0_0 {}
1096 impl ::std::default::Default for FWPM_CONNECTION0_0 {
default() -> Self1097     fn default() -> Self {
1098         unsafe { ::std::mem::zeroed() }
1099     }
1100 }
1101 impl ::std::cmp::PartialEq for FWPM_CONNECTION0_0 {
eq(&self, _other: &Self) -> bool1102     fn eq(&self, _other: &Self) -> bool {
1103         unimplemented!()
1104     }
1105 }
1106 impl ::std::cmp::Eq for FWPM_CONNECTION0_0 {}
1107 unsafe impl ::windows::runtime::Abi for FWPM_CONNECTION0_0 {
1108     type Abi = Self;
1109     type DefaultType = Self;
1110 }
1111 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1112 #[repr(C)]
1113 pub union FWPM_CONNECTION0_1 {
1114     pub remoteV4Address: u32,
1115     pub remoteV6Address: [u8; 16],
1116 }
1117 impl FWPM_CONNECTION0_1 {}
1118 impl ::std::default::Default for FWPM_CONNECTION0_1 {
default() -> Self1119     fn default() -> Self {
1120         unsafe { ::std::mem::zeroed() }
1121     }
1122 }
1123 impl ::std::cmp::PartialEq for FWPM_CONNECTION0_1 {
eq(&self, _other: &Self) -> bool1124     fn eq(&self, _other: &Self) -> bool {
1125         unimplemented!()
1126     }
1127 }
1128 impl ::std::cmp::Eq for FWPM_CONNECTION0_1 {}
1129 unsafe impl ::windows::runtime::Abi for FWPM_CONNECTION0_1 {
1130     type Abi = Self;
1131     type DefaultType = Self;
1132 }
1133 #[cfg(feature = "Win32_Foundation")]
1134 pub type FWPM_CONNECTION_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, eventtype: FWPM_CONNECTION_EVENT_TYPE, connection: *const FWPM_CONNECTION0);
1135 pub const FWPM_CONNECTION_ENUM_FLAG_QUERY_BYTES_TRANSFERRED: u32 = 1u32;
1136 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1137 #[repr(C)]
1138 pub struct FWPM_CONNECTION_ENUM_TEMPLATE0 {
1139     pub connectionId: u64,
1140     pub flags: u32,
1141 }
1142 impl FWPM_CONNECTION_ENUM_TEMPLATE0 {}
1143 impl ::std::default::Default for FWPM_CONNECTION_ENUM_TEMPLATE0 {
default() -> Self1144     fn default() -> Self {
1145         unsafe { ::std::mem::zeroed() }
1146     }
1147 }
1148 impl ::std::fmt::Debug for FWPM_CONNECTION_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1149     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1150         fmt.debug_struct("FWPM_CONNECTION_ENUM_TEMPLATE0").field("connectionId", &self.connectionId).field("flags", &self.flags).finish()
1151     }
1152 }
1153 impl ::std::cmp::PartialEq for FWPM_CONNECTION_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool1154     fn eq(&self, other: &Self) -> bool {
1155         self.connectionId == other.connectionId && self.flags == other.flags
1156     }
1157 }
1158 impl ::std::cmp::Eq for FWPM_CONNECTION_ENUM_TEMPLATE0 {}
1159 unsafe impl ::windows::runtime::Abi for FWPM_CONNECTION_ENUM_TEMPLATE0 {
1160     type Abi = Self;
1161     type DefaultType = Self;
1162 }
1163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1164 #[repr(transparent)]
1165 pub struct FWPM_CONNECTION_EVENT_TYPE(pub i32);
1166 pub const FWPM_CONNECTION_EVENT_ADD: FWPM_CONNECTION_EVENT_TYPE = FWPM_CONNECTION_EVENT_TYPE(0i32);
1167 pub const FWPM_CONNECTION_EVENT_DELETE: FWPM_CONNECTION_EVENT_TYPE = FWPM_CONNECTION_EVENT_TYPE(1i32);
1168 pub const FWPM_CONNECTION_EVENT_MAX: FWPM_CONNECTION_EVENT_TYPE = FWPM_CONNECTION_EVENT_TYPE(2i32);
1169 impl ::std::convert::From<i32> for FWPM_CONNECTION_EVENT_TYPE {
from(value: i32) -> Self1170     fn from(value: i32) -> Self {
1171         Self(value)
1172     }
1173 }
1174 unsafe impl ::windows::runtime::Abi for FWPM_CONNECTION_EVENT_TYPE {
1175     type Abi = Self;
1176     type DefaultType = Self;
1177 }
1178 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1179 #[repr(C)]
1180 pub struct FWPM_CONNECTION_SUBSCRIPTION0 {
1181     pub enumTemplate: *mut FWPM_CONNECTION_ENUM_TEMPLATE0,
1182     pub flags: u32,
1183     pub sessionKey: ::windows::runtime::GUID,
1184 }
1185 impl FWPM_CONNECTION_SUBSCRIPTION0 {}
1186 impl ::std::default::Default for FWPM_CONNECTION_SUBSCRIPTION0 {
default() -> Self1187     fn default() -> Self {
1188         unsafe { ::std::mem::zeroed() }
1189     }
1190 }
1191 impl ::std::fmt::Debug for FWPM_CONNECTION_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1192     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1193         fmt.debug_struct("FWPM_CONNECTION_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
1194     }
1195 }
1196 impl ::std::cmp::PartialEq for FWPM_CONNECTION_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool1197     fn eq(&self, other: &Self) -> bool {
1198         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
1199     }
1200 }
1201 impl ::std::cmp::Eq for FWPM_CONNECTION_SUBSCRIPTION0 {}
1202 unsafe impl ::windows::runtime::Abi for FWPM_CONNECTION_SUBSCRIPTION0 {
1203     type Abi = Self;
1204     type DefaultType = Self;
1205 }
1206 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1207 #[repr(C)]
1208 #[cfg(feature = "Win32_Foundation")]
1209 pub struct FWPM_DISPLAY_DATA0 {
1210     pub name: super::super::Foundation::PWSTR,
1211     pub description: super::super::Foundation::PWSTR,
1212 }
1213 #[cfg(feature = "Win32_Foundation")]
1214 impl FWPM_DISPLAY_DATA0 {}
1215 #[cfg(feature = "Win32_Foundation")]
1216 impl ::std::default::Default for FWPM_DISPLAY_DATA0 {
default() -> Self1217     fn default() -> Self {
1218         unsafe { ::std::mem::zeroed() }
1219     }
1220 }
1221 #[cfg(feature = "Win32_Foundation")]
1222 impl ::std::fmt::Debug for FWPM_DISPLAY_DATA0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1223     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1224         fmt.debug_struct("FWPM_DISPLAY_DATA0").field("name", &self.name).field("description", &self.description).finish()
1225     }
1226 }
1227 #[cfg(feature = "Win32_Foundation")]
1228 impl ::std::cmp::PartialEq for FWPM_DISPLAY_DATA0 {
eq(&self, other: &Self) -> bool1229     fn eq(&self, other: &Self) -> bool {
1230         self.name == other.name && self.description == other.description
1231     }
1232 }
1233 #[cfg(feature = "Win32_Foundation")]
1234 impl ::std::cmp::Eq for FWPM_DISPLAY_DATA0 {}
1235 #[cfg(feature = "Win32_Foundation")]
1236 unsafe impl ::windows::runtime::Abi for FWPM_DISPLAY_DATA0 {
1237     type Abi = Self;
1238     type DefaultType = Self;
1239 }
1240 pub type FWPM_DYNAMIC_KEYWORD_CALLBACK0 = unsafe extern "system" fn(notification: *mut ::std::ffi::c_void, context: *mut ::std::ffi::c_void);
1241 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1242 #[repr(transparent)]
1243 pub struct FWPM_ENGINE_OPTION(pub i32);
1244 pub const FWPM_ENGINE_COLLECT_NET_EVENTS: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(0i32);
1245 pub const FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(1i32);
1246 pub const FWPM_ENGINE_NAME_CACHE: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(2i32);
1247 pub const FWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(3i32);
1248 pub const FWPM_ENGINE_PACKET_QUEUING: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(4i32);
1249 pub const FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(5i32);
1250 pub const FWPM_ENGINE_OPTION_MAX: FWPM_ENGINE_OPTION = FWPM_ENGINE_OPTION(6i32);
1251 impl ::std::convert::From<i32> for FWPM_ENGINE_OPTION {
from(value: i32) -> Self1252     fn from(value: i32) -> Self {
1253         Self(value)
1254     }
1255 }
1256 unsafe impl ::windows::runtime::Abi for FWPM_ENGINE_OPTION {
1257     type Abi = Self;
1258     type DefaultType = Self;
1259 }
1260 pub const FWPM_ENGINE_OPTION_PACKET_BATCH_INBOUND: u32 = 4u32;
1261 pub const FWPM_ENGINE_OPTION_PACKET_QUEUE_FORWARD: u32 = 2u32;
1262 pub const FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND: u32 = 1u32;
1263 pub const FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE: u32 = 0u32;
1264 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1265 #[repr(C)]
1266 pub struct FWPM_FIELD0 {
1267     pub fieldKey: *mut ::windows::runtime::GUID,
1268     pub r#type: FWPM_FIELD_TYPE,
1269     pub dataType: FWP_DATA_TYPE,
1270 }
1271 impl FWPM_FIELD0 {}
1272 impl ::std::default::Default for FWPM_FIELD0 {
default() -> Self1273     fn default() -> Self {
1274         unsafe { ::std::mem::zeroed() }
1275     }
1276 }
1277 impl ::std::fmt::Debug for FWPM_FIELD0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1278     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1279         fmt.debug_struct("FWPM_FIELD0").field("fieldKey", &self.fieldKey).field("r#type", &self.r#type).field("dataType", &self.dataType).finish()
1280     }
1281 }
1282 impl ::std::cmp::PartialEq for FWPM_FIELD0 {
eq(&self, other: &Self) -> bool1283     fn eq(&self, other: &Self) -> bool {
1284         self.fieldKey == other.fieldKey && self.r#type == other.r#type && self.dataType == other.dataType
1285     }
1286 }
1287 impl ::std::cmp::Eq for FWPM_FIELD0 {}
1288 unsafe impl ::windows::runtime::Abi for FWPM_FIELD0 {
1289     type Abi = Self;
1290     type DefaultType = Self;
1291 }
1292 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1293 #[repr(transparent)]
1294 pub struct FWPM_FIELD_TYPE(pub i32);
1295 pub const FWPM_FIELD_RAW_DATA: FWPM_FIELD_TYPE = FWPM_FIELD_TYPE(0i32);
1296 pub const FWPM_FIELD_IP_ADDRESS: FWPM_FIELD_TYPE = FWPM_FIELD_TYPE(1i32);
1297 pub const FWPM_FIELD_FLAGS: FWPM_FIELD_TYPE = FWPM_FIELD_TYPE(2i32);
1298 pub const FWPM_FIELD_TYPE_MAX: FWPM_FIELD_TYPE = FWPM_FIELD_TYPE(3i32);
1299 impl ::std::convert::From<i32> for FWPM_FIELD_TYPE {
from(value: i32) -> Self1300     fn from(value: i32) -> Self {
1301         Self(value)
1302     }
1303 }
1304 unsafe impl ::windows::runtime::Abi for FWPM_FIELD_TYPE {
1305     type Abi = Self;
1306     type DefaultType = Self;
1307 }
1308 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1309 #[repr(C)]
1310 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1311 pub struct FWPM_FILTER0 {
1312     pub filterKey: ::windows::runtime::GUID,
1313     pub displayData: FWPM_DISPLAY_DATA0,
1314     pub flags: FWPM_FILTER_FLAGS,
1315     pub providerKey: *mut ::windows::runtime::GUID,
1316     pub providerData: FWP_BYTE_BLOB,
1317     pub layerKey: ::windows::runtime::GUID,
1318     pub subLayerKey: ::windows::runtime::GUID,
1319     pub weight: FWP_VALUE0,
1320     pub numFilterConditions: u32,
1321     pub filterCondition: *mut FWPM_FILTER_CONDITION0,
1322     pub action: FWPM_ACTION0,
1323     pub Anonymous: FWPM_FILTER0_0,
1324     pub reserved: *mut ::windows::runtime::GUID,
1325     pub filterId: u64,
1326     pub effectiveWeight: FWP_VALUE0,
1327 }
1328 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1329 impl FWPM_FILTER0 {}
1330 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1331 impl ::std::default::Default for FWPM_FILTER0 {
default() -> Self1332     fn default() -> Self {
1333         unsafe { ::std::mem::zeroed() }
1334     }
1335 }
1336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1337 impl ::std::cmp::PartialEq for FWPM_FILTER0 {
eq(&self, _other: &Self) -> bool1338     fn eq(&self, _other: &Self) -> bool {
1339         unimplemented!()
1340     }
1341 }
1342 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1343 impl ::std::cmp::Eq for FWPM_FILTER0 {}
1344 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1345 unsafe impl ::windows::runtime::Abi for FWPM_FILTER0 {
1346     type Abi = Self;
1347     type DefaultType = Self;
1348 }
1349 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1350 #[repr(C)]
1351 pub union FWPM_FILTER0_0 {
1352     pub rawContext: u64,
1353     pub providerContextKey: ::windows::runtime::GUID,
1354 }
1355 impl FWPM_FILTER0_0 {}
1356 impl ::std::default::Default for FWPM_FILTER0_0 {
default() -> Self1357     fn default() -> Self {
1358         unsafe { ::std::mem::zeroed() }
1359     }
1360 }
1361 impl ::std::cmp::PartialEq for FWPM_FILTER0_0 {
eq(&self, _other: &Self) -> bool1362     fn eq(&self, _other: &Self) -> bool {
1363         unimplemented!()
1364     }
1365 }
1366 impl ::std::cmp::Eq for FWPM_FILTER0_0 {}
1367 unsafe impl ::windows::runtime::Abi for FWPM_FILTER0_0 {
1368     type Abi = Self;
1369     type DefaultType = Self;
1370 }
1371 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1372 #[repr(C)]
1373 pub struct FWPM_FILTER_CHANGE0 {
1374     pub changeType: FWPM_CHANGE_TYPE,
1375     pub filterKey: ::windows::runtime::GUID,
1376     pub filterId: u64,
1377 }
1378 impl FWPM_FILTER_CHANGE0 {}
1379 impl ::std::default::Default for FWPM_FILTER_CHANGE0 {
default() -> Self1380     fn default() -> Self {
1381         unsafe { ::std::mem::zeroed() }
1382     }
1383 }
1384 impl ::std::fmt::Debug for FWPM_FILTER_CHANGE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1385     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1386         fmt.debug_struct("FWPM_FILTER_CHANGE0").field("changeType", &self.changeType).field("filterKey", &self.filterKey).field("filterId", &self.filterId).finish()
1387     }
1388 }
1389 impl ::std::cmp::PartialEq for FWPM_FILTER_CHANGE0 {
eq(&self, other: &Self) -> bool1390     fn eq(&self, other: &Self) -> bool {
1391         self.changeType == other.changeType && self.filterKey == other.filterKey && self.filterId == other.filterId
1392     }
1393 }
1394 impl ::std::cmp::Eq for FWPM_FILTER_CHANGE0 {}
1395 unsafe impl ::windows::runtime::Abi for FWPM_FILTER_CHANGE0 {
1396     type Abi = Self;
1397     type DefaultType = Self;
1398 }
1399 pub type FWPM_FILTER_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, change: *const FWPM_FILTER_CHANGE0);
1400 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1401 #[repr(C)]
1402 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1403 pub struct FWPM_FILTER_CONDITION0 {
1404     pub fieldKey: ::windows::runtime::GUID,
1405     pub matchType: FWP_MATCH_TYPE,
1406     pub conditionValue: FWP_CONDITION_VALUE0,
1407 }
1408 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1409 impl FWPM_FILTER_CONDITION0 {}
1410 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1411 impl ::std::default::Default for FWPM_FILTER_CONDITION0 {
default() -> Self1412     fn default() -> Self {
1413         unsafe { ::std::mem::zeroed() }
1414     }
1415 }
1416 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1417 impl ::std::cmp::PartialEq for FWPM_FILTER_CONDITION0 {
eq(&self, _other: &Self) -> bool1418     fn eq(&self, _other: &Self) -> bool {
1419         unimplemented!()
1420     }
1421 }
1422 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1423 impl ::std::cmp::Eq for FWPM_FILTER_CONDITION0 {}
1424 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1425 unsafe impl ::windows::runtime::Abi for FWPM_FILTER_CONDITION0 {
1426     type Abi = Self;
1427     type DefaultType = Self;
1428 }
1429 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1430 #[repr(C)]
1431 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1432 pub struct FWPM_FILTER_ENUM_TEMPLATE0 {
1433     pub providerKey: *mut ::windows::runtime::GUID,
1434     pub layerKey: ::windows::runtime::GUID,
1435     pub enumType: FWP_FILTER_ENUM_TYPE,
1436     pub flags: u32,
1437     pub providerContextTemplate: *mut FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0,
1438     pub numFilterConditions: u32,
1439     pub filterCondition: *mut FWPM_FILTER_CONDITION0,
1440     pub actionMask: u32,
1441     pub calloutKey: *mut ::windows::runtime::GUID,
1442 }
1443 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1444 impl FWPM_FILTER_ENUM_TEMPLATE0 {}
1445 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1446 impl ::std::default::Default for FWPM_FILTER_ENUM_TEMPLATE0 {
default() -> Self1447     fn default() -> Self {
1448         unsafe { ::std::mem::zeroed() }
1449     }
1450 }
1451 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1452 impl ::std::fmt::Debug for FWPM_FILTER_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1453     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1454         fmt.debug_struct("FWPM_FILTER_ENUM_TEMPLATE0")
1455             .field("providerKey", &self.providerKey)
1456             .field("layerKey", &self.layerKey)
1457             .field("enumType", &self.enumType)
1458             .field("flags", &self.flags)
1459             .field("providerContextTemplate", &self.providerContextTemplate)
1460             .field("numFilterConditions", &self.numFilterConditions)
1461             .field("filterCondition", &self.filterCondition)
1462             .field("actionMask", &self.actionMask)
1463             .field("calloutKey", &self.calloutKey)
1464             .finish()
1465     }
1466 }
1467 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1468 impl ::std::cmp::PartialEq for FWPM_FILTER_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool1469     fn eq(&self, other: &Self) -> bool {
1470         self.providerKey == other.providerKey && self.layerKey == other.layerKey && self.enumType == other.enumType && self.flags == other.flags && self.providerContextTemplate == other.providerContextTemplate && self.numFilterConditions == other.numFilterConditions && self.filterCondition == other.filterCondition && self.actionMask == other.actionMask && self.calloutKey == other.calloutKey
1471     }
1472 }
1473 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1474 impl ::std::cmp::Eq for FWPM_FILTER_ENUM_TEMPLATE0 {}
1475 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1476 unsafe impl ::windows::runtime::Abi for FWPM_FILTER_ENUM_TEMPLATE0 {
1477     type Abi = Self;
1478     type DefaultType = Self;
1479 }
1480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1481 #[repr(transparent)]
1482 pub struct FWPM_FILTER_FLAGS(pub u32);
1483 pub const FWPM_FILTER_FLAG_NONE: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(0u32);
1484 pub const FWPM_FILTER_FLAG_PERSISTENT: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(1u32);
1485 pub const FWPM_FILTER_FLAG_BOOTTIME: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(2u32);
1486 pub const FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(4u32);
1487 pub const FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(8u32);
1488 pub const FWPM_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(16u32);
1489 pub const FWPM_FILTER_FLAG_DISABLED: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(32u32);
1490 pub const FWPM_FILTER_FLAG_INDEXED: FWPM_FILTER_FLAGS = FWPM_FILTER_FLAGS(64u32);
1491 impl ::std::convert::From<u32> for FWPM_FILTER_FLAGS {
from(value: u32) -> Self1492     fn from(value: u32) -> Self {
1493         Self(value)
1494     }
1495 }
1496 unsafe impl ::windows::runtime::Abi for FWPM_FILTER_FLAGS {
1497     type Abi = Self;
1498     type DefaultType = Self;
1499 }
1500 impl ::std::ops::BitOr for FWPM_FILTER_FLAGS {
1501     type Output = Self;
bitor(self, rhs: Self) -> Self1502     fn bitor(self, rhs: Self) -> Self {
1503         Self(self.0 | rhs.0)
1504     }
1505 }
1506 impl ::std::ops::BitAnd for FWPM_FILTER_FLAGS {
1507     type Output = Self;
bitand(self, rhs: Self) -> Self1508     fn bitand(self, rhs: Self) -> Self {
1509         Self(self.0 & rhs.0)
1510     }
1511 }
1512 impl ::std::ops::BitOrAssign for FWPM_FILTER_FLAGS {
bitor_assign(&mut self, rhs: Self)1513     fn bitor_assign(&mut self, rhs: Self) {
1514         self.0.bitor_assign(rhs.0)
1515     }
1516 }
1517 impl ::std::ops::BitAndAssign for FWPM_FILTER_FLAGS {
bitand_assign(&mut self, rhs: Self)1518     fn bitand_assign(&mut self, rhs: Self) {
1519         self.0.bitand_assign(rhs.0)
1520     }
1521 }
1522 impl ::std::ops::Not for FWPM_FILTER_FLAGS {
1523     type Output = Self;
not(self) -> Self1524     fn not(self) -> Self {
1525         Self(self.0.not())
1526     }
1527 }
1528 pub const FWPM_FILTER_FLAG_GAMEOS_ONLY: u32 = 512u32;
1529 pub const FWPM_FILTER_FLAG_HAS_SECURITY_REALM_PROVIDER_CONTEXT: u32 = 128u32;
1530 pub const FWPM_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE: u32 = 2048u32;
1531 pub const FWPM_FILTER_FLAG_RESERVED0: u32 = 4096u32;
1532 pub const FWPM_FILTER_FLAG_RESERVED1: u32 = 8192u32;
1533 pub const FWPM_FILTER_FLAG_SILENT_MODE: u32 = 1024u32;
1534 pub const FWPM_FILTER_FLAG_SYSTEMOS_ONLY: u32 = 256u32;
1535 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1536 #[repr(C)]
1537 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1538 pub struct FWPM_FILTER_SUBSCRIPTION0 {
1539     pub enumTemplate: *mut FWPM_FILTER_ENUM_TEMPLATE0,
1540     pub flags: u32,
1541     pub sessionKey: ::windows::runtime::GUID,
1542 }
1543 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1544 impl FWPM_FILTER_SUBSCRIPTION0 {}
1545 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1546 impl ::std::default::Default for FWPM_FILTER_SUBSCRIPTION0 {
default() -> Self1547     fn default() -> Self {
1548         unsafe { ::std::mem::zeroed() }
1549     }
1550 }
1551 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1552 impl ::std::fmt::Debug for FWPM_FILTER_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1553     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1554         fmt.debug_struct("FWPM_FILTER_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
1555     }
1556 }
1557 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1558 impl ::std::cmp::PartialEq for FWPM_FILTER_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool1559     fn eq(&self, other: &Self) -> bool {
1560         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
1561     }
1562 }
1563 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1564 impl ::std::cmp::Eq for FWPM_FILTER_SUBSCRIPTION0 {}
1565 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1566 unsafe impl ::windows::runtime::Abi for FWPM_FILTER_SUBSCRIPTION0 {
1567     type Abi = Self;
1568     type DefaultType = Self;
1569 }
1570 pub const FWPM_KEYING_MODULE_AUTHIP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(300145376, 56614, 17808, [133, 125, 171, 75, 40, 209, 160, 149]);
1571 pub const FWPM_KEYING_MODULE_IKE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2847668103, 33448, 17851, [164, 0, 93, 126, 89, 82, 199, 169]);
1572 pub const FWPM_KEYING_MODULE_IKEV2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(68653772, 36615, 16797, [163, 148, 113, 105, 104, 203, 22, 71]);
1573 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1574 #[repr(C)]
1575 #[cfg(feature = "Win32_Foundation")]
1576 pub struct FWPM_LAYER0 {
1577     pub layerKey: ::windows::runtime::GUID,
1578     pub displayData: FWPM_DISPLAY_DATA0,
1579     pub flags: u32,
1580     pub numFields: u32,
1581     pub field: *mut FWPM_FIELD0,
1582     pub defaultSubLayerKey: ::windows::runtime::GUID,
1583     pub layerId: u16,
1584 }
1585 #[cfg(feature = "Win32_Foundation")]
1586 impl FWPM_LAYER0 {}
1587 #[cfg(feature = "Win32_Foundation")]
1588 impl ::std::default::Default for FWPM_LAYER0 {
default() -> Self1589     fn default() -> Self {
1590         unsafe { ::std::mem::zeroed() }
1591     }
1592 }
1593 #[cfg(feature = "Win32_Foundation")]
1594 impl ::std::fmt::Debug for FWPM_LAYER0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1595     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1596         fmt.debug_struct("FWPM_LAYER0").field("layerKey", &self.layerKey).field("displayData", &self.displayData).field("flags", &self.flags).field("numFields", &self.numFields).field("field", &self.field).field("defaultSubLayerKey", &self.defaultSubLayerKey).field("layerId", &self.layerId).finish()
1597     }
1598 }
1599 #[cfg(feature = "Win32_Foundation")]
1600 impl ::std::cmp::PartialEq for FWPM_LAYER0 {
eq(&self, other: &Self) -> bool1601     fn eq(&self, other: &Self) -> bool {
1602         self.layerKey == other.layerKey && self.displayData == other.displayData && self.flags == other.flags && self.numFields == other.numFields && self.field == other.field && self.defaultSubLayerKey == other.defaultSubLayerKey && self.layerId == other.layerId
1603     }
1604 }
1605 #[cfg(feature = "Win32_Foundation")]
1606 impl ::std::cmp::Eq for FWPM_LAYER0 {}
1607 #[cfg(feature = "Win32_Foundation")]
1608 unsafe impl ::windows::runtime::Abi for FWPM_LAYER0 {
1609     type Abi = Self;
1610     type DefaultType = Self;
1611 }
1612 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3280820177, 1447, 19507, [144, 79, 127, 188, 238, 230, 14, 130]);
1613 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3593644033, 62906, 19158, [150, 227, 96, 112, 23, 217, 131, 106]);
1614 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1248999739, 12703, 17596, [132, 195, 186, 84, 220, 179, 182, 180]);
1615 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3380331448, 51619, 20019, [134, 149, 142, 23, 170, 212, 222, 9]);
1616 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2293980589, 30423, 16935, [156, 113, 223, 10, 62, 215, 190, 126]);
1617 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(924711642, 40742, 17917, [180, 235, 194, 158, 178, 18, 137, 63]);
1618 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2060049956, 6109, 18452, [180, 189, 169, 251, 201, 90, 50, 27]);
1619 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1617967879, 25544, 18665, [173, 163, 18, 177, 175, 64, 166, 23]);
1620 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3788349415, 62645, 17011, [150, 192, 89, 46, 72, 123, 134, 80]);
1621 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2666178971, 48418, 16935, [145, 159, 0, 115, 198, 51, 87, 177]);
1622 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2746494103, 40708, 18034, [184, 126, 206, 233, 196, 131, 37, 127]);
1623 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2303024023, 56289, 17727, [162, 36, 19, 218, 137, 90, 243, 150]);
1624 pub const FWPM_LAYER_ALE_BIND_REDIRECT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1721207981, 50948, 17068, [134, 172, 124, 26, 35, 27, 210, 83]);
1625 pub const FWPM_LAYER_ALE_BIND_REDIRECT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3203411100, 24683, 17718, [140, 38, 28, 47, 199, 182, 49, 212]);
1626 pub const FWPM_LAYER_ALE_CONNECT_REDIRECT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336977548, 46980, 17762, [170, 125, 10, 103, 207, 202, 249, 163]);
1627 pub const FWPM_LAYER_ALE_CONNECT_REDIRECT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1484674215, 32838, 17082, [160, 170, 183, 22, 37, 15, 199, 253]);
1628 pub const FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027657767, 58018, 18042, [189, 126, 219, 205, 27, 216, 90, 9]);
1629 pub const FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3142806733, 18261, 19369, [159, 247, 249, 237, 248, 105, 156, 123]);
1630 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2944419594, 21910, 19475, [153, 146, 83, 158, 111, 229, 121, 103]);
1631 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(342549673, 41426, 19779, [163, 26, 76, 66, 104, 43, 142, 79]);
1632 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1881264819, 57252, 16494, [175, 235, 106, 250, 247, 231, 14, 253]);
1633 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1184007734, 48074, 19318, [148, 29, 15, 167, 245, 215, 211, 114]);
1634 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(306697837, 2912, 18965, [141, 68, 113, 85, 208, 245, 58, 12]);
1635 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(190321314, 50175, 20170, [184, 141, 199, 158, 32, 172, 99, 34]);
1636 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1436963041, 24330, 20170, [166, 83, 136, 245, 59, 38, 170, 140]);
1637 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3418986683, 50463, 19482, [187, 79, 151, 117, 252, 172, 171, 47]);
1638 pub const FWPM_LAYER_ALE_RESOURCE_RELEASE_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1949719758, 52400, 16410, [191, 193, 184, 153, 52, 173, 126, 21]);
1639 pub const FWPM_LAYER_ALE_RESOURCE_RELEASE_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4108701312, 60876, 19987, [138, 47, 185, 20, 84, 187, 5, 123]);
1640 pub const FWPM_LAYER_DATAGRAM_DATA_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1023983438, 17910, 18736, [169, 34, 65, 112, 152, 226, 0, 39]);
1641 pub const FWPM_LAYER_DATAGRAM_DATA_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(417542342, 29256, 20050, [170, 171, 71, 46, 214, 119, 4, 253]);
1642 pub const FWPM_LAYER_DATAGRAM_DATA_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4198891055, 15546, 17447, [135, 252, 87, 185, 164, 177, 13, 0]);
1643 pub const FWPM_LAYER_DATAGRAM_DATA_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(164749281, 39814, 19010, [190, 157, 140, 49, 91, 146, 165, 208]);
1644 pub const FWPM_LAYER_EGRESS_VSWITCH_ETHERNET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2261283504, 30458, 19321, [147, 164, 7, 80, 83, 10, 226, 146]);
1645 pub const FWPM_LAYER_EGRESS_VSWITCH_TRANSPORT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3106099382, 37360, 18102, [189, 196, 135, 29, 253, 74, 124, 152]);
1646 pub const FWPM_LAYER_EGRESS_VSWITCH_TRANSPORT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(455995171, 6273, 16573, [130, 244, 66, 84, 230, 49, 65, 203]);
1647 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1648 #[repr(C)]
1649 pub struct FWPM_LAYER_ENUM_TEMPLATE0 {
1650     pub reserved: u64,
1651 }
1652 impl FWPM_LAYER_ENUM_TEMPLATE0 {}
1653 impl ::std::default::Default for FWPM_LAYER_ENUM_TEMPLATE0 {
default() -> Self1654     fn default() -> Self {
1655         unsafe { ::std::mem::zeroed() }
1656     }
1657 }
1658 impl ::std::fmt::Debug for FWPM_LAYER_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1659     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1660         fmt.debug_struct("FWPM_LAYER_ENUM_TEMPLATE0").field("reserved", &self.reserved).finish()
1661     }
1662 }
1663 impl ::std::cmp::PartialEq for FWPM_LAYER_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool1664     fn eq(&self, other: &Self) -> bool {
1665         self.reserved == other.reserved
1666     }
1667 }
1668 impl ::std::cmp::Eq for FWPM_LAYER_ENUM_TEMPLATE0 {}
1669 unsafe impl ::windows::runtime::Abi for FWPM_LAYER_ENUM_TEMPLATE0 {
1670     type Abi = Self;
1671     type DefaultType = Self;
1672 }
1673 pub const FWPM_LAYER_FLAG_BUFFERED: u32 = 8u32;
1674 pub const FWPM_LAYER_FLAG_BUILTIN: u32 = 2u32;
1675 pub const FWPM_LAYER_FLAG_CLASSIFY_MOSTLY: u32 = 4u32;
1676 pub const FWPM_LAYER_FLAG_KERNEL: u32 = 1u32;
1677 pub const FWPM_LAYER_IKEEXT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2974514139, 56253, 18238, [190, 212, 139, 71, 8, 212, 242, 112]);
1678 pub const FWPM_LAYER_IKEEXT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3058140851, 63111, 20153, [137, 210, 142, 243, 42, 205, 171, 226]);
1679 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1632213392, 15542, 20100, [185, 80, 83, 185, 75, 105, 100, 243]);
1680 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2796646517, 60335, 16467, [164, 231, 33, 60, 129, 33, 237, 229]);
1681 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1710865919, 15149, 20061, [184, 198, 199, 32, 101, 31, 232, 152]);
1682 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2800209088, 2299, 18061, [164, 114, 151, 113, 213, 89, 94, 9]);
1683 pub const FWPM_LAYER_INBOUND_IPPACKET_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3362771391, 8653, 18814, [160, 187, 23, 66, 92, 136, 92, 88]);
1684 pub const FWPM_LAYER_INBOUND_IPPACKET_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3047305424, 43200, 17650, [145, 110, 153, 27, 83, 222, 209, 247]);
1685 pub const FWPM_LAYER_INBOUND_IPPACKET_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4112528075, 39196, 18151, [151, 29, 38, 1, 69, 154, 145, 202]);
1686 pub const FWPM_LAYER_INBOUND_IPPACKET_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3139748473, 37812, 18338, [131, 173, 174, 22, 152, 181, 8, 133]);
1687 pub const FWPM_LAYER_INBOUND_MAC_FRAME_ETHERNET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4026236635, 85, 20378, [162, 49, 79, 248, 19, 26, 209, 145]);
1688 pub const FWPM_LAYER_INBOUND_MAC_FRAME_NATIVE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3559001043, 25294, 20232, [174, 136, 181, 110, 133, 38, 223, 80]);
1689 pub const FWPM_LAYER_INBOUND_MAC_FRAME_NATIVE_FAST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2235214478, 11128, 19748, [168, 4, 54, 219, 8, 178, 151, 17]);
1690 pub const FWPM_LAYER_INBOUND_RESERVED2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4110126421, 49270, 18136, [162, 199, 106, 76, 114, 44, 164, 237]);
1691 pub const FWPM_LAYER_INBOUND_TRANSPORT_FAST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3827115801, 1479, 16624, [137, 131, 234, 141, 23, 187, 194, 246]);
1692 pub const FWPM_LAYER_INBOUND_TRANSPORT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1495719880, 58319, 17446, [162, 131, 220, 57, 63, 93, 15, 157]);
1693 pub const FWPM_LAYER_INBOUND_TRANSPORT_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2890569779, 63133, 17992, [178, 97, 109, 200, 72, 53, 239, 57]);
1694 pub const FWPM_LAYER_INBOUND_TRANSPORT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1665828511, 64547, 19344, [176, 193, 191, 98, 10, 54, 174, 111]);
1695 pub const FWPM_LAYER_INBOUND_TRANSPORT_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(711981397, 15147, 18898, [152, 72, 173, 157, 114, 220, 170, 183]);
1696 pub const FWPM_LAYER_INGRESS_VSWITCH_ETHERNET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2107135866, 39559, 16876, [151, 24, 124, 245, 137, 201, 243, 45]);
1697 pub const FWPM_LAYER_INGRESS_VSWITCH_TRANSPORT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2993254390, 30543, 17748, [159, 125, 61, 163, 148, 95, 142, 133]);
1698 pub const FWPM_LAYER_INGRESS_VSWITCH_TRANSPORT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1591940348, 32138, 18420, [183, 227, 41, 26, 54, 218, 78, 18]);
1699 pub const FWPM_LAYER_IPFORWARD_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2821377060, 20193, 20193, [180, 101, 253, 29, 37, 203, 16, 164]);
1700 pub const FWPM_LAYER_IPFORWARD_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2661197683, 12206, 16912, [143, 23, 52, 18, 158, 243, 105, 235]);
1701 pub const FWPM_LAYER_IPFORWARD_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2073446424, 6599, 18746, [183, 31, 131, 44, 54, 132, 210, 140]);
1702 pub const FWPM_LAYER_IPFORWARD_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(827476573, 7678, 18223, [187, 147, 81, 142, 233, 69, 216, 162]);
1703 pub const FWPM_LAYER_IPSEC_KM_DEMUX_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4029355302, 42073, 19025, [185, 227, 117, 157, 229, 43, 157, 44]);
1704 pub const FWPM_LAYER_IPSEC_KM_DEMUX_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(796220662, 12244, 20104, [179, 228, 169, 27, 202, 73, 82, 53]);
1705 pub const FWPM_LAYER_IPSEC_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3987102836, 24845, 19397, [148, 143, 60, 79, 137, 85, 104, 103]);
1706 pub const FWPM_LAYER_IPSEC_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(331646018, 36231, 16993, [154, 41, 89, 210, 171, 195, 72, 180]);
1707 pub const FWPM_LAYER_KM_AUTHORIZATION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1252140777, 36896, 17915, [149, 106, 192, 36, 157, 132, 17, 149]);
1708 pub const FWPM_LAYER_NAME_RESOLUTION_CACHE_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(204121729, 36955, 19661, [164, 103, 77, 216, 17, 208, 123, 123]);
1709 pub const FWPM_LAYER_NAME_RESOLUTION_CACHE_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2463470330, 27393, 17226, [157, 234, 209, 233, 110, 169, 125, 169]);
1710 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1094254848, 22092, 19250, [188, 29, 113, 128, 72, 53, 77, 124]);
1711 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3008990518, 1377, 17800, [166, 191, 233, 85, 227, 246, 38, 75]);
1712 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2142255968, 31629, 19962, [186, 221, 152, 1, 118, 252, 78, 18]);
1713 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1710417479, 36108, 20295, [177, 155, 51, 164, 211, 241, 53, 124]);
1714 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(509386670, 35460, 16693, [163, 49, 149, 11, 84, 34, 158, 205]);
1715 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(149208245, 46663, 18675, [149, 60, 229, 221, 189, 3, 147, 126]);
1716 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2746461035, 13668, 18572, [145, 23, 243, 78, 130, 20, 39, 99]);
1717 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2501105604, 43316, 18908, [145, 167, 108, 203, 128, 204, 2, 227]);
1718 pub const FWPM_LAYER_OUTBOUND_MAC_FRAME_ETHERNET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1766224828, 55003, 18544, [173, 238, 10, 205, 189, 183, 244, 178]);
1719 pub const FWPM_LAYER_OUTBOUND_MAC_FRAME_NATIVE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2495891730, 40303, 20159, [185, 149, 5, 171, 138, 8, 141, 27]);
1720 pub const FWPM_LAYER_OUTBOUND_MAC_FRAME_NATIVE_FAST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1192098118, 51554, 18543, [148, 70, 130, 147, 203, 199, 94, 184]);
1721 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_FAST: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(334316424, 41072, 18453, [153, 53, 122, 155, 230, 64, 139, 120]);
1722 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(166075114, 53780, 18146, [155, 33, 178, 107, 11, 47, 40, 200]);
1723 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3320907089, 48560, 17367, [163, 19, 80, 226, 17, 244, 214, 138]);
1724 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3782433758, 319, 18005, [179, 81, 164, 158, 21, 118, 45, 240]);
1725 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4097040233, 52413, 18478, [185, 178, 87, 22, 86, 88, 195, 179]);
1726 pub const FWPM_LAYER_RPC_EPMAP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2454174817, 60167, 18414, [135, 44, 191, 215, 139, 253, 22, 22]);
1727 pub const FWPM_LAYER_RPC_EP_ADD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1636696007, 50256, 18755, [149, 219, 153, 180, 193, 106, 85, 212]);
1728 pub const FWPM_LAYER_RPC_PROXY_CONN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2493822219, 47708, 20263, [144, 122, 34, 159, 172, 12, 42, 122]);
1729 pub const FWPM_LAYER_RPC_PROXY_IF: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4171466261, 57644, 16812, [152, 223, 18, 26, 217, 129, 170, 222]);
1730 pub const FWPM_LAYER_RPC_UM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1973984730, 38372, 16627, [173, 199, 118, 136, 169, 200, 71, 225]);
1731 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1732 #[repr(C)]
1733 pub struct FWPM_LAYER_STATISTICS0 {
1734     pub layerId: ::windows::runtime::GUID,
1735     pub classifyPermitCount: u32,
1736     pub classifyBlockCount: u32,
1737     pub classifyVetoCount: u32,
1738     pub numCacheEntries: u32,
1739 }
1740 impl FWPM_LAYER_STATISTICS0 {}
1741 impl ::std::default::Default for FWPM_LAYER_STATISTICS0 {
default() -> Self1742     fn default() -> Self {
1743         unsafe { ::std::mem::zeroed() }
1744     }
1745 }
1746 impl ::std::fmt::Debug for FWPM_LAYER_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1747     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1748         fmt.debug_struct("FWPM_LAYER_STATISTICS0").field("layerId", &self.layerId).field("classifyPermitCount", &self.classifyPermitCount).field("classifyBlockCount", &self.classifyBlockCount).field("classifyVetoCount", &self.classifyVetoCount).field("numCacheEntries", &self.numCacheEntries).finish()
1749     }
1750 }
1751 impl ::std::cmp::PartialEq for FWPM_LAYER_STATISTICS0 {
eq(&self, other: &Self) -> bool1752     fn eq(&self, other: &Self) -> bool {
1753         self.layerId == other.layerId && self.classifyPermitCount == other.classifyPermitCount && self.classifyBlockCount == other.classifyBlockCount && self.classifyVetoCount == other.classifyVetoCount && self.numCacheEntries == other.numCacheEntries
1754     }
1755 }
1756 impl ::std::cmp::Eq for FWPM_LAYER_STATISTICS0 {}
1757 unsafe impl ::windows::runtime::Abi for FWPM_LAYER_STATISTICS0 {
1758     type Abi = Self;
1759     type DefaultType = Self;
1760 }
1761 pub const FWPM_LAYER_STREAM_PACKET_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2941442284, 52013, 17637, [173, 146, 248, 220, 56, 210, 235, 41]);
1762 pub const FWPM_LAYER_STREAM_PACKET_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2006617251, 61593, 18063, [181, 212, 131, 83, 92, 70, 28, 2]);
1763 pub const FWPM_LAYER_STREAM_V4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(998860092, 49520, 18916, [177, 205, 224, 238, 238, 225, 154, 62]);
1764 pub const FWPM_LAYER_STREAM_V4_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(633651906, 9727, 17234, [130, 249, 197, 74, 74, 71, 38, 220]);
1765 pub const FWPM_LAYER_STREAM_V6: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1204360058, 32452, 18099, [182, 228, 72, 233, 38, 177, 237, 164]);
1766 pub const FWPM_LAYER_STREAM_V6_DISCARD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(279289799, 46632, 19521, [158, 184, 207, 55, 213, 81, 3, 207]);
1767 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1768 #[repr(C)]
1769 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1770 pub struct FWPM_NET_EVENT0 {
1771     pub header: FWPM_NET_EVENT_HEADER0,
1772     pub r#type: FWPM_NET_EVENT_TYPE,
1773     pub Anonymous: FWPM_NET_EVENT0_0,
1774 }
1775 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1776 impl FWPM_NET_EVENT0 {}
1777 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1778 impl ::std::default::Default for FWPM_NET_EVENT0 {
default() -> Self1779     fn default() -> Self {
1780         unsafe { ::std::mem::zeroed() }
1781     }
1782 }
1783 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1784 impl ::std::cmp::PartialEq for FWPM_NET_EVENT0 {
eq(&self, _other: &Self) -> bool1785     fn eq(&self, _other: &Self) -> bool {
1786         unimplemented!()
1787     }
1788 }
1789 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1790 impl ::std::cmp::Eq for FWPM_NET_EVENT0 {}
1791 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1792 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT0 {
1793     type Abi = Self;
1794     type DefaultType = Self;
1795 }
1796 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1797 #[repr(C)]
1798 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1799 pub union FWPM_NET_EVENT0_0 {
1800     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE0,
1801     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
1802     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE0,
1803     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP0,
1804     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
1805     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
1806 }
1807 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1808 impl FWPM_NET_EVENT0_0 {}
1809 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1810 impl ::std::default::Default for FWPM_NET_EVENT0_0 {
default() -> Self1811     fn default() -> Self {
1812         unsafe { ::std::mem::zeroed() }
1813     }
1814 }
1815 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1816 impl ::std::cmp::PartialEq for FWPM_NET_EVENT0_0 {
eq(&self, _other: &Self) -> bool1817     fn eq(&self, _other: &Self) -> bool {
1818         unimplemented!()
1819     }
1820 }
1821 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1822 impl ::std::cmp::Eq for FWPM_NET_EVENT0_0 {}
1823 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1824 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT0_0 {
1825     type Abi = Self;
1826     type DefaultType = Self;
1827 }
1828 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1829 #[repr(C)]
1830 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1831 pub struct FWPM_NET_EVENT1 {
1832     pub header: FWPM_NET_EVENT_HEADER1,
1833     pub r#type: FWPM_NET_EVENT_TYPE,
1834     pub Anonymous: FWPM_NET_EVENT1_0,
1835 }
1836 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1837 impl FWPM_NET_EVENT1 {}
1838 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1839 impl ::std::default::Default for FWPM_NET_EVENT1 {
default() -> Self1840     fn default() -> Self {
1841         unsafe { ::std::mem::zeroed() }
1842     }
1843 }
1844 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1845 impl ::std::cmp::PartialEq for FWPM_NET_EVENT1 {
eq(&self, _other: &Self) -> bool1846     fn eq(&self, _other: &Self) -> bool {
1847         unimplemented!()
1848     }
1849 }
1850 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1851 impl ::std::cmp::Eq for FWPM_NET_EVENT1 {}
1852 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1853 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT1 {
1854     type Abi = Self;
1855     type DefaultType = Self;
1856 }
1857 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1858 #[repr(C)]
1859 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1860 pub union FWPM_NET_EVENT1_0 {
1861     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE1,
1862     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
1863     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
1864     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP1,
1865     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
1866     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
1867 }
1868 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1869 impl FWPM_NET_EVENT1_0 {}
1870 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1871 impl ::std::default::Default for FWPM_NET_EVENT1_0 {
default() -> Self1872     fn default() -> Self {
1873         unsafe { ::std::mem::zeroed() }
1874     }
1875 }
1876 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1877 impl ::std::cmp::PartialEq for FWPM_NET_EVENT1_0 {
eq(&self, _other: &Self) -> bool1878     fn eq(&self, _other: &Self) -> bool {
1879         unimplemented!()
1880     }
1881 }
1882 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1883 impl ::std::cmp::Eq for FWPM_NET_EVENT1_0 {}
1884 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1885 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT1_0 {
1886     type Abi = Self;
1887     type DefaultType = Self;
1888 }
1889 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1890 #[repr(C)]
1891 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1892 pub struct FWPM_NET_EVENT2 {
1893     pub header: FWPM_NET_EVENT_HEADER2,
1894     pub r#type: FWPM_NET_EVENT_TYPE,
1895     pub Anonymous: FWPM_NET_EVENT2_0,
1896 }
1897 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1898 impl FWPM_NET_EVENT2 {}
1899 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1900 impl ::std::default::Default for FWPM_NET_EVENT2 {
default() -> Self1901     fn default() -> Self {
1902         unsafe { ::std::mem::zeroed() }
1903     }
1904 }
1905 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1906 impl ::std::cmp::PartialEq for FWPM_NET_EVENT2 {
eq(&self, _other: &Self) -> bool1907     fn eq(&self, _other: &Self) -> bool {
1908         unimplemented!()
1909     }
1910 }
1911 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1912 impl ::std::cmp::Eq for FWPM_NET_EVENT2 {}
1913 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1914 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT2 {
1915     type Abi = Self;
1916     type DefaultType = Self;
1917 }
1918 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1919 #[repr(C)]
1920 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1921 pub union FWPM_NET_EVENT2_0 {
1922     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE1,
1923     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
1924     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
1925     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
1926     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
1927     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
1928     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
1929     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
1930     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
1931     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
1932 }
1933 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1934 impl FWPM_NET_EVENT2_0 {}
1935 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1936 impl ::std::default::Default for FWPM_NET_EVENT2_0 {
default() -> Self1937     fn default() -> Self {
1938         unsafe { ::std::mem::zeroed() }
1939     }
1940 }
1941 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1942 impl ::std::cmp::PartialEq for FWPM_NET_EVENT2_0 {
eq(&self, _other: &Self) -> bool1943     fn eq(&self, _other: &Self) -> bool {
1944         unimplemented!()
1945     }
1946 }
1947 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1948 impl ::std::cmp::Eq for FWPM_NET_EVENT2_0 {}
1949 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1950 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT2_0 {
1951     type Abi = Self;
1952     type DefaultType = Self;
1953 }
1954 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1955 #[repr(C)]
1956 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1957 pub struct FWPM_NET_EVENT3 {
1958     pub header: FWPM_NET_EVENT_HEADER3,
1959     pub r#type: FWPM_NET_EVENT_TYPE,
1960     pub Anonymous: FWPM_NET_EVENT3_0,
1961 }
1962 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1963 impl FWPM_NET_EVENT3 {}
1964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1965 impl ::std::default::Default for FWPM_NET_EVENT3 {
default() -> Self1966     fn default() -> Self {
1967         unsafe { ::std::mem::zeroed() }
1968     }
1969 }
1970 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1971 impl ::std::cmp::PartialEq for FWPM_NET_EVENT3 {
eq(&self, _other: &Self) -> bool1972     fn eq(&self, _other: &Self) -> bool {
1973         unimplemented!()
1974     }
1975 }
1976 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1977 impl ::std::cmp::Eq for FWPM_NET_EVENT3 {}
1978 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1979 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT3 {
1980     type Abi = Self;
1981     type DefaultType = Self;
1982 }
1983 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1984 #[repr(C)]
1985 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1986 pub union FWPM_NET_EVENT3_0 {
1987     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE1,
1988     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
1989     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
1990     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
1991     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
1992     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
1993     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
1994     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
1995     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
1996     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
1997 }
1998 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1999 impl FWPM_NET_EVENT3_0 {}
2000 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2001 impl ::std::default::Default for FWPM_NET_EVENT3_0 {
default() -> Self2002     fn default() -> Self {
2003         unsafe { ::std::mem::zeroed() }
2004     }
2005 }
2006 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2007 impl ::std::cmp::PartialEq for FWPM_NET_EVENT3_0 {
eq(&self, _other: &Self) -> bool2008     fn eq(&self, _other: &Self) -> bool {
2009         unimplemented!()
2010     }
2011 }
2012 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2013 impl ::std::cmp::Eq for FWPM_NET_EVENT3_0 {}
2014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2015 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT3_0 {
2016     type Abi = Self;
2017     type DefaultType = Self;
2018 }
2019 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2020 #[repr(C)]
2021 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2022 pub struct FWPM_NET_EVENT4_ {
2023     pub header: FWPM_NET_EVENT_HEADER3,
2024     pub r#type: FWPM_NET_EVENT_TYPE,
2025     pub Anonymous: FWPM_NET_EVENT4__0,
2026 }
2027 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2028 impl FWPM_NET_EVENT4_ {}
2029 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2030 impl ::std::default::Default for FWPM_NET_EVENT4_ {
default() -> Self2031     fn default() -> Self {
2032         unsafe { ::std::mem::zeroed() }
2033     }
2034 }
2035 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2036 impl ::std::cmp::PartialEq for FWPM_NET_EVENT4_ {
eq(&self, _other: &Self) -> bool2037     fn eq(&self, _other: &Self) -> bool {
2038         unimplemented!()
2039     }
2040 }
2041 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2042 impl ::std::cmp::Eq for FWPM_NET_EVENT4_ {}
2043 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2044 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT4_ {
2045     type Abi = Self;
2046     type DefaultType = Self;
2047 }
2048 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2049 #[repr(C)]
2050 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2051 pub union FWPM_NET_EVENT4__0 {
2052     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_,
2053     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_,
2054     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2055     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
2056     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2057     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2058     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
2059     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
2060     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
2061     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
2062 }
2063 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2064 impl FWPM_NET_EVENT4__0 {}
2065 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2066 impl ::std::default::Default for FWPM_NET_EVENT4__0 {
default() -> Self2067     fn default() -> Self {
2068         unsafe { ::std::mem::zeroed() }
2069     }
2070 }
2071 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2072 impl ::std::cmp::PartialEq for FWPM_NET_EVENT4__0 {
eq(&self, _other: &Self) -> bool2073     fn eq(&self, _other: &Self) -> bool {
2074         unimplemented!()
2075     }
2076 }
2077 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2078 impl ::std::cmp::Eq for FWPM_NET_EVENT4__0 {}
2079 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2080 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT4__0 {
2081     type Abi = Self;
2082     type DefaultType = Self;
2083 }
2084 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2085 #[repr(C)]
2086 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2087 pub struct FWPM_NET_EVENT5_ {
2088     pub header: FWPM_NET_EVENT_HEADER3,
2089     pub r#type: FWPM_NET_EVENT_TYPE,
2090     pub Anonymous: FWPM_NET_EVENT5__0,
2091 }
2092 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2093 impl FWPM_NET_EVENT5_ {}
2094 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2095 impl ::std::default::Default for FWPM_NET_EVENT5_ {
default() -> Self2096     fn default() -> Self {
2097         unsafe { ::std::mem::zeroed() }
2098     }
2099 }
2100 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2101 impl ::std::cmp::PartialEq for FWPM_NET_EVENT5_ {
eq(&self, _other: &Self) -> bool2102     fn eq(&self, _other: &Self) -> bool {
2103         unimplemented!()
2104     }
2105 }
2106 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2107 impl ::std::cmp::Eq for FWPM_NET_EVENT5_ {}
2108 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2109 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT5_ {
2110     type Abi = Self;
2111     type DefaultType = Self;
2112 }
2113 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2114 #[repr(C)]
2115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2116 pub union FWPM_NET_EVENT5__0 {
2117     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_,
2118     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_,
2119     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2120     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
2121     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2122     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2123     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
2124     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
2125     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
2126     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
2127     pub lpmPacketArrival: *mut FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_,
2128 }
2129 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2130 impl FWPM_NET_EVENT5__0 {}
2131 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2132 impl ::std::default::Default for FWPM_NET_EVENT5__0 {
default() -> Self2133     fn default() -> Self {
2134         unsafe { ::std::mem::zeroed() }
2135     }
2136 }
2137 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2138 impl ::std::cmp::PartialEq for FWPM_NET_EVENT5__0 {
eq(&self, _other: &Self) -> bool2139     fn eq(&self, _other: &Self) -> bool {
2140         unimplemented!()
2141     }
2142 }
2143 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2144 impl ::std::cmp::Eq for FWPM_NET_EVENT5__0 {}
2145 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2146 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT5__0 {
2147     type Abi = Self;
2148     type DefaultType = Self;
2149 }
2150 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2151 pub type FWPM_NET_EVENT_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, event: *const FWPM_NET_EVENT1);
2152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2153 pub type FWPM_NET_EVENT_CALLBACK1 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, event: *const FWPM_NET_EVENT2);
2154 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2155 pub type FWPM_NET_EVENT_CALLBACK2 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, event: *const FWPM_NET_EVENT3);
2156 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2157 pub type FWPM_NET_EVENT_CALLBACK3 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, event: *const FWPM_NET_EVENT4_);
2158 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2159 pub type FWPM_NET_EVENT_CALLBACK4 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, event: *const FWPM_NET_EVENT5_);
2160 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2161 #[repr(C)]
2162 #[cfg(feature = "Win32_Foundation")]
2163 pub struct FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
2164     pub networkCapabilityId: FWPM_APPC_NETWORK_CAPABILITY_TYPE,
2165     pub filterId: u64,
2166     pub isLoopback: super::super::Foundation::BOOL,
2167 }
2168 #[cfg(feature = "Win32_Foundation")]
2169 impl FWPM_NET_EVENT_CAPABILITY_ALLOW0 {}
2170 #[cfg(feature = "Win32_Foundation")]
2171 impl ::std::default::Default for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
default() -> Self2172     fn default() -> Self {
2173         unsafe { ::std::mem::zeroed() }
2174     }
2175 }
2176 #[cfg(feature = "Win32_Foundation")]
2177 impl ::std::fmt::Debug for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2178     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2179         fmt.debug_struct("FWPM_NET_EVENT_CAPABILITY_ALLOW0").field("networkCapabilityId", &self.networkCapabilityId).field("filterId", &self.filterId).field("isLoopback", &self.isLoopback).finish()
2180     }
2181 }
2182 #[cfg(feature = "Win32_Foundation")]
2183 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
eq(&self, other: &Self) -> bool2184     fn eq(&self, other: &Self) -> bool {
2185         self.networkCapabilityId == other.networkCapabilityId && self.filterId == other.filterId && self.isLoopback == other.isLoopback
2186     }
2187 }
2188 #[cfg(feature = "Win32_Foundation")]
2189 impl ::std::cmp::Eq for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {}
2190 #[cfg(feature = "Win32_Foundation")]
2191 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
2192     type Abi = Self;
2193     type DefaultType = Self;
2194 }
2195 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2196 #[repr(C)]
2197 #[cfg(feature = "Win32_Foundation")]
2198 pub struct FWPM_NET_EVENT_CAPABILITY_DROP0 {
2199     pub networkCapabilityId: FWPM_APPC_NETWORK_CAPABILITY_TYPE,
2200     pub filterId: u64,
2201     pub isLoopback: super::super::Foundation::BOOL,
2202 }
2203 #[cfg(feature = "Win32_Foundation")]
2204 impl FWPM_NET_EVENT_CAPABILITY_DROP0 {}
2205 #[cfg(feature = "Win32_Foundation")]
2206 impl ::std::default::Default for FWPM_NET_EVENT_CAPABILITY_DROP0 {
default() -> Self2207     fn default() -> Self {
2208         unsafe { ::std::mem::zeroed() }
2209     }
2210 }
2211 #[cfg(feature = "Win32_Foundation")]
2212 impl ::std::fmt::Debug for FWPM_NET_EVENT_CAPABILITY_DROP0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2213     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2214         fmt.debug_struct("FWPM_NET_EVENT_CAPABILITY_DROP0").field("networkCapabilityId", &self.networkCapabilityId).field("filterId", &self.filterId).field("isLoopback", &self.isLoopback).finish()
2215     }
2216 }
2217 #[cfg(feature = "Win32_Foundation")]
2218 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CAPABILITY_DROP0 {
eq(&self, other: &Self) -> bool2219     fn eq(&self, other: &Self) -> bool {
2220         self.networkCapabilityId == other.networkCapabilityId && self.filterId == other.filterId && self.isLoopback == other.isLoopback
2221     }
2222 }
2223 #[cfg(feature = "Win32_Foundation")]
2224 impl ::std::cmp::Eq for FWPM_NET_EVENT_CAPABILITY_DROP0 {}
2225 #[cfg(feature = "Win32_Foundation")]
2226 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CAPABILITY_DROP0 {
2227     type Abi = Self;
2228     type DefaultType = Self;
2229 }
2230 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2231 #[repr(C)]
2232 #[cfg(feature = "Win32_Foundation")]
2233 pub struct FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
2234     pub filterId: u64,
2235     pub layerId: u16,
2236     pub reauthReason: u32,
2237     pub originalProfile: u32,
2238     pub currentProfile: u32,
2239     pub msFwpDirection: u32,
2240     pub isLoopback: super::super::Foundation::BOOL,
2241 }
2242 #[cfg(feature = "Win32_Foundation")]
2243 impl FWPM_NET_EVENT_CLASSIFY_ALLOW0 {}
2244 #[cfg(feature = "Win32_Foundation")]
2245 impl ::std::default::Default for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
default() -> Self2246     fn default() -> Self {
2247         unsafe { ::std::mem::zeroed() }
2248     }
2249 }
2250 #[cfg(feature = "Win32_Foundation")]
2251 impl ::std::fmt::Debug for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2252     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2253         fmt.debug_struct("FWPM_NET_EVENT_CLASSIFY_ALLOW0")
2254             .field("filterId", &self.filterId)
2255             .field("layerId", &self.layerId)
2256             .field("reauthReason", &self.reauthReason)
2257             .field("originalProfile", &self.originalProfile)
2258             .field("currentProfile", &self.currentProfile)
2259             .field("msFwpDirection", &self.msFwpDirection)
2260             .field("isLoopback", &self.isLoopback)
2261             .finish()
2262     }
2263 }
2264 #[cfg(feature = "Win32_Foundation")]
2265 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
eq(&self, other: &Self) -> bool2266     fn eq(&self, other: &Self) -> bool {
2267         self.filterId == other.filterId && self.layerId == other.layerId && self.reauthReason == other.reauthReason && self.originalProfile == other.originalProfile && self.currentProfile == other.currentProfile && self.msFwpDirection == other.msFwpDirection && self.isLoopback == other.isLoopback
2268     }
2269 }
2270 #[cfg(feature = "Win32_Foundation")]
2271 impl ::std::cmp::Eq for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {}
2272 #[cfg(feature = "Win32_Foundation")]
2273 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
2274     type Abi = Self;
2275     type DefaultType = Self;
2276 }
2277 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2278 #[repr(C)]
2279 pub struct FWPM_NET_EVENT_CLASSIFY_DROP0 {
2280     pub filterId: u64,
2281     pub layerId: u16,
2282 }
2283 impl FWPM_NET_EVENT_CLASSIFY_DROP0 {}
2284 impl ::std::default::Default for FWPM_NET_EVENT_CLASSIFY_DROP0 {
default() -> Self2285     fn default() -> Self {
2286         unsafe { ::std::mem::zeroed() }
2287     }
2288 }
2289 impl ::std::fmt::Debug for FWPM_NET_EVENT_CLASSIFY_DROP0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2290     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2291         fmt.debug_struct("FWPM_NET_EVENT_CLASSIFY_DROP0").field("filterId", &self.filterId).field("layerId", &self.layerId).finish()
2292     }
2293 }
2294 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CLASSIFY_DROP0 {
eq(&self, other: &Self) -> bool2295     fn eq(&self, other: &Self) -> bool {
2296         self.filterId == other.filterId && self.layerId == other.layerId
2297     }
2298 }
2299 impl ::std::cmp::Eq for FWPM_NET_EVENT_CLASSIFY_DROP0 {}
2300 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CLASSIFY_DROP0 {
2301     type Abi = Self;
2302     type DefaultType = Self;
2303 }
2304 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2305 #[repr(C)]
2306 #[cfg(feature = "Win32_Foundation")]
2307 pub struct FWPM_NET_EVENT_CLASSIFY_DROP1 {
2308     pub filterId: u64,
2309     pub layerId: u16,
2310     pub reauthReason: u32,
2311     pub originalProfile: u32,
2312     pub currentProfile: u32,
2313     pub msFwpDirection: u32,
2314     pub isLoopback: super::super::Foundation::BOOL,
2315 }
2316 #[cfg(feature = "Win32_Foundation")]
2317 impl FWPM_NET_EVENT_CLASSIFY_DROP1 {}
2318 #[cfg(feature = "Win32_Foundation")]
2319 impl ::std::default::Default for FWPM_NET_EVENT_CLASSIFY_DROP1 {
default() -> Self2320     fn default() -> Self {
2321         unsafe { ::std::mem::zeroed() }
2322     }
2323 }
2324 #[cfg(feature = "Win32_Foundation")]
2325 impl ::std::fmt::Debug for FWPM_NET_EVENT_CLASSIFY_DROP1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2326     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2327         fmt.debug_struct("FWPM_NET_EVENT_CLASSIFY_DROP1")
2328             .field("filterId", &self.filterId)
2329             .field("layerId", &self.layerId)
2330             .field("reauthReason", &self.reauthReason)
2331             .field("originalProfile", &self.originalProfile)
2332             .field("currentProfile", &self.currentProfile)
2333             .field("msFwpDirection", &self.msFwpDirection)
2334             .field("isLoopback", &self.isLoopback)
2335             .finish()
2336     }
2337 }
2338 #[cfg(feature = "Win32_Foundation")]
2339 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CLASSIFY_DROP1 {
eq(&self, other: &Self) -> bool2340     fn eq(&self, other: &Self) -> bool {
2341         self.filterId == other.filterId && self.layerId == other.layerId && self.reauthReason == other.reauthReason && self.originalProfile == other.originalProfile && self.currentProfile == other.currentProfile && self.msFwpDirection == other.msFwpDirection && self.isLoopback == other.isLoopback
2342     }
2343 }
2344 #[cfg(feature = "Win32_Foundation")]
2345 impl ::std::cmp::Eq for FWPM_NET_EVENT_CLASSIFY_DROP1 {}
2346 #[cfg(feature = "Win32_Foundation")]
2347 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CLASSIFY_DROP1 {
2348     type Abi = Self;
2349     type DefaultType = Self;
2350 }
2351 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2352 #[repr(C)]
2353 #[cfg(feature = "Win32_Foundation")]
2354 pub struct FWPM_NET_EVENT_CLASSIFY_DROP2 {
2355     pub filterId: u64,
2356     pub layerId: u16,
2357     pub reauthReason: u32,
2358     pub originalProfile: u32,
2359     pub currentProfile: u32,
2360     pub msFwpDirection: u32,
2361     pub isLoopback: super::super::Foundation::BOOL,
2362     pub vSwitchId: FWP_BYTE_BLOB,
2363     pub vSwitchSourcePort: u32,
2364     pub vSwitchDestinationPort: u32,
2365 }
2366 #[cfg(feature = "Win32_Foundation")]
2367 impl FWPM_NET_EVENT_CLASSIFY_DROP2 {}
2368 #[cfg(feature = "Win32_Foundation")]
2369 impl ::std::default::Default for FWPM_NET_EVENT_CLASSIFY_DROP2 {
default() -> Self2370     fn default() -> Self {
2371         unsafe { ::std::mem::zeroed() }
2372     }
2373 }
2374 #[cfg(feature = "Win32_Foundation")]
2375 impl ::std::fmt::Debug for FWPM_NET_EVENT_CLASSIFY_DROP2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2376     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2377         fmt.debug_struct("FWPM_NET_EVENT_CLASSIFY_DROP2")
2378             .field("filterId", &self.filterId)
2379             .field("layerId", &self.layerId)
2380             .field("reauthReason", &self.reauthReason)
2381             .field("originalProfile", &self.originalProfile)
2382             .field("currentProfile", &self.currentProfile)
2383             .field("msFwpDirection", &self.msFwpDirection)
2384             .field("isLoopback", &self.isLoopback)
2385             .field("vSwitchId", &self.vSwitchId)
2386             .field("vSwitchSourcePort", &self.vSwitchSourcePort)
2387             .field("vSwitchDestinationPort", &self.vSwitchDestinationPort)
2388             .finish()
2389     }
2390 }
2391 #[cfg(feature = "Win32_Foundation")]
2392 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CLASSIFY_DROP2 {
eq(&self, other: &Self) -> bool2393     fn eq(&self, other: &Self) -> bool {
2394         self.filterId == other.filterId && self.layerId == other.layerId && self.reauthReason == other.reauthReason && self.originalProfile == other.originalProfile && self.currentProfile == other.currentProfile && self.msFwpDirection == other.msFwpDirection && self.isLoopback == other.isLoopback && self.vSwitchId == other.vSwitchId && self.vSwitchSourcePort == other.vSwitchSourcePort && self.vSwitchDestinationPort == other.vSwitchDestinationPort
2395     }
2396 }
2397 #[cfg(feature = "Win32_Foundation")]
2398 impl ::std::cmp::Eq for FWPM_NET_EVENT_CLASSIFY_DROP2 {}
2399 #[cfg(feature = "Win32_Foundation")]
2400 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CLASSIFY_DROP2 {
2401     type Abi = Self;
2402     type DefaultType = Self;
2403 }
2404 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2405 #[repr(C)]
2406 #[cfg(feature = "Win32_Foundation")]
2407 pub struct FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
2408     pub localMacAddr: FWP_BYTE_ARRAY6,
2409     pub remoteMacAddr: FWP_BYTE_ARRAY6,
2410     pub mediaType: u32,
2411     pub ifType: u32,
2412     pub etherType: u16,
2413     pub ndisPortNumber: u32,
2414     pub reserved: u32,
2415     pub vlanTag: u16,
2416     pub ifLuid: u64,
2417     pub filterId: u64,
2418     pub layerId: u16,
2419     pub reauthReason: u32,
2420     pub originalProfile: u32,
2421     pub currentProfile: u32,
2422     pub msFwpDirection: u32,
2423     pub isLoopback: super::super::Foundation::BOOL,
2424     pub vSwitchId: FWP_BYTE_BLOB,
2425     pub vSwitchSourcePort: u32,
2426     pub vSwitchDestinationPort: u32,
2427 }
2428 #[cfg(feature = "Win32_Foundation")]
2429 impl FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {}
2430 #[cfg(feature = "Win32_Foundation")]
2431 impl ::std::default::Default for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
default() -> Self2432     fn default() -> Self {
2433         unsafe { ::std::mem::zeroed() }
2434     }
2435 }
2436 #[cfg(feature = "Win32_Foundation")]
2437 impl ::std::fmt::Debug for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2438     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2439         fmt.debug_struct("FWPM_NET_EVENT_CLASSIFY_DROP_MAC0")
2440             .field("localMacAddr", &self.localMacAddr)
2441             .field("remoteMacAddr", &self.remoteMacAddr)
2442             .field("mediaType", &self.mediaType)
2443             .field("ifType", &self.ifType)
2444             .field("etherType", &self.etherType)
2445             .field("ndisPortNumber", &self.ndisPortNumber)
2446             .field("reserved", &self.reserved)
2447             .field("vlanTag", &self.vlanTag)
2448             .field("ifLuid", &self.ifLuid)
2449             .field("filterId", &self.filterId)
2450             .field("layerId", &self.layerId)
2451             .field("reauthReason", &self.reauthReason)
2452             .field("originalProfile", &self.originalProfile)
2453             .field("currentProfile", &self.currentProfile)
2454             .field("msFwpDirection", &self.msFwpDirection)
2455             .field("isLoopback", &self.isLoopback)
2456             .field("vSwitchId", &self.vSwitchId)
2457             .field("vSwitchSourcePort", &self.vSwitchSourcePort)
2458             .field("vSwitchDestinationPort", &self.vSwitchDestinationPort)
2459             .finish()
2460     }
2461 }
2462 #[cfg(feature = "Win32_Foundation")]
2463 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
eq(&self, other: &Self) -> bool2464     fn eq(&self, other: &Self) -> bool {
2465         self.localMacAddr == other.localMacAddr
2466             && self.remoteMacAddr == other.remoteMacAddr
2467             && self.mediaType == other.mediaType
2468             && self.ifType == other.ifType
2469             && self.etherType == other.etherType
2470             && self.ndisPortNumber == other.ndisPortNumber
2471             && self.reserved == other.reserved
2472             && self.vlanTag == other.vlanTag
2473             && self.ifLuid == other.ifLuid
2474             && self.filterId == other.filterId
2475             && self.layerId == other.layerId
2476             && self.reauthReason == other.reauthReason
2477             && self.originalProfile == other.originalProfile
2478             && self.currentProfile == other.currentProfile
2479             && self.msFwpDirection == other.msFwpDirection
2480             && self.isLoopback == other.isLoopback
2481             && self.vSwitchId == other.vSwitchId
2482             && self.vSwitchSourcePort == other.vSwitchSourcePort
2483             && self.vSwitchDestinationPort == other.vSwitchDestinationPort
2484     }
2485 }
2486 #[cfg(feature = "Win32_Foundation")]
2487 impl ::std::cmp::Eq for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {}
2488 #[cfg(feature = "Win32_Foundation")]
2489 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
2490     type Abi = Self;
2491     type DefaultType = Self;
2492 }
2493 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2494 #[repr(C)]
2495 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2496 pub struct FWPM_NET_EVENT_ENUM_TEMPLATE0 {
2497     pub startTime: super::super::Foundation::FILETIME,
2498     pub endTime: super::super::Foundation::FILETIME,
2499     pub numFilterConditions: u32,
2500     pub filterCondition: *mut FWPM_FILTER_CONDITION0,
2501 }
2502 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2503 impl FWPM_NET_EVENT_ENUM_TEMPLATE0 {}
2504 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2505 impl ::std::default::Default for FWPM_NET_EVENT_ENUM_TEMPLATE0 {
default() -> Self2506     fn default() -> Self {
2507         unsafe { ::std::mem::zeroed() }
2508     }
2509 }
2510 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2511 impl ::std::fmt::Debug for FWPM_NET_EVENT_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2512     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2513         fmt.debug_struct("FWPM_NET_EVENT_ENUM_TEMPLATE0").field("startTime", &self.startTime).field("endTime", &self.endTime).field("numFilterConditions", &self.numFilterConditions).field("filterCondition", &self.filterCondition).finish()
2514     }
2515 }
2516 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2517 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool2518     fn eq(&self, other: &Self) -> bool {
2519         self.startTime == other.startTime && self.endTime == other.endTime && self.numFilterConditions == other.numFilterConditions && self.filterCondition == other.filterCondition
2520     }
2521 }
2522 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2523 impl ::std::cmp::Eq for FWPM_NET_EVENT_ENUM_TEMPLATE0 {}
2524 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2525 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_ENUM_TEMPLATE0 {
2526     type Abi = Self;
2527     type DefaultType = Self;
2528 }
2529 pub const FWPM_NET_EVENT_FLAG_APP_ID_SET: u32 = 32u32;
2530 pub const FWPM_NET_EVENT_FLAG_EFFECTIVE_NAME_SET: u32 = 8192u32;
2531 pub const FWPM_NET_EVENT_FLAG_ENTERPRISE_ID_SET: u32 = 2048u32;
2532 pub const FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET: u32 = 1u32;
2533 pub const FWPM_NET_EVENT_FLAG_IP_VERSION_SET: u32 = 256u32;
2534 pub const FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET: u32 = 2u32;
2535 pub const FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET: u32 = 8u32;
2536 pub const FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET: u32 = 1024u32;
2537 pub const FWPM_NET_EVENT_FLAG_POLICY_FLAGS_SET: u32 = 4096u32;
2538 pub const FWPM_NET_EVENT_FLAG_REAUTH_REASON_SET: u32 = 512u32;
2539 pub const FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET: u32 = 4u32;
2540 pub const FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET: u32 = 16u32;
2541 pub const FWPM_NET_EVENT_FLAG_SCOPE_ID_SET: u32 = 128u32;
2542 pub const FWPM_NET_EVENT_FLAG_USER_ID_SET: u32 = 64u32;
2543 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2544 #[repr(C)]
2545 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2546 pub struct FWPM_NET_EVENT_HEADER0 {
2547     pub timeStamp: super::super::Foundation::FILETIME,
2548     pub flags: u32,
2549     pub ipVersion: FWP_IP_VERSION,
2550     pub ipProtocol: u8,
2551     pub Anonymous1: FWPM_NET_EVENT_HEADER0_0,
2552     pub Anonymous2: FWPM_NET_EVENT_HEADER0_1,
2553     pub localPort: u16,
2554     pub remotePort: u16,
2555     pub scopeId: u32,
2556     pub appId: FWP_BYTE_BLOB,
2557     pub userId: *mut super::super::Security::SID,
2558 }
2559 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2560 impl FWPM_NET_EVENT_HEADER0 {}
2561 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2562 impl ::std::default::Default for FWPM_NET_EVENT_HEADER0 {
default() -> Self2563     fn default() -> Self {
2564         unsafe { ::std::mem::zeroed() }
2565     }
2566 }
2567 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2568 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER0 {
eq(&self, _other: &Self) -> bool2569     fn eq(&self, _other: &Self) -> bool {
2570         unimplemented!()
2571     }
2572 }
2573 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2574 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER0 {}
2575 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2576 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER0 {
2577     type Abi = Self;
2578     type DefaultType = Self;
2579 }
2580 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2581 #[repr(C)]
2582 pub union FWPM_NET_EVENT_HEADER0_0 {
2583     pub localAddrV4: u32,
2584     pub localAddrV6: FWP_BYTE_ARRAY16,
2585 }
2586 impl FWPM_NET_EVENT_HEADER0_0 {}
2587 impl ::std::default::Default for FWPM_NET_EVENT_HEADER0_0 {
default() -> Self2588     fn default() -> Self {
2589         unsafe { ::std::mem::zeroed() }
2590     }
2591 }
2592 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER0_0 {
eq(&self, _other: &Self) -> bool2593     fn eq(&self, _other: &Self) -> bool {
2594         unimplemented!()
2595     }
2596 }
2597 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER0_0 {}
2598 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER0_0 {
2599     type Abi = Self;
2600     type DefaultType = Self;
2601 }
2602 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2603 #[repr(C)]
2604 pub union FWPM_NET_EVENT_HEADER0_1 {
2605     pub remoteAddrV4: u32,
2606     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2607 }
2608 impl FWPM_NET_EVENT_HEADER0_1 {}
2609 impl ::std::default::Default for FWPM_NET_EVENT_HEADER0_1 {
default() -> Self2610     fn default() -> Self {
2611         unsafe { ::std::mem::zeroed() }
2612     }
2613 }
2614 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER0_1 {
eq(&self, _other: &Self) -> bool2615     fn eq(&self, _other: &Self) -> bool {
2616         unimplemented!()
2617     }
2618 }
2619 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER0_1 {}
2620 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER0_1 {
2621     type Abi = Self;
2622     type DefaultType = Self;
2623 }
2624 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2625 #[repr(C)]
2626 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2627 pub struct FWPM_NET_EVENT_HEADER1 {
2628     pub timeStamp: super::super::Foundation::FILETIME,
2629     pub flags: u32,
2630     pub ipVersion: FWP_IP_VERSION,
2631     pub ipProtocol: u8,
2632     pub Anonymous1: FWPM_NET_EVENT_HEADER1_0,
2633     pub Anonymous2: FWPM_NET_EVENT_HEADER1_1,
2634     pub localPort: u16,
2635     pub remotePort: u16,
2636     pub scopeId: u32,
2637     pub appId: FWP_BYTE_BLOB,
2638     pub userId: *mut super::super::Security::SID,
2639     pub Anonymous3: FWPM_NET_EVENT_HEADER1_2,
2640 }
2641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2642 impl FWPM_NET_EVENT_HEADER1 {}
2643 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2644 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1 {
default() -> Self2645     fn default() -> Self {
2646         unsafe { ::std::mem::zeroed() }
2647     }
2648 }
2649 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2650 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1 {
eq(&self, _other: &Self) -> bool2651     fn eq(&self, _other: &Self) -> bool {
2652         unimplemented!()
2653     }
2654 }
2655 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2656 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1 {}
2657 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2658 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1 {
2659     type Abi = Self;
2660     type DefaultType = Self;
2661 }
2662 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2663 #[repr(C)]
2664 pub union FWPM_NET_EVENT_HEADER1_0 {
2665     pub localAddrV4: u32,
2666     pub localAddrV6: FWP_BYTE_ARRAY16,
2667 }
2668 impl FWPM_NET_EVENT_HEADER1_0 {}
2669 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1_0 {
default() -> Self2670     fn default() -> Self {
2671         unsafe { ::std::mem::zeroed() }
2672     }
2673 }
2674 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1_0 {
eq(&self, _other: &Self) -> bool2675     fn eq(&self, _other: &Self) -> bool {
2676         unimplemented!()
2677     }
2678 }
2679 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1_0 {}
2680 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1_0 {
2681     type Abi = Self;
2682     type DefaultType = Self;
2683 }
2684 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2685 #[repr(C)]
2686 pub union FWPM_NET_EVENT_HEADER1_1 {
2687     pub remoteAddrV4: u32,
2688     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2689 }
2690 impl FWPM_NET_EVENT_HEADER1_1 {}
2691 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1_1 {
default() -> Self2692     fn default() -> Self {
2693         unsafe { ::std::mem::zeroed() }
2694     }
2695 }
2696 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1_1 {
eq(&self, _other: &Self) -> bool2697     fn eq(&self, _other: &Self) -> bool {
2698         unimplemented!()
2699     }
2700 }
2701 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1_1 {}
2702 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1_1 {
2703     type Abi = Self;
2704     type DefaultType = Self;
2705 }
2706 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2707 #[repr(C)]
2708 pub union FWPM_NET_EVENT_HEADER1_2 {
2709     pub Anonymous: FWPM_NET_EVENT_HEADER1_2_0,
2710 }
2711 impl FWPM_NET_EVENT_HEADER1_2 {}
2712 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1_2 {
default() -> Self2713     fn default() -> Self {
2714         unsafe { ::std::mem::zeroed() }
2715     }
2716 }
2717 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1_2 {
eq(&self, _other: &Self) -> bool2718     fn eq(&self, _other: &Self) -> bool {
2719         unimplemented!()
2720     }
2721 }
2722 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1_2 {}
2723 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1_2 {
2724     type Abi = Self;
2725     type DefaultType = Self;
2726 }
2727 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2728 #[repr(C)]
2729 pub struct FWPM_NET_EVENT_HEADER1_2_0 {
2730     pub reserved1: FWP_AF,
2731     pub Anonymous: FWPM_NET_EVENT_HEADER1_2_0_0,
2732 }
2733 impl FWPM_NET_EVENT_HEADER1_2_0 {}
2734 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1_2_0 {
default() -> Self2735     fn default() -> Self {
2736         unsafe { ::std::mem::zeroed() }
2737     }
2738 }
2739 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1_2_0 {
eq(&self, _other: &Self) -> bool2740     fn eq(&self, _other: &Self) -> bool {
2741         unimplemented!()
2742     }
2743 }
2744 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1_2_0 {}
2745 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1_2_0 {
2746     type Abi = Self;
2747     type DefaultType = Self;
2748 }
2749 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2750 #[repr(C)]
2751 pub union FWPM_NET_EVENT_HEADER1_2_0_0 {
2752     pub Anonymous: FWPM_NET_EVENT_HEADER1_2_0_0_0,
2753 }
2754 impl FWPM_NET_EVENT_HEADER1_2_0_0 {}
2755 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1_2_0_0 {
default() -> Self2756     fn default() -> Self {
2757         unsafe { ::std::mem::zeroed() }
2758     }
2759 }
2760 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1_2_0_0 {
eq(&self, _other: &Self) -> bool2761     fn eq(&self, _other: &Self) -> bool {
2762         unimplemented!()
2763     }
2764 }
2765 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1_2_0_0 {}
2766 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1_2_0_0 {
2767     type Abi = Self;
2768     type DefaultType = Self;
2769 }
2770 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2771 #[repr(C)]
2772 pub struct FWPM_NET_EVENT_HEADER1_2_0_0_0 {
2773     pub reserved2: FWP_BYTE_ARRAY6,
2774     pub reserved3: FWP_BYTE_ARRAY6,
2775     pub reserved4: u32,
2776     pub reserved5: u32,
2777     pub reserved6: u16,
2778     pub reserved7: u32,
2779     pub reserved8: u32,
2780     pub reserved9: u16,
2781     pub reserved10: u64,
2782 }
2783 impl FWPM_NET_EVENT_HEADER1_2_0_0_0 {}
2784 impl ::std::default::Default for FWPM_NET_EVENT_HEADER1_2_0_0_0 {
default() -> Self2785     fn default() -> Self {
2786         unsafe { ::std::mem::zeroed() }
2787     }
2788 }
2789 impl ::std::fmt::Debug for FWPM_NET_EVENT_HEADER1_2_0_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2790     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2791         fmt.debug_struct("_Anonymous_e__Struct")
2792             .field("reserved2", &self.reserved2)
2793             .field("reserved3", &self.reserved3)
2794             .field("reserved4", &self.reserved4)
2795             .field("reserved5", &self.reserved5)
2796             .field("reserved6", &self.reserved6)
2797             .field("reserved7", &self.reserved7)
2798             .field("reserved8", &self.reserved8)
2799             .field("reserved9", &self.reserved9)
2800             .field("reserved10", &self.reserved10)
2801             .finish()
2802     }
2803 }
2804 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER1_2_0_0_0 {
eq(&self, other: &Self) -> bool2805     fn eq(&self, other: &Self) -> bool {
2806         self.reserved2 == other.reserved2 && self.reserved3 == other.reserved3 && self.reserved4 == other.reserved4 && self.reserved5 == other.reserved5 && self.reserved6 == other.reserved6 && self.reserved7 == other.reserved7 && self.reserved8 == other.reserved8 && self.reserved9 == other.reserved9 && self.reserved10 == other.reserved10
2807     }
2808 }
2809 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER1_2_0_0_0 {}
2810 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER1_2_0_0_0 {
2811     type Abi = Self;
2812     type DefaultType = Self;
2813 }
2814 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2815 #[repr(C)]
2816 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2817 pub struct FWPM_NET_EVENT_HEADER2 {
2818     pub timeStamp: super::super::Foundation::FILETIME,
2819     pub flags: u32,
2820     pub ipVersion: FWP_IP_VERSION,
2821     pub ipProtocol: u8,
2822     pub Anonymous1: FWPM_NET_EVENT_HEADER2_0,
2823     pub Anonymous2: FWPM_NET_EVENT_HEADER2_1,
2824     pub localPort: u16,
2825     pub remotePort: u16,
2826     pub scopeId: u32,
2827     pub appId: FWP_BYTE_BLOB,
2828     pub userId: *mut super::super::Security::SID,
2829     pub addressFamily: FWP_AF,
2830     pub packageSid: *mut super::super::Security::SID,
2831 }
2832 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2833 impl FWPM_NET_EVENT_HEADER2 {}
2834 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2835 impl ::std::default::Default for FWPM_NET_EVENT_HEADER2 {
default() -> Self2836     fn default() -> Self {
2837         unsafe { ::std::mem::zeroed() }
2838     }
2839 }
2840 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2841 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER2 {
eq(&self, _other: &Self) -> bool2842     fn eq(&self, _other: &Self) -> bool {
2843         unimplemented!()
2844     }
2845 }
2846 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2847 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER2 {}
2848 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2849 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER2 {
2850     type Abi = Self;
2851     type DefaultType = Self;
2852 }
2853 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2854 #[repr(C)]
2855 pub union FWPM_NET_EVENT_HEADER2_0 {
2856     pub localAddrV4: u32,
2857     pub localAddrV6: FWP_BYTE_ARRAY16,
2858 }
2859 impl FWPM_NET_EVENT_HEADER2_0 {}
2860 impl ::std::default::Default for FWPM_NET_EVENT_HEADER2_0 {
default() -> Self2861     fn default() -> Self {
2862         unsafe { ::std::mem::zeroed() }
2863     }
2864 }
2865 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER2_0 {
eq(&self, _other: &Self) -> bool2866     fn eq(&self, _other: &Self) -> bool {
2867         unimplemented!()
2868     }
2869 }
2870 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER2_0 {}
2871 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER2_0 {
2872     type Abi = Self;
2873     type DefaultType = Self;
2874 }
2875 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2876 #[repr(C)]
2877 pub union FWPM_NET_EVENT_HEADER2_1 {
2878     pub remoteAddrV4: u32,
2879     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2880 }
2881 impl FWPM_NET_EVENT_HEADER2_1 {}
2882 impl ::std::default::Default for FWPM_NET_EVENT_HEADER2_1 {
default() -> Self2883     fn default() -> Self {
2884         unsafe { ::std::mem::zeroed() }
2885     }
2886 }
2887 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER2_1 {
eq(&self, _other: &Self) -> bool2888     fn eq(&self, _other: &Self) -> bool {
2889         unimplemented!()
2890     }
2891 }
2892 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER2_1 {}
2893 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER2_1 {
2894     type Abi = Self;
2895     type DefaultType = Self;
2896 }
2897 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2898 #[repr(C)]
2899 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2900 pub struct FWPM_NET_EVENT_HEADER3 {
2901     pub timeStamp: super::super::Foundation::FILETIME,
2902     pub flags: u32,
2903     pub ipVersion: FWP_IP_VERSION,
2904     pub ipProtocol: u8,
2905     pub Anonymous1: FWPM_NET_EVENT_HEADER3_0,
2906     pub Anonymous2: FWPM_NET_EVENT_HEADER3_1,
2907     pub localPort: u16,
2908     pub remotePort: u16,
2909     pub scopeId: u32,
2910     pub appId: FWP_BYTE_BLOB,
2911     pub userId: *mut super::super::Security::SID,
2912     pub addressFamily: FWP_AF,
2913     pub packageSid: *mut super::super::Security::SID,
2914     pub enterpriseId: super::super::Foundation::PWSTR,
2915     pub policyFlags: u64,
2916     pub effectiveName: FWP_BYTE_BLOB,
2917 }
2918 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2919 impl FWPM_NET_EVENT_HEADER3 {}
2920 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2921 impl ::std::default::Default for FWPM_NET_EVENT_HEADER3 {
default() -> Self2922     fn default() -> Self {
2923         unsafe { ::std::mem::zeroed() }
2924     }
2925 }
2926 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2927 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER3 {
eq(&self, _other: &Self) -> bool2928     fn eq(&self, _other: &Self) -> bool {
2929         unimplemented!()
2930     }
2931 }
2932 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2933 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER3 {}
2934 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2935 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER3 {
2936     type Abi = Self;
2937     type DefaultType = Self;
2938 }
2939 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2940 #[repr(C)]
2941 pub union FWPM_NET_EVENT_HEADER3_0 {
2942     pub localAddrV4: u32,
2943     pub localAddrV6: FWP_BYTE_ARRAY16,
2944 }
2945 impl FWPM_NET_EVENT_HEADER3_0 {}
2946 impl ::std::default::Default for FWPM_NET_EVENT_HEADER3_0 {
default() -> Self2947     fn default() -> Self {
2948         unsafe { ::std::mem::zeroed() }
2949     }
2950 }
2951 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER3_0 {
eq(&self, _other: &Self) -> bool2952     fn eq(&self, _other: &Self) -> bool {
2953         unimplemented!()
2954     }
2955 }
2956 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER3_0 {}
2957 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER3_0 {
2958     type Abi = Self;
2959     type DefaultType = Self;
2960 }
2961 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2962 #[repr(C)]
2963 pub union FWPM_NET_EVENT_HEADER3_1 {
2964     pub remoteAddrV4: u32,
2965     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2966 }
2967 impl FWPM_NET_EVENT_HEADER3_1 {}
2968 impl ::std::default::Default for FWPM_NET_EVENT_HEADER3_1 {
default() -> Self2969     fn default() -> Self {
2970         unsafe { ::std::mem::zeroed() }
2971     }
2972 }
2973 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_HEADER3_1 {
eq(&self, _other: &Self) -> bool2974     fn eq(&self, _other: &Self) -> bool {
2975         unimplemented!()
2976     }
2977 }
2978 impl ::std::cmp::Eq for FWPM_NET_EVENT_HEADER3_1 {}
2979 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_HEADER3_1 {
2980     type Abi = Self;
2981     type DefaultType = Self;
2982 }
2983 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2984 #[repr(C)]
2985 pub struct FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
2986     pub failureErrorCode: u32,
2987     pub failurePoint: IPSEC_FAILURE_POINT,
2988     pub flags: u32,
2989     pub emState: IKEEXT_EM_SA_STATE,
2990     pub saRole: IKEEXT_SA_ROLE,
2991     pub emAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
2992     pub endCertHash: [u8; 20],
2993     pub mmId: u64,
2994     pub qmFilterId: u64,
2995 }
2996 impl FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {}
2997 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
default() -> Self2998     fn default() -> Self {
2999         unsafe { ::std::mem::zeroed() }
3000     }
3001 }
3002 impl ::std::fmt::Debug for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3003     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3004         fmt.debug_struct("FWPM_NET_EVENT_IKEEXT_EM_FAILURE0")
3005             .field("failureErrorCode", &self.failureErrorCode)
3006             .field("failurePoint", &self.failurePoint)
3007             .field("flags", &self.flags)
3008             .field("emState", &self.emState)
3009             .field("saRole", &self.saRole)
3010             .field("emAuthMethod", &self.emAuthMethod)
3011             .field("endCertHash", &self.endCertHash)
3012             .field("mmId", &self.mmId)
3013             .field("qmFilterId", &self.qmFilterId)
3014             .finish()
3015     }
3016 }
3017 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
eq(&self, other: &Self) -> bool3018     fn eq(&self, other: &Self) -> bool {
3019         self.failureErrorCode == other.failureErrorCode && self.failurePoint == other.failurePoint && self.flags == other.flags && self.emState == other.emState && self.saRole == other.saRole && self.emAuthMethod == other.emAuthMethod && self.endCertHash == other.endCertHash && self.mmId == other.mmId && self.qmFilterId == other.qmFilterId
3020     }
3021 }
3022 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {}
3023 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
3024     type Abi = Self;
3025     type DefaultType = Self;
3026 }
3027 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3028 #[repr(C)]
3029 #[cfg(feature = "Win32_Foundation")]
3030 pub struct FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
3031     pub failureErrorCode: u32,
3032     pub failurePoint: IPSEC_FAILURE_POINT,
3033     pub flags: u32,
3034     pub emState: IKEEXT_EM_SA_STATE,
3035     pub saRole: IKEEXT_SA_ROLE,
3036     pub emAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
3037     pub endCertHash: [u8; 20],
3038     pub mmId: u64,
3039     pub qmFilterId: u64,
3040     pub localPrincipalNameForAuth: super::super::Foundation::PWSTR,
3041     pub remotePrincipalNameForAuth: super::super::Foundation::PWSTR,
3042     pub numLocalPrincipalGroupSids: u32,
3043     pub localPrincipalGroupSids: *mut super::super::Foundation::PWSTR,
3044     pub numRemotePrincipalGroupSids: u32,
3045     pub remotePrincipalGroupSids: *mut super::super::Foundation::PWSTR,
3046     pub saTrafficType: IPSEC_TRAFFIC_TYPE,
3047 }
3048 #[cfg(feature = "Win32_Foundation")]
3049 impl FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {}
3050 #[cfg(feature = "Win32_Foundation")]
3051 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
default() -> Self3052     fn default() -> Self {
3053         unsafe { ::std::mem::zeroed() }
3054     }
3055 }
3056 #[cfg(feature = "Win32_Foundation")]
3057 impl ::std::fmt::Debug for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3058     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3059         fmt.debug_struct("FWPM_NET_EVENT_IKEEXT_EM_FAILURE1")
3060             .field("failureErrorCode", &self.failureErrorCode)
3061             .field("failurePoint", &self.failurePoint)
3062             .field("flags", &self.flags)
3063             .field("emState", &self.emState)
3064             .field("saRole", &self.saRole)
3065             .field("emAuthMethod", &self.emAuthMethod)
3066             .field("endCertHash", &self.endCertHash)
3067             .field("mmId", &self.mmId)
3068             .field("qmFilterId", &self.qmFilterId)
3069             .field("localPrincipalNameForAuth", &self.localPrincipalNameForAuth)
3070             .field("remotePrincipalNameForAuth", &self.remotePrincipalNameForAuth)
3071             .field("numLocalPrincipalGroupSids", &self.numLocalPrincipalGroupSids)
3072             .field("localPrincipalGroupSids", &self.localPrincipalGroupSids)
3073             .field("numRemotePrincipalGroupSids", &self.numRemotePrincipalGroupSids)
3074             .field("remotePrincipalGroupSids", &self.remotePrincipalGroupSids)
3075             .field("saTrafficType", &self.saTrafficType)
3076             .finish()
3077     }
3078 }
3079 #[cfg(feature = "Win32_Foundation")]
3080 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
eq(&self, other: &Self) -> bool3081     fn eq(&self, other: &Self) -> bool {
3082         self.failureErrorCode == other.failureErrorCode
3083             && self.failurePoint == other.failurePoint
3084             && self.flags == other.flags
3085             && self.emState == other.emState
3086             && self.saRole == other.saRole
3087             && self.emAuthMethod == other.emAuthMethod
3088             && self.endCertHash == other.endCertHash
3089             && self.mmId == other.mmId
3090             && self.qmFilterId == other.qmFilterId
3091             && self.localPrincipalNameForAuth == other.localPrincipalNameForAuth
3092             && self.remotePrincipalNameForAuth == other.remotePrincipalNameForAuth
3093             && self.numLocalPrincipalGroupSids == other.numLocalPrincipalGroupSids
3094             && self.localPrincipalGroupSids == other.localPrincipalGroupSids
3095             && self.numRemotePrincipalGroupSids == other.numRemotePrincipalGroupSids
3096             && self.remotePrincipalGroupSids == other.remotePrincipalGroupSids
3097             && self.saTrafficType == other.saTrafficType
3098     }
3099 }
3100 #[cfg(feature = "Win32_Foundation")]
3101 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {}
3102 #[cfg(feature = "Win32_Foundation")]
3103 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
3104     type Abi = Self;
3105     type DefaultType = Self;
3106 }
3107 pub const FWPM_NET_EVENT_IKEEXT_EM_FAILURE_FLAG_BENIGN: u32 = 2u32;
3108 pub const FWPM_NET_EVENT_IKEEXT_EM_FAILURE_FLAG_MULTIPLE: u32 = 1u32;
3109 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3110 #[repr(C)]
3111 pub struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
3112     pub failureErrorCode: u32,
3113     pub failurePoint: IPSEC_FAILURE_POINT,
3114     pub flags: u32,
3115     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
3116     pub mmState: IKEEXT_MM_SA_STATE,
3117     pub saRole: IKEEXT_SA_ROLE,
3118     pub mmAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
3119     pub endCertHash: [u8; 20],
3120     pub mmId: u64,
3121     pub mmFilterId: u64,
3122 }
3123 impl FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {}
3124 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
default() -> Self3125     fn default() -> Self {
3126         unsafe { ::std::mem::zeroed() }
3127     }
3128 }
3129 impl ::std::fmt::Debug for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3130     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3131         fmt.debug_struct("FWPM_NET_EVENT_IKEEXT_MM_FAILURE0")
3132             .field("failureErrorCode", &self.failureErrorCode)
3133             .field("failurePoint", &self.failurePoint)
3134             .field("flags", &self.flags)
3135             .field("keyingModuleType", &self.keyingModuleType)
3136             .field("mmState", &self.mmState)
3137             .field("saRole", &self.saRole)
3138             .field("mmAuthMethod", &self.mmAuthMethod)
3139             .field("endCertHash", &self.endCertHash)
3140             .field("mmId", &self.mmId)
3141             .field("mmFilterId", &self.mmFilterId)
3142             .finish()
3143     }
3144 }
3145 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
eq(&self, other: &Self) -> bool3146     fn eq(&self, other: &Self) -> bool {
3147         self.failureErrorCode == other.failureErrorCode && self.failurePoint == other.failurePoint && self.flags == other.flags && self.keyingModuleType == other.keyingModuleType && self.mmState == other.mmState && self.saRole == other.saRole && self.mmAuthMethod == other.mmAuthMethod && self.endCertHash == other.endCertHash && self.mmId == other.mmId && self.mmFilterId == other.mmFilterId
3148     }
3149 }
3150 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {}
3151 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
3152     type Abi = Self;
3153     type DefaultType = Self;
3154 }
3155 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3156 #[repr(C)]
3157 #[cfg(feature = "Win32_Foundation")]
3158 pub struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
3159     pub failureErrorCode: u32,
3160     pub failurePoint: IPSEC_FAILURE_POINT,
3161     pub flags: u32,
3162     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
3163     pub mmState: IKEEXT_MM_SA_STATE,
3164     pub saRole: IKEEXT_SA_ROLE,
3165     pub mmAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
3166     pub endCertHash: [u8; 20],
3167     pub mmId: u64,
3168     pub mmFilterId: u64,
3169     pub localPrincipalNameForAuth: super::super::Foundation::PWSTR,
3170     pub remotePrincipalNameForAuth: super::super::Foundation::PWSTR,
3171     pub numLocalPrincipalGroupSids: u32,
3172     pub localPrincipalGroupSids: *mut super::super::Foundation::PWSTR,
3173     pub numRemotePrincipalGroupSids: u32,
3174     pub remotePrincipalGroupSids: *mut super::super::Foundation::PWSTR,
3175 }
3176 #[cfg(feature = "Win32_Foundation")]
3177 impl FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {}
3178 #[cfg(feature = "Win32_Foundation")]
3179 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
default() -> Self3180     fn default() -> Self {
3181         unsafe { ::std::mem::zeroed() }
3182     }
3183 }
3184 #[cfg(feature = "Win32_Foundation")]
3185 impl ::std::fmt::Debug for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3186     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3187         fmt.debug_struct("FWPM_NET_EVENT_IKEEXT_MM_FAILURE1")
3188             .field("failureErrorCode", &self.failureErrorCode)
3189             .field("failurePoint", &self.failurePoint)
3190             .field("flags", &self.flags)
3191             .field("keyingModuleType", &self.keyingModuleType)
3192             .field("mmState", &self.mmState)
3193             .field("saRole", &self.saRole)
3194             .field("mmAuthMethod", &self.mmAuthMethod)
3195             .field("endCertHash", &self.endCertHash)
3196             .field("mmId", &self.mmId)
3197             .field("mmFilterId", &self.mmFilterId)
3198             .field("localPrincipalNameForAuth", &self.localPrincipalNameForAuth)
3199             .field("remotePrincipalNameForAuth", &self.remotePrincipalNameForAuth)
3200             .field("numLocalPrincipalGroupSids", &self.numLocalPrincipalGroupSids)
3201             .field("localPrincipalGroupSids", &self.localPrincipalGroupSids)
3202             .field("numRemotePrincipalGroupSids", &self.numRemotePrincipalGroupSids)
3203             .field("remotePrincipalGroupSids", &self.remotePrincipalGroupSids)
3204             .finish()
3205     }
3206 }
3207 #[cfg(feature = "Win32_Foundation")]
3208 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
eq(&self, other: &Self) -> bool3209     fn eq(&self, other: &Self) -> bool {
3210         self.failureErrorCode == other.failureErrorCode
3211             && self.failurePoint == other.failurePoint
3212             && self.flags == other.flags
3213             && self.keyingModuleType == other.keyingModuleType
3214             && self.mmState == other.mmState
3215             && self.saRole == other.saRole
3216             && self.mmAuthMethod == other.mmAuthMethod
3217             && self.endCertHash == other.endCertHash
3218             && self.mmId == other.mmId
3219             && self.mmFilterId == other.mmFilterId
3220             && self.localPrincipalNameForAuth == other.localPrincipalNameForAuth
3221             && self.remotePrincipalNameForAuth == other.remotePrincipalNameForAuth
3222             && self.numLocalPrincipalGroupSids == other.numLocalPrincipalGroupSids
3223             && self.localPrincipalGroupSids == other.localPrincipalGroupSids
3224             && self.numRemotePrincipalGroupSids == other.numRemotePrincipalGroupSids
3225             && self.remotePrincipalGroupSids == other.remotePrincipalGroupSids
3226     }
3227 }
3228 #[cfg(feature = "Win32_Foundation")]
3229 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {}
3230 #[cfg(feature = "Win32_Foundation")]
3231 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
3232     type Abi = Self;
3233     type DefaultType = Self;
3234 }
3235 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3236 #[repr(C)]
3237 #[cfg(feature = "Win32_Foundation")]
3238 pub struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
3239     pub failureErrorCode: u32,
3240     pub failurePoint: IPSEC_FAILURE_POINT,
3241     pub flags: u32,
3242     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
3243     pub mmState: IKEEXT_MM_SA_STATE,
3244     pub saRole: IKEEXT_SA_ROLE,
3245     pub mmAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
3246     pub endCertHash: [u8; 20],
3247     pub mmId: u64,
3248     pub mmFilterId: u64,
3249     pub localPrincipalNameForAuth: super::super::Foundation::PWSTR,
3250     pub remotePrincipalNameForAuth: super::super::Foundation::PWSTR,
3251     pub numLocalPrincipalGroupSids: u32,
3252     pub localPrincipalGroupSids: *mut super::super::Foundation::PWSTR,
3253     pub numRemotePrincipalGroupSids: u32,
3254     pub remotePrincipalGroupSids: *mut super::super::Foundation::PWSTR,
3255     pub providerContextKey: *mut ::windows::runtime::GUID,
3256 }
3257 #[cfg(feature = "Win32_Foundation")]
3258 impl FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {}
3259 #[cfg(feature = "Win32_Foundation")]
3260 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
default() -> Self3261     fn default() -> Self {
3262         unsafe { ::std::mem::zeroed() }
3263     }
3264 }
3265 #[cfg(feature = "Win32_Foundation")]
3266 impl ::std::fmt::Debug for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3267     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3268         fmt.debug_struct("FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_")
3269             .field("failureErrorCode", &self.failureErrorCode)
3270             .field("failurePoint", &self.failurePoint)
3271             .field("flags", &self.flags)
3272             .field("keyingModuleType", &self.keyingModuleType)
3273             .field("mmState", &self.mmState)
3274             .field("saRole", &self.saRole)
3275             .field("mmAuthMethod", &self.mmAuthMethod)
3276             .field("endCertHash", &self.endCertHash)
3277             .field("mmId", &self.mmId)
3278             .field("mmFilterId", &self.mmFilterId)
3279             .field("localPrincipalNameForAuth", &self.localPrincipalNameForAuth)
3280             .field("remotePrincipalNameForAuth", &self.remotePrincipalNameForAuth)
3281             .field("numLocalPrincipalGroupSids", &self.numLocalPrincipalGroupSids)
3282             .field("localPrincipalGroupSids", &self.localPrincipalGroupSids)
3283             .field("numRemotePrincipalGroupSids", &self.numRemotePrincipalGroupSids)
3284             .field("remotePrincipalGroupSids", &self.remotePrincipalGroupSids)
3285             .field("providerContextKey", &self.providerContextKey)
3286             .finish()
3287     }
3288 }
3289 #[cfg(feature = "Win32_Foundation")]
3290 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
eq(&self, other: &Self) -> bool3291     fn eq(&self, other: &Self) -> bool {
3292         self.failureErrorCode == other.failureErrorCode
3293             && self.failurePoint == other.failurePoint
3294             && self.flags == other.flags
3295             && self.keyingModuleType == other.keyingModuleType
3296             && self.mmState == other.mmState
3297             && self.saRole == other.saRole
3298             && self.mmAuthMethod == other.mmAuthMethod
3299             && self.endCertHash == other.endCertHash
3300             && self.mmId == other.mmId
3301             && self.mmFilterId == other.mmFilterId
3302             && self.localPrincipalNameForAuth == other.localPrincipalNameForAuth
3303             && self.remotePrincipalNameForAuth == other.remotePrincipalNameForAuth
3304             && self.numLocalPrincipalGroupSids == other.numLocalPrincipalGroupSids
3305             && self.localPrincipalGroupSids == other.localPrincipalGroupSids
3306             && self.numRemotePrincipalGroupSids == other.numRemotePrincipalGroupSids
3307             && self.remotePrincipalGroupSids == other.remotePrincipalGroupSids
3308             && self.providerContextKey == other.providerContextKey
3309     }
3310 }
3311 #[cfg(feature = "Win32_Foundation")]
3312 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {}
3313 #[cfg(feature = "Win32_Foundation")]
3314 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
3315     type Abi = Self;
3316     type DefaultType = Self;
3317 }
3318 pub const FWPM_NET_EVENT_IKEEXT_MM_FAILURE_FLAG_BENIGN: u32 = 1u32;
3319 pub const FWPM_NET_EVENT_IKEEXT_MM_FAILURE_FLAG_MULTIPLE: u32 = 2u32;
3320 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3321 #[repr(C)]
3322 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3323 pub struct FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {
3324     pub failureErrorCode: u32,
3325     pub failurePoint: IPSEC_FAILURE_POINT,
3326     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
3327     pub qmState: IKEEXT_QM_SA_STATE,
3328     pub saRole: IKEEXT_SA_ROLE,
3329     pub saTrafficType: IPSEC_TRAFFIC_TYPE,
3330     pub Anonymous1: FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0,
3331     pub Anonymous2: FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1,
3332     pub qmFilterId: u64,
3333 }
3334 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3335 impl FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {}
3336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3337 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {
default() -> Self3338     fn default() -> Self {
3339         unsafe { ::std::mem::zeroed() }
3340     }
3341 }
3342 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3343 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {
eq(&self, _other: &Self) -> bool3344     fn eq(&self, _other: &Self) -> bool {
3345         unimplemented!()
3346     }
3347 }
3348 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3349 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {}
3350 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3351 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {
3352     type Abi = Self;
3353     type DefaultType = Self;
3354 }
3355 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3356 #[repr(C)]
3357 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3358 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {
3359     pub localSubNet: FWP_CONDITION_VALUE0,
3360 }
3361 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3362 impl FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {}
3363 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3364 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {
default() -> Self3365     fn default() -> Self {
3366         unsafe { ::std::mem::zeroed() }
3367     }
3368 }
3369 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3370 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {
eq(&self, _other: &Self) -> bool3371     fn eq(&self, _other: &Self) -> bool {
3372         unimplemented!()
3373     }
3374 }
3375 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3376 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {}
3377 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3378 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {
3379     type Abi = Self;
3380     type DefaultType = Self;
3381 }
3382 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3383 #[repr(C)]
3384 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3385 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {
3386     pub remoteSubNet: FWP_CONDITION_VALUE0,
3387 }
3388 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3389 impl FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {}
3390 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3391 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {
default() -> Self3392     fn default() -> Self {
3393         unsafe { ::std::mem::zeroed() }
3394     }
3395 }
3396 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3397 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {
eq(&self, _other: &Self) -> bool3398     fn eq(&self, _other: &Self) -> bool {
3399         unimplemented!()
3400     }
3401 }
3402 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3403 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {}
3404 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3405 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {
3406     type Abi = Self;
3407     type DefaultType = Self;
3408 }
3409 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3410 #[repr(C)]
3411 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3412 pub struct FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {
3413     pub failureErrorCode: u32,
3414     pub failurePoint: IPSEC_FAILURE_POINT,
3415     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
3416     pub qmState: IKEEXT_QM_SA_STATE,
3417     pub saRole: IKEEXT_SA_ROLE,
3418     pub saTrafficType: IPSEC_TRAFFIC_TYPE,
3419     pub Anonymous1: FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0,
3420     pub Anonymous2: FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1,
3421     pub qmFilterId: u64,
3422     pub mmSaLuid: u64,
3423     pub mmProviderContextKey: ::windows::runtime::GUID,
3424 }
3425 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3426 impl FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {}
3427 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3428 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {
default() -> Self3429     fn default() -> Self {
3430         unsafe { ::std::mem::zeroed() }
3431     }
3432 }
3433 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3434 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {
eq(&self, _other: &Self) -> bool3435     fn eq(&self, _other: &Self) -> bool {
3436         unimplemented!()
3437     }
3438 }
3439 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3440 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {}
3441 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3442 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {
3443     type Abi = Self;
3444     type DefaultType = Self;
3445 }
3446 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3447 #[repr(C)]
3448 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3449 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {
3450     pub localSubNet: FWP_CONDITION_VALUE0,
3451 }
3452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3453 impl FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {}
3454 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3455 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {
default() -> Self3456     fn default() -> Self {
3457         unsafe { ::std::mem::zeroed() }
3458     }
3459 }
3460 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3461 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {
eq(&self, _other: &Self) -> bool3462     fn eq(&self, _other: &Self) -> bool {
3463         unimplemented!()
3464     }
3465 }
3466 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3467 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {}
3468 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3469 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {
3470     type Abi = Self;
3471     type DefaultType = Self;
3472 }
3473 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3474 #[repr(C)]
3475 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3476 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {
3477     pub remoteSubNet: FWP_CONDITION_VALUE0,
3478 }
3479 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3480 impl FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {}
3481 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3482 impl ::std::default::Default for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {
default() -> Self3483     fn default() -> Self {
3484         unsafe { ::std::mem::zeroed() }
3485     }
3486 }
3487 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3488 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {
eq(&self, _other: &Self) -> bool3489     fn eq(&self, _other: &Self) -> bool {
3490         unimplemented!()
3491     }
3492 }
3493 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3494 impl ::std::cmp::Eq for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {}
3495 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3496 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {
3497     type Abi = Self;
3498     type DefaultType = Self;
3499 }
3500 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3501 #[repr(C)]
3502 pub struct FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {
3503     pub ipVersion: FWP_IP_VERSION,
3504     pub Anonymous1: FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0,
3505     pub Anonymous2: FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1,
3506     pub failureStatus: i32,
3507     pub direction: FWP_DIRECTION,
3508 }
3509 impl FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {}
3510 impl ::std::default::Default for FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {
default() -> Self3511     fn default() -> Self {
3512         unsafe { ::std::mem::zeroed() }
3513     }
3514 }
3515 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {
eq(&self, _other: &Self) -> bool3516     fn eq(&self, _other: &Self) -> bool {
3517         unimplemented!()
3518     }
3519 }
3520 impl ::std::cmp::Eq for FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {}
3521 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {
3522     type Abi = Self;
3523     type DefaultType = Self;
3524 }
3525 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3526 #[repr(C)]
3527 pub union FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {
3528     pub publicHostV4Addr: u32,
3529     pub publicHostV6Addr: [u8; 16],
3530 }
3531 impl FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {}
3532 impl ::std::default::Default for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {
default() -> Self3533     fn default() -> Self {
3534         unsafe { ::std::mem::zeroed() }
3535     }
3536 }
3537 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {
eq(&self, _other: &Self) -> bool3538     fn eq(&self, _other: &Self) -> bool {
3539         unimplemented!()
3540     }
3541 }
3542 impl ::std::cmp::Eq for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {}
3543 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {
3544     type Abi = Self;
3545     type DefaultType = Self;
3546 }
3547 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3548 #[repr(C)]
3549 pub union FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {
3550     pub internalHostV4Addr: u32,
3551     pub internalHostV6Addr: [u8; 16],
3552 }
3553 impl FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {}
3554 impl ::std::default::Default for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {
default() -> Self3555     fn default() -> Self {
3556         unsafe { ::std::mem::zeroed() }
3557     }
3558 }
3559 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {
eq(&self, _other: &Self) -> bool3560     fn eq(&self, _other: &Self) -> bool {
3561         unimplemented!()
3562     }
3563 }
3564 impl ::std::cmp::Eq for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {}
3565 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {
3566     type Abi = Self;
3567     type DefaultType = Self;
3568 }
3569 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3570 #[repr(C)]
3571 pub struct FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
3572     pub failureStatus: i32,
3573     pub direction: FWP_DIRECTION,
3574     pub spi: u32,
3575     pub filterId: u64,
3576     pub layerId: u16,
3577 }
3578 impl FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {}
3579 impl ::std::default::Default for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
default() -> Self3580     fn default() -> Self {
3581         unsafe { ::std::mem::zeroed() }
3582     }
3583 }
3584 impl ::std::fmt::Debug for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3585     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3586         fmt.debug_struct("FWPM_NET_EVENT_IPSEC_KERNEL_DROP0").field("failureStatus", &self.failureStatus).field("direction", &self.direction).field("spi", &self.spi).field("filterId", &self.filterId).field("layerId", &self.layerId).finish()
3587     }
3588 }
3589 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
eq(&self, other: &Self) -> bool3590     fn eq(&self, other: &Self) -> bool {
3591         self.failureStatus == other.failureStatus && self.direction == other.direction && self.spi == other.spi && self.filterId == other.filterId && self.layerId == other.layerId
3592     }
3593 }
3594 impl ::std::cmp::Eq for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {}
3595 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
3596     type Abi = Self;
3597     type DefaultType = Self;
3598 }
3599 pub const FWPM_NET_EVENT_KEYWORD_CAPABILITY_ALLOW: u32 = 8u32;
3600 pub const FWPM_NET_EVENT_KEYWORD_CAPABILITY_DROP: u32 = 4u32;
3601 pub const FWPM_NET_EVENT_KEYWORD_CLASSIFY_ALLOW: u32 = 16u32;
3602 pub const FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST: u32 = 2u32;
3603 pub const FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST: u32 = 1u32;
3604 pub const FWPM_NET_EVENT_KEYWORD_PORT_SCANNING_DROP: u32 = 32u32;
3605 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3606 #[repr(C)]
3607 pub struct FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
3608     pub spi: u32,
3609 }
3610 impl FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {}
3611 impl ::std::default::Default for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
default() -> Self3612     fn default() -> Self {
3613         unsafe { ::std::mem::zeroed() }
3614     }
3615 }
3616 impl ::std::fmt::Debug for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3617     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3618         fmt.debug_struct("FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_").field("spi", &self.spi).finish()
3619     }
3620 }
3621 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
eq(&self, other: &Self) -> bool3622     fn eq(&self, other: &Self) -> bool {
3623         self.spi == other.spi
3624     }
3625 }
3626 impl ::std::cmp::Eq for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {}
3627 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
3628     type Abi = Self;
3629     type DefaultType = Self;
3630 }
3631 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3632 #[repr(C)]
3633 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3634 pub struct FWPM_NET_EVENT_SUBSCRIPTION0 {
3635     pub enumTemplate: *mut FWPM_NET_EVENT_ENUM_TEMPLATE0,
3636     pub flags: u32,
3637     pub sessionKey: ::windows::runtime::GUID,
3638 }
3639 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3640 impl FWPM_NET_EVENT_SUBSCRIPTION0 {}
3641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3642 impl ::std::default::Default for FWPM_NET_EVENT_SUBSCRIPTION0 {
default() -> Self3643     fn default() -> Self {
3644         unsafe { ::std::mem::zeroed() }
3645     }
3646 }
3647 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3648 impl ::std::fmt::Debug for FWPM_NET_EVENT_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3649     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3650         fmt.debug_struct("FWPM_NET_EVENT_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
3651     }
3652 }
3653 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3654 impl ::std::cmp::PartialEq for FWPM_NET_EVENT_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool3655     fn eq(&self, other: &Self) -> bool {
3656         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
3657     }
3658 }
3659 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3660 impl ::std::cmp::Eq for FWPM_NET_EVENT_SUBSCRIPTION0 {}
3661 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3662 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_SUBSCRIPTION0 {
3663     type Abi = Self;
3664     type DefaultType = Self;
3665 }
3666 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3667 #[repr(transparent)]
3668 pub struct FWPM_NET_EVENT_TYPE(pub i32);
3669 pub const FWPM_NET_EVENT_TYPE_IKEEXT_MM_FAILURE: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(0i32);
3670 pub const FWPM_NET_EVENT_TYPE_IKEEXT_QM_FAILURE: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(1i32);
3671 pub const FWPM_NET_EVENT_TYPE_IKEEXT_EM_FAILURE: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(2i32);
3672 pub const FWPM_NET_EVENT_TYPE_CLASSIFY_DROP: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(3i32);
3673 pub const FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(4i32);
3674 pub const FWPM_NET_EVENT_TYPE_IPSEC_DOSP_DROP: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(5i32);
3675 pub const FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(6i32);
3676 pub const FWPM_NET_EVENT_TYPE_CAPABILITY_DROP: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(7i32);
3677 pub const FWPM_NET_EVENT_TYPE_CAPABILITY_ALLOW: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(8i32);
3678 pub const FWPM_NET_EVENT_TYPE_CLASSIFY_DROP_MAC: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(9i32);
3679 pub const FWPM_NET_EVENT_TYPE_LPM_PACKET_ARRIVAL: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(10i32);
3680 pub const FWPM_NET_EVENT_TYPE_MAX: FWPM_NET_EVENT_TYPE = FWPM_NET_EVENT_TYPE(11i32);
3681 impl ::std::convert::From<i32> for FWPM_NET_EVENT_TYPE {
from(value: i32) -> Self3682     fn from(value: i32) -> Self {
3683         Self(value)
3684     }
3685 }
3686 unsafe impl ::windows::runtime::Abi for FWPM_NET_EVENT_TYPE {
3687     type Abi = Self;
3688     type DefaultType = Self;
3689 }
3690 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3691 #[repr(C)]
3692 #[cfg(feature = "Win32_Foundation")]
3693 pub struct FWPM_PROVIDER0 {
3694     pub providerKey: ::windows::runtime::GUID,
3695     pub displayData: FWPM_DISPLAY_DATA0,
3696     pub flags: u32,
3697     pub providerData: FWP_BYTE_BLOB,
3698     pub serviceName: super::super::Foundation::PWSTR,
3699 }
3700 #[cfg(feature = "Win32_Foundation")]
3701 impl FWPM_PROVIDER0 {}
3702 #[cfg(feature = "Win32_Foundation")]
3703 impl ::std::default::Default for FWPM_PROVIDER0 {
default() -> Self3704     fn default() -> Self {
3705         unsafe { ::std::mem::zeroed() }
3706     }
3707 }
3708 #[cfg(feature = "Win32_Foundation")]
3709 impl ::std::fmt::Debug for FWPM_PROVIDER0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3710     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3711         fmt.debug_struct("FWPM_PROVIDER0").field("providerKey", &self.providerKey).field("displayData", &self.displayData).field("flags", &self.flags).field("providerData", &self.providerData).field("serviceName", &self.serviceName).finish()
3712     }
3713 }
3714 #[cfg(feature = "Win32_Foundation")]
3715 impl ::std::cmp::PartialEq for FWPM_PROVIDER0 {
eq(&self, other: &Self) -> bool3716     fn eq(&self, other: &Self) -> bool {
3717         self.providerKey == other.providerKey && self.displayData == other.displayData && self.flags == other.flags && self.providerData == other.providerData && self.serviceName == other.serviceName
3718     }
3719 }
3720 #[cfg(feature = "Win32_Foundation")]
3721 impl ::std::cmp::Eq for FWPM_PROVIDER0 {}
3722 #[cfg(feature = "Win32_Foundation")]
3723 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER0 {
3724     type Abi = Self;
3725     type DefaultType = Self;
3726 }
3727 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3728 #[repr(C)]
3729 pub struct FWPM_PROVIDER_CHANGE0 {
3730     pub changeType: FWPM_CHANGE_TYPE,
3731     pub providerKey: ::windows::runtime::GUID,
3732 }
3733 impl FWPM_PROVIDER_CHANGE0 {}
3734 impl ::std::default::Default for FWPM_PROVIDER_CHANGE0 {
default() -> Self3735     fn default() -> Self {
3736         unsafe { ::std::mem::zeroed() }
3737     }
3738 }
3739 impl ::std::fmt::Debug for FWPM_PROVIDER_CHANGE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3740     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3741         fmt.debug_struct("FWPM_PROVIDER_CHANGE0").field("changeType", &self.changeType).field("providerKey", &self.providerKey).finish()
3742     }
3743 }
3744 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CHANGE0 {
eq(&self, other: &Self) -> bool3745     fn eq(&self, other: &Self) -> bool {
3746         self.changeType == other.changeType && self.providerKey == other.providerKey
3747     }
3748 }
3749 impl ::std::cmp::Eq for FWPM_PROVIDER_CHANGE0 {}
3750 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CHANGE0 {
3751     type Abi = Self;
3752     type DefaultType = Self;
3753 }
3754 pub type FWPM_PROVIDER_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, change: *const FWPM_PROVIDER_CHANGE0);
3755 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3756 #[repr(C)]
3757 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3758 pub struct FWPM_PROVIDER_CONTEXT0 {
3759     pub providerContextKey: ::windows::runtime::GUID,
3760     pub displayData: FWPM_DISPLAY_DATA0,
3761     pub flags: u32,
3762     pub providerKey: *mut ::windows::runtime::GUID,
3763     pub providerData: FWP_BYTE_BLOB,
3764     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3765     pub Anonymous: FWPM_PROVIDER_CONTEXT0_0,
3766     pub providerContextId: u64,
3767 }
3768 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3769 impl FWPM_PROVIDER_CONTEXT0 {}
3770 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3771 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT0 {
default() -> Self3772     fn default() -> Self {
3773         unsafe { ::std::mem::zeroed() }
3774     }
3775 }
3776 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3777 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT0 {
eq(&self, _other: &Self) -> bool3778     fn eq(&self, _other: &Self) -> bool {
3779         unimplemented!()
3780     }
3781 }
3782 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3783 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT0 {}
3784 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3785 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT0 {
3786     type Abi = Self;
3787     type DefaultType = Self;
3788 }
3789 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3790 #[repr(C)]
3791 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3792 pub union FWPM_PROVIDER_CONTEXT0_0 {
3793     pub keyingPolicy: *mut IPSEC_KEYING_POLICY0,
3794     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY0,
3795     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY0,
3796     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY0,
3797     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY0,
3798     pub ikeMmPolicy: *mut IKEEXT_POLICY0,
3799     pub authIpMmPolicy: *mut IKEEXT_POLICY0,
3800     pub dataBuffer: *mut FWP_BYTE_BLOB,
3801     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3802 }
3803 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3804 impl FWPM_PROVIDER_CONTEXT0_0 {}
3805 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3806 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT0_0 {
default() -> Self3807     fn default() -> Self {
3808         unsafe { ::std::mem::zeroed() }
3809     }
3810 }
3811 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3812 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT0_0 {
eq(&self, _other: &Self) -> bool3813     fn eq(&self, _other: &Self) -> bool {
3814         unimplemented!()
3815     }
3816 }
3817 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3818 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT0_0 {}
3819 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3820 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT0_0 {
3821     type Abi = Self;
3822     type DefaultType = Self;
3823 }
3824 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3825 #[repr(C)]
3826 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3827 pub struct FWPM_PROVIDER_CONTEXT1 {
3828     pub providerContextKey: ::windows::runtime::GUID,
3829     pub displayData: FWPM_DISPLAY_DATA0,
3830     pub flags: u32,
3831     pub providerKey: *mut ::windows::runtime::GUID,
3832     pub providerData: FWP_BYTE_BLOB,
3833     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3834     pub Anonymous: FWPM_PROVIDER_CONTEXT1_0,
3835     pub providerContextId: u64,
3836 }
3837 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3838 impl FWPM_PROVIDER_CONTEXT1 {}
3839 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3840 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT1 {
default() -> Self3841     fn default() -> Self {
3842         unsafe { ::std::mem::zeroed() }
3843     }
3844 }
3845 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3846 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT1 {
eq(&self, _other: &Self) -> bool3847     fn eq(&self, _other: &Self) -> bool {
3848         unimplemented!()
3849     }
3850 }
3851 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3852 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT1 {}
3853 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3854 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT1 {
3855     type Abi = Self;
3856     type DefaultType = Self;
3857 }
3858 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3859 #[repr(C)]
3860 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3861 pub union FWPM_PROVIDER_CONTEXT1_0 {
3862     pub keyingPolicy: *mut IPSEC_KEYING_POLICY0,
3863     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY1,
3864     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY1,
3865     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY1,
3866     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY1,
3867     pub ikeMmPolicy: *mut IKEEXT_POLICY1,
3868     pub authIpMmPolicy: *mut IKEEXT_POLICY1,
3869     pub dataBuffer: *mut FWP_BYTE_BLOB,
3870     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3871     pub ikeV2QmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY1,
3872     pub ikeV2MmPolicy: *mut IKEEXT_POLICY1,
3873     pub idpOptions: *mut IPSEC_DOSP_OPTIONS0,
3874 }
3875 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3876 impl FWPM_PROVIDER_CONTEXT1_0 {}
3877 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3878 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT1_0 {
default() -> Self3879     fn default() -> Self {
3880         unsafe { ::std::mem::zeroed() }
3881     }
3882 }
3883 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3884 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT1_0 {
eq(&self, _other: &Self) -> bool3885     fn eq(&self, _other: &Self) -> bool {
3886         unimplemented!()
3887     }
3888 }
3889 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3890 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT1_0 {}
3891 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3892 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT1_0 {
3893     type Abi = Self;
3894     type DefaultType = Self;
3895 }
3896 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3897 #[repr(C)]
3898 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3899 pub struct FWPM_PROVIDER_CONTEXT2 {
3900     pub providerContextKey: ::windows::runtime::GUID,
3901     pub displayData: FWPM_DISPLAY_DATA0,
3902     pub flags: u32,
3903     pub providerKey: *mut ::windows::runtime::GUID,
3904     pub providerData: FWP_BYTE_BLOB,
3905     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3906     pub Anonymous: FWPM_PROVIDER_CONTEXT2_0,
3907     pub providerContextId: u64,
3908 }
3909 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3910 impl FWPM_PROVIDER_CONTEXT2 {}
3911 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3912 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT2 {
default() -> Self3913     fn default() -> Self {
3914         unsafe { ::std::mem::zeroed() }
3915     }
3916 }
3917 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3918 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT2 {
eq(&self, _other: &Self) -> bool3919     fn eq(&self, _other: &Self) -> bool {
3920         unimplemented!()
3921     }
3922 }
3923 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3924 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT2 {}
3925 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3926 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT2 {
3927     type Abi = Self;
3928     type DefaultType = Self;
3929 }
3930 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3931 #[repr(C)]
3932 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3933 pub union FWPM_PROVIDER_CONTEXT2_0 {
3934     pub keyingPolicy: *mut IPSEC_KEYING_POLICY1,
3935     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3936     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY2,
3937     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3938     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY2,
3939     pub ikeMmPolicy: *mut IKEEXT_POLICY2,
3940     pub authIpMmPolicy: *mut IKEEXT_POLICY2,
3941     pub dataBuffer: *mut FWP_BYTE_BLOB,
3942     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3943     pub ikeV2QmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY2,
3944     pub ikeV2QmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3945     pub ikeV2MmPolicy: *mut IKEEXT_POLICY2,
3946     pub idpOptions: *mut IPSEC_DOSP_OPTIONS0,
3947 }
3948 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3949 impl FWPM_PROVIDER_CONTEXT2_0 {}
3950 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3951 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT2_0 {
default() -> Self3952     fn default() -> Self {
3953         unsafe { ::std::mem::zeroed() }
3954     }
3955 }
3956 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3957 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT2_0 {
eq(&self, _other: &Self) -> bool3958     fn eq(&self, _other: &Self) -> bool {
3959         unimplemented!()
3960     }
3961 }
3962 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3963 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT2_0 {}
3964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3965 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT2_0 {
3966     type Abi = Self;
3967     type DefaultType = Self;
3968 }
3969 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3970 #[repr(C)]
3971 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3972 pub struct FWPM_PROVIDER_CONTEXT3_ {
3973     pub providerContextKey: ::windows::runtime::GUID,
3974     pub displayData: FWPM_DISPLAY_DATA0,
3975     pub flags: u32,
3976     pub providerKey: *mut ::windows::runtime::GUID,
3977     pub providerData: FWP_BYTE_BLOB,
3978     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3979     pub Anonymous: FWPM_PROVIDER_CONTEXT3__0,
3980     pub providerContextId: u64,
3981 }
3982 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3983 impl FWPM_PROVIDER_CONTEXT3_ {}
3984 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3985 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT3_ {
default() -> Self3986     fn default() -> Self {
3987         unsafe { ::std::mem::zeroed() }
3988     }
3989 }
3990 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3991 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT3_ {
eq(&self, _other: &Self) -> bool3992     fn eq(&self, _other: &Self) -> bool {
3993         unimplemented!()
3994     }
3995 }
3996 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3997 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT3_ {}
3998 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3999 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT3_ {
4000     type Abi = Self;
4001     type DefaultType = Self;
4002 }
4003 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4004 #[repr(C)]
4005 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4006 pub union FWPM_PROVIDER_CONTEXT3__0 {
4007     pub keyingPolicy: *mut IPSEC_KEYING_POLICY1,
4008     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
4009     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY3_,
4010     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
4011     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY3_,
4012     pub ikeMmPolicy: *mut IKEEXT_POLICY2,
4013     pub authIpMmPolicy: *mut IKEEXT_POLICY2,
4014     pub dataBuffer: *mut FWP_BYTE_BLOB,
4015     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
4016     pub ikeV2QmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY3_,
4017     pub ikeV2QmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
4018     pub ikeV2MmPolicy: *mut IKEEXT_POLICY2,
4019     pub idpOptions: *mut IPSEC_DOSP_OPTIONS0,
4020 }
4021 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4022 impl FWPM_PROVIDER_CONTEXT3__0 {}
4023 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4024 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT3__0 {
default() -> Self4025     fn default() -> Self {
4026         unsafe { ::std::mem::zeroed() }
4027     }
4028 }
4029 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4030 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT3__0 {
eq(&self, _other: &Self) -> bool4031     fn eq(&self, _other: &Self) -> bool {
4032         unimplemented!()
4033     }
4034 }
4035 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4036 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT3__0 {}
4037 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4038 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT3__0 {
4039     type Abi = Self;
4040     type DefaultType = Self;
4041 }
4042 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4043 #[repr(C)]
4044 pub struct FWPM_PROVIDER_CONTEXT_CHANGE0 {
4045     pub changeType: FWPM_CHANGE_TYPE,
4046     pub providerContextKey: ::windows::runtime::GUID,
4047     pub providerContextId: u64,
4048 }
4049 impl FWPM_PROVIDER_CONTEXT_CHANGE0 {}
4050 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT_CHANGE0 {
default() -> Self4051     fn default() -> Self {
4052         unsafe { ::std::mem::zeroed() }
4053     }
4054 }
4055 impl ::std::fmt::Debug for FWPM_PROVIDER_CONTEXT_CHANGE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4056     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4057         fmt.debug_struct("FWPM_PROVIDER_CONTEXT_CHANGE0").field("changeType", &self.changeType).field("providerContextKey", &self.providerContextKey).field("providerContextId", &self.providerContextId).finish()
4058     }
4059 }
4060 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT_CHANGE0 {
eq(&self, other: &Self) -> bool4061     fn eq(&self, other: &Self) -> bool {
4062         self.changeType == other.changeType && self.providerContextKey == other.providerContextKey && self.providerContextId == other.providerContextId
4063     }
4064 }
4065 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT_CHANGE0 {}
4066 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT_CHANGE0 {
4067     type Abi = Self;
4068     type DefaultType = Self;
4069 }
4070 pub type FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, change: *const FWPM_PROVIDER_CONTEXT_CHANGE0);
4071 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4072 #[repr(C)]
4073 pub struct FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
4074     pub providerKey: *mut ::windows::runtime::GUID,
4075     pub providerContextType: FWPM_PROVIDER_CONTEXT_TYPE,
4076 }
4077 impl FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {}
4078 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
default() -> Self4079     fn default() -> Self {
4080         unsafe { ::std::mem::zeroed() }
4081     }
4082 }
4083 impl ::std::fmt::Debug for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4084     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4085         fmt.debug_struct("FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0").field("providerKey", &self.providerKey).field("providerContextType", &self.providerContextType).finish()
4086     }
4087 }
4088 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool4089     fn eq(&self, other: &Self) -> bool {
4090         self.providerKey == other.providerKey && self.providerContextType == other.providerContextType
4091     }
4092 }
4093 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {}
4094 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
4095     type Abi = Self;
4096     type DefaultType = Self;
4097 }
4098 pub const FWPM_PROVIDER_CONTEXT_FLAG_DOWNLEVEL: u32 = 2u32;
4099 pub const FWPM_PROVIDER_CONTEXT_FLAG_PERSISTENT: u32 = 1u32;
4100 pub const FWPM_PROVIDER_CONTEXT_SECURE_SOCKET_AUTHIP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2992547840, 3330, 18157, [146, 189, 127, 168, 75, 183, 62, 157]);
4101 pub const FWPM_PROVIDER_CONTEXT_SECURE_SOCKET_IPSEC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2351776068, 63712, 17088, [148, 206, 124, 207, 198, 59, 47, 155]);
4102 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4103 #[repr(C)]
4104 pub struct FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
4105     pub enumTemplate: *mut FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0,
4106     pub flags: FWPM_SUBSCRIPTION_FLAGS,
4107     pub sessionKey: ::windows::runtime::GUID,
4108 }
4109 impl FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {}
4110 impl ::std::default::Default for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
default() -> Self4111     fn default() -> Self {
4112         unsafe { ::std::mem::zeroed() }
4113     }
4114 }
4115 impl ::std::fmt::Debug for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4116     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4117         fmt.debug_struct("FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
4118     }
4119 }
4120 impl ::std::cmp::PartialEq for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool4121     fn eq(&self, other: &Self) -> bool {
4122         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
4123     }
4124 }
4125 impl ::std::cmp::Eq for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {}
4126 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
4127     type Abi = Self;
4128     type DefaultType = Self;
4129 }
4130 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4131 #[repr(transparent)]
4132 pub struct FWPM_PROVIDER_CONTEXT_TYPE(pub i32);
4133 pub const FWPM_IPSEC_KEYING_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(0i32);
4134 pub const FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(1i32);
4135 pub const FWPM_IPSEC_IKE_QM_TUNNEL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(2i32);
4136 pub const FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(3i32);
4137 pub const FWPM_IPSEC_AUTHIP_QM_TUNNEL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(4i32);
4138 pub const FWPM_IPSEC_IKE_MM_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(5i32);
4139 pub const FWPM_IPSEC_AUTHIP_MM_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(6i32);
4140 pub const FWPM_CLASSIFY_OPTIONS_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(7i32);
4141 pub const FWPM_GENERAL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(8i32);
4142 pub const FWPM_IPSEC_IKEV2_QM_TUNNEL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(9i32);
4143 pub const FWPM_IPSEC_IKEV2_MM_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(10i32);
4144 pub const FWPM_IPSEC_DOSP_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(11i32);
4145 pub const FWPM_IPSEC_IKEV2_QM_TRANSPORT_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(12i32);
4146 pub const FWPM_PROVIDER_CONTEXT_TYPE_MAX: FWPM_PROVIDER_CONTEXT_TYPE = FWPM_PROVIDER_CONTEXT_TYPE(13i32);
4147 impl ::std::convert::From<i32> for FWPM_PROVIDER_CONTEXT_TYPE {
from(value: i32) -> Self4148     fn from(value: i32) -> Self {
4149         Self(value)
4150     }
4151 }
4152 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_CONTEXT_TYPE {
4153     type Abi = Self;
4154     type DefaultType = Self;
4155 }
4156 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4157 #[repr(C)]
4158 pub struct FWPM_PROVIDER_ENUM_TEMPLATE0 {
4159     pub reserved: u64,
4160 }
4161 impl FWPM_PROVIDER_ENUM_TEMPLATE0 {}
4162 impl ::std::default::Default for FWPM_PROVIDER_ENUM_TEMPLATE0 {
default() -> Self4163     fn default() -> Self {
4164         unsafe { ::std::mem::zeroed() }
4165     }
4166 }
4167 impl ::std::fmt::Debug for FWPM_PROVIDER_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4168     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4169         fmt.debug_struct("FWPM_PROVIDER_ENUM_TEMPLATE0").field("reserved", &self.reserved).finish()
4170     }
4171 }
4172 impl ::std::cmp::PartialEq for FWPM_PROVIDER_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool4173     fn eq(&self, other: &Self) -> bool {
4174         self.reserved == other.reserved
4175     }
4176 }
4177 impl ::std::cmp::Eq for FWPM_PROVIDER_ENUM_TEMPLATE0 {}
4178 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_ENUM_TEMPLATE0 {
4179     type Abi = Self;
4180     type DefaultType = Self;
4181 }
4182 pub const FWPM_PROVIDER_FLAG_DISABLED: u32 = 16u32;
4183 pub const FWPM_PROVIDER_FLAG_PERSISTENT: u32 = 1u32;
4184 pub const FWPM_PROVIDER_IKEEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(279810582, 52446, 17772, [139, 22, 233, 240, 78, 96, 169, 11]);
4185 pub const FWPM_PROVIDER_IPSEC_DOSP_CONFIG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1013712297, 49244, 19385, [131, 56, 35, 39, 129, 76, 232, 191]);
4186 pub const FWPM_PROVIDER_MPSSVC_EDP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2835519223, 18104, 17495, [143, 132, 176, 94, 5, 211, 198, 34]);
4187 pub const FWPM_PROVIDER_MPSSVC_TENANT_RESTRICTIONS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3497103353, 17626, 20304, [157, 194, 201, 99, 164, 36, 118, 19]);
4188 pub const FWPM_PROVIDER_MPSSVC_WF: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3737917130, 16179, 17222, [190, 30, 143, 180, 174, 15, 61, 98]);
4189 pub const FWPM_PROVIDER_MPSSVC_WSH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1259681589, 4169, 17536, [170, 180, 209, 185, 189, 192, 55, 16]);
4190 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4191 #[repr(C)]
4192 pub struct FWPM_PROVIDER_SUBSCRIPTION0 {
4193     pub enumTemplate: *mut FWPM_PROVIDER_ENUM_TEMPLATE0,
4194     pub flags: u32,
4195     pub sessionKey: ::windows::runtime::GUID,
4196 }
4197 impl FWPM_PROVIDER_SUBSCRIPTION0 {}
4198 impl ::std::default::Default for FWPM_PROVIDER_SUBSCRIPTION0 {
default() -> Self4199     fn default() -> Self {
4200         unsafe { ::std::mem::zeroed() }
4201     }
4202 }
4203 impl ::std::fmt::Debug for FWPM_PROVIDER_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4204     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4205         fmt.debug_struct("FWPM_PROVIDER_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
4206     }
4207 }
4208 impl ::std::cmp::PartialEq for FWPM_PROVIDER_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool4209     fn eq(&self, other: &Self) -> bool {
4210         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
4211     }
4212 }
4213 impl ::std::cmp::Eq for FWPM_PROVIDER_SUBSCRIPTION0 {}
4214 unsafe impl ::windows::runtime::Abi for FWPM_PROVIDER_SUBSCRIPTION0 {
4215     type Abi = Self;
4216     type DefaultType = Self;
4217 }
4218 pub const FWPM_PROVIDER_TCP_CHIMNEY_OFFLOAD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2305466782, 39476, 19403, [174, 121, 190, 185, 18, 124, 132, 185]);
4219 pub const FWPM_PROVIDER_TCP_TEMPLATES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1993329968, 13204, 17197, [190, 211, 68, 26, 229, 14, 99, 195]);
4220 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4221 #[repr(transparent)]
4222 pub struct FWPM_SERVICE_STATE(pub i32);
4223 pub const FWPM_SERVICE_STOPPED: FWPM_SERVICE_STATE = FWPM_SERVICE_STATE(0i32);
4224 pub const FWPM_SERVICE_START_PENDING: FWPM_SERVICE_STATE = FWPM_SERVICE_STATE(1i32);
4225 pub const FWPM_SERVICE_STOP_PENDING: FWPM_SERVICE_STATE = FWPM_SERVICE_STATE(2i32);
4226 pub const FWPM_SERVICE_RUNNING: FWPM_SERVICE_STATE = FWPM_SERVICE_STATE(3i32);
4227 pub const FWPM_SERVICE_STATE_MAX: FWPM_SERVICE_STATE = FWPM_SERVICE_STATE(4i32);
4228 impl ::std::convert::From<i32> for FWPM_SERVICE_STATE {
from(value: i32) -> Self4229     fn from(value: i32) -> Self {
4230         Self(value)
4231     }
4232 }
4233 unsafe impl ::windows::runtime::Abi for FWPM_SERVICE_STATE {
4234     type Abi = Self;
4235     type DefaultType = Self;
4236 }
4237 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4238 #[repr(C)]
4239 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4240 pub struct FWPM_SESSION0 {
4241     pub sessionKey: ::windows::runtime::GUID,
4242     pub displayData: FWPM_DISPLAY_DATA0,
4243     pub flags: u32,
4244     pub txnWaitTimeoutInMSec: u32,
4245     pub processId: u32,
4246     pub sid: *mut super::super::Security::SID,
4247     pub username: super::super::Foundation::PWSTR,
4248     pub kernelMode: super::super::Foundation::BOOL,
4249 }
4250 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4251 impl FWPM_SESSION0 {}
4252 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4253 impl ::std::default::Default for FWPM_SESSION0 {
default() -> Self4254     fn default() -> Self {
4255         unsafe { ::std::mem::zeroed() }
4256     }
4257 }
4258 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4259 impl ::std::fmt::Debug for FWPM_SESSION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4260     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4261         fmt.debug_struct("FWPM_SESSION0")
4262             .field("sessionKey", &self.sessionKey)
4263             .field("displayData", &self.displayData)
4264             .field("flags", &self.flags)
4265             .field("txnWaitTimeoutInMSec", &self.txnWaitTimeoutInMSec)
4266             .field("processId", &self.processId)
4267             .field("sid", &self.sid)
4268             .field("username", &self.username)
4269             .field("kernelMode", &self.kernelMode)
4270             .finish()
4271     }
4272 }
4273 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4274 impl ::std::cmp::PartialEq for FWPM_SESSION0 {
eq(&self, other: &Self) -> bool4275     fn eq(&self, other: &Self) -> bool {
4276         self.sessionKey == other.sessionKey && self.displayData == other.displayData && self.flags == other.flags && self.txnWaitTimeoutInMSec == other.txnWaitTimeoutInMSec && self.processId == other.processId && self.sid == other.sid && self.username == other.username && self.kernelMode == other.kernelMode
4277     }
4278 }
4279 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4280 impl ::std::cmp::Eq for FWPM_SESSION0 {}
4281 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4282 unsafe impl ::windows::runtime::Abi for FWPM_SESSION0 {
4283     type Abi = Self;
4284     type DefaultType = Self;
4285 }
4286 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4287 #[repr(C)]
4288 pub struct FWPM_SESSION_ENUM_TEMPLATE0 {
4289     pub reserved: u64,
4290 }
4291 impl FWPM_SESSION_ENUM_TEMPLATE0 {}
4292 impl ::std::default::Default for FWPM_SESSION_ENUM_TEMPLATE0 {
default() -> Self4293     fn default() -> Self {
4294         unsafe { ::std::mem::zeroed() }
4295     }
4296 }
4297 impl ::std::fmt::Debug for FWPM_SESSION_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4298     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4299         fmt.debug_struct("FWPM_SESSION_ENUM_TEMPLATE0").field("reserved", &self.reserved).finish()
4300     }
4301 }
4302 impl ::std::cmp::PartialEq for FWPM_SESSION_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool4303     fn eq(&self, other: &Self) -> bool {
4304         self.reserved == other.reserved
4305     }
4306 }
4307 impl ::std::cmp::Eq for FWPM_SESSION_ENUM_TEMPLATE0 {}
4308 unsafe impl ::windows::runtime::Abi for FWPM_SESSION_ENUM_TEMPLATE0 {
4309     type Abi = Self;
4310     type DefaultType = Self;
4311 }
4312 pub const FWPM_SESSION_FLAG_DYNAMIC: u32 = 1u32;
4313 pub const FWPM_SESSION_FLAG_RESERVED: u32 = 268435456u32;
4314 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4315 #[repr(C)]
4316 pub struct FWPM_STATISTICS0 {
4317     pub numLayerStatistics: u32,
4318     pub layerStatistics: *mut FWPM_LAYER_STATISTICS0,
4319     pub inboundAllowedConnectionsV4: u32,
4320     pub inboundBlockedConnectionsV4: u32,
4321     pub outboundAllowedConnectionsV4: u32,
4322     pub outboundBlockedConnectionsV4: u32,
4323     pub inboundAllowedConnectionsV6: u32,
4324     pub inboundBlockedConnectionsV6: u32,
4325     pub outboundAllowedConnectionsV6: u32,
4326     pub outboundBlockedConnectionsV6: u32,
4327     pub inboundActiveConnectionsV4: u32,
4328     pub outboundActiveConnectionsV4: u32,
4329     pub inboundActiveConnectionsV6: u32,
4330     pub outboundActiveConnectionsV6: u32,
4331     pub reauthDirInbound: u64,
4332     pub reauthDirOutbound: u64,
4333     pub reauthFamilyV4: u64,
4334     pub reauthFamilyV6: u64,
4335     pub reauthProtoOther: u64,
4336     pub reauthProtoIPv4: u64,
4337     pub reauthProtoIPv6: u64,
4338     pub reauthProtoICMP: u64,
4339     pub reauthProtoICMP6: u64,
4340     pub reauthProtoUDP: u64,
4341     pub reauthProtoTCP: u64,
4342     pub reauthReasonPolicyChange: u64,
4343     pub reauthReasonNewArrivalInterface: u64,
4344     pub reauthReasonNewNextHopInterface: u64,
4345     pub reauthReasonProfileCrossing: u64,
4346     pub reauthReasonClassifyCompletion: u64,
4347     pub reauthReasonIPSecPropertiesChanged: u64,
4348     pub reauthReasonMidStreamInspection: u64,
4349     pub reauthReasonSocketPropertyChanged: u64,
4350     pub reauthReasonNewInboundMCastBCastPacket: u64,
4351     pub reauthReasonEDPPolicyChanged: u64,
4352     pub reauthReasonProxyHandleChanged: u64,
4353 }
4354 impl FWPM_STATISTICS0 {}
4355 impl ::std::default::Default for FWPM_STATISTICS0 {
default() -> Self4356     fn default() -> Self {
4357         unsafe { ::std::mem::zeroed() }
4358     }
4359 }
4360 impl ::std::fmt::Debug for FWPM_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4361     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4362         fmt.debug_struct("FWPM_STATISTICS0")
4363             .field("numLayerStatistics", &self.numLayerStatistics)
4364             .field("layerStatistics", &self.layerStatistics)
4365             .field("inboundAllowedConnectionsV4", &self.inboundAllowedConnectionsV4)
4366             .field("inboundBlockedConnectionsV4", &self.inboundBlockedConnectionsV4)
4367             .field("outboundAllowedConnectionsV4", &self.outboundAllowedConnectionsV4)
4368             .field("outboundBlockedConnectionsV4", &self.outboundBlockedConnectionsV4)
4369             .field("inboundAllowedConnectionsV6", &self.inboundAllowedConnectionsV6)
4370             .field("inboundBlockedConnectionsV6", &self.inboundBlockedConnectionsV6)
4371             .field("outboundAllowedConnectionsV6", &self.outboundAllowedConnectionsV6)
4372             .field("outboundBlockedConnectionsV6", &self.outboundBlockedConnectionsV6)
4373             .field("inboundActiveConnectionsV4", &self.inboundActiveConnectionsV4)
4374             .field("outboundActiveConnectionsV4", &self.outboundActiveConnectionsV4)
4375             .field("inboundActiveConnectionsV6", &self.inboundActiveConnectionsV6)
4376             .field("outboundActiveConnectionsV6", &self.outboundActiveConnectionsV6)
4377             .field("reauthDirInbound", &self.reauthDirInbound)
4378             .field("reauthDirOutbound", &self.reauthDirOutbound)
4379             .field("reauthFamilyV4", &self.reauthFamilyV4)
4380             .field("reauthFamilyV6", &self.reauthFamilyV6)
4381             .field("reauthProtoOther", &self.reauthProtoOther)
4382             .field("reauthProtoIPv4", &self.reauthProtoIPv4)
4383             .field("reauthProtoIPv6", &self.reauthProtoIPv6)
4384             .field("reauthProtoICMP", &self.reauthProtoICMP)
4385             .field("reauthProtoICMP6", &self.reauthProtoICMP6)
4386             .field("reauthProtoUDP", &self.reauthProtoUDP)
4387             .field("reauthProtoTCP", &self.reauthProtoTCP)
4388             .field("reauthReasonPolicyChange", &self.reauthReasonPolicyChange)
4389             .field("reauthReasonNewArrivalInterface", &self.reauthReasonNewArrivalInterface)
4390             .field("reauthReasonNewNextHopInterface", &self.reauthReasonNewNextHopInterface)
4391             .field("reauthReasonProfileCrossing", &self.reauthReasonProfileCrossing)
4392             .field("reauthReasonClassifyCompletion", &self.reauthReasonClassifyCompletion)
4393             .field("reauthReasonIPSecPropertiesChanged", &self.reauthReasonIPSecPropertiesChanged)
4394             .field("reauthReasonMidStreamInspection", &self.reauthReasonMidStreamInspection)
4395             .field("reauthReasonSocketPropertyChanged", &self.reauthReasonSocketPropertyChanged)
4396             .field("reauthReasonNewInboundMCastBCastPacket", &self.reauthReasonNewInboundMCastBCastPacket)
4397             .field("reauthReasonEDPPolicyChanged", &self.reauthReasonEDPPolicyChanged)
4398             .field("reauthReasonProxyHandleChanged", &self.reauthReasonProxyHandleChanged)
4399             .finish()
4400     }
4401 }
4402 impl ::std::cmp::PartialEq for FWPM_STATISTICS0 {
eq(&self, other: &Self) -> bool4403     fn eq(&self, other: &Self) -> bool {
4404         self.numLayerStatistics == other.numLayerStatistics
4405             && self.layerStatistics == other.layerStatistics
4406             && self.inboundAllowedConnectionsV4 == other.inboundAllowedConnectionsV4
4407             && self.inboundBlockedConnectionsV4 == other.inboundBlockedConnectionsV4
4408             && self.outboundAllowedConnectionsV4 == other.outboundAllowedConnectionsV4
4409             && self.outboundBlockedConnectionsV4 == other.outboundBlockedConnectionsV4
4410             && self.inboundAllowedConnectionsV6 == other.inboundAllowedConnectionsV6
4411             && self.inboundBlockedConnectionsV6 == other.inboundBlockedConnectionsV6
4412             && self.outboundAllowedConnectionsV6 == other.outboundAllowedConnectionsV6
4413             && self.outboundBlockedConnectionsV6 == other.outboundBlockedConnectionsV6
4414             && self.inboundActiveConnectionsV4 == other.inboundActiveConnectionsV4
4415             && self.outboundActiveConnectionsV4 == other.outboundActiveConnectionsV4
4416             && self.inboundActiveConnectionsV6 == other.inboundActiveConnectionsV6
4417             && self.outboundActiveConnectionsV6 == other.outboundActiveConnectionsV6
4418             && self.reauthDirInbound == other.reauthDirInbound
4419             && self.reauthDirOutbound == other.reauthDirOutbound
4420             && self.reauthFamilyV4 == other.reauthFamilyV4
4421             && self.reauthFamilyV6 == other.reauthFamilyV6
4422             && self.reauthProtoOther == other.reauthProtoOther
4423             && self.reauthProtoIPv4 == other.reauthProtoIPv4
4424             && self.reauthProtoIPv6 == other.reauthProtoIPv6
4425             && self.reauthProtoICMP == other.reauthProtoICMP
4426             && self.reauthProtoICMP6 == other.reauthProtoICMP6
4427             && self.reauthProtoUDP == other.reauthProtoUDP
4428             && self.reauthProtoTCP == other.reauthProtoTCP
4429             && self.reauthReasonPolicyChange == other.reauthReasonPolicyChange
4430             && self.reauthReasonNewArrivalInterface == other.reauthReasonNewArrivalInterface
4431             && self.reauthReasonNewNextHopInterface == other.reauthReasonNewNextHopInterface
4432             && self.reauthReasonProfileCrossing == other.reauthReasonProfileCrossing
4433             && self.reauthReasonClassifyCompletion == other.reauthReasonClassifyCompletion
4434             && self.reauthReasonIPSecPropertiesChanged == other.reauthReasonIPSecPropertiesChanged
4435             && self.reauthReasonMidStreamInspection == other.reauthReasonMidStreamInspection
4436             && self.reauthReasonSocketPropertyChanged == other.reauthReasonSocketPropertyChanged
4437             && self.reauthReasonNewInboundMCastBCastPacket == other.reauthReasonNewInboundMCastBCastPacket
4438             && self.reauthReasonEDPPolicyChanged == other.reauthReasonEDPPolicyChanged
4439             && self.reauthReasonProxyHandleChanged == other.reauthReasonProxyHandleChanged
4440     }
4441 }
4442 impl ::std::cmp::Eq for FWPM_STATISTICS0 {}
4443 unsafe impl ::windows::runtime::Abi for FWPM_STATISTICS0 {
4444     type Abi = Self;
4445     type DefaultType = Self;
4446 }
4447 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4448 #[repr(C)]
4449 #[cfg(feature = "Win32_Foundation")]
4450 pub struct FWPM_SUBLAYER0 {
4451     pub subLayerKey: ::windows::runtime::GUID,
4452     pub displayData: FWPM_DISPLAY_DATA0,
4453     pub flags: u32,
4454     pub providerKey: *mut ::windows::runtime::GUID,
4455     pub providerData: FWP_BYTE_BLOB,
4456     pub weight: u16,
4457 }
4458 #[cfg(feature = "Win32_Foundation")]
4459 impl FWPM_SUBLAYER0 {}
4460 #[cfg(feature = "Win32_Foundation")]
4461 impl ::std::default::Default for FWPM_SUBLAYER0 {
default() -> Self4462     fn default() -> Self {
4463         unsafe { ::std::mem::zeroed() }
4464     }
4465 }
4466 #[cfg(feature = "Win32_Foundation")]
4467 impl ::std::fmt::Debug for FWPM_SUBLAYER0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4468     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4469         fmt.debug_struct("FWPM_SUBLAYER0").field("subLayerKey", &self.subLayerKey).field("displayData", &self.displayData).field("flags", &self.flags).field("providerKey", &self.providerKey).field("providerData", &self.providerData).field("weight", &self.weight).finish()
4470     }
4471 }
4472 #[cfg(feature = "Win32_Foundation")]
4473 impl ::std::cmp::PartialEq for FWPM_SUBLAYER0 {
eq(&self, other: &Self) -> bool4474     fn eq(&self, other: &Self) -> bool {
4475         self.subLayerKey == other.subLayerKey && self.displayData == other.displayData && self.flags == other.flags && self.providerKey == other.providerKey && self.providerData == other.providerData && self.weight == other.weight
4476     }
4477 }
4478 #[cfg(feature = "Win32_Foundation")]
4479 impl ::std::cmp::Eq for FWPM_SUBLAYER0 {}
4480 #[cfg(feature = "Win32_Foundation")]
4481 unsafe impl ::windows::runtime::Abi for FWPM_SUBLAYER0 {
4482     type Abi = Self;
4483     type DefaultType = Self;
4484 }
4485 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4486 #[repr(C)]
4487 pub struct FWPM_SUBLAYER_CHANGE0 {
4488     pub changeType: FWPM_CHANGE_TYPE,
4489     pub subLayerKey: ::windows::runtime::GUID,
4490 }
4491 impl FWPM_SUBLAYER_CHANGE0 {}
4492 impl ::std::default::Default for FWPM_SUBLAYER_CHANGE0 {
default() -> Self4493     fn default() -> Self {
4494         unsafe { ::std::mem::zeroed() }
4495     }
4496 }
4497 impl ::std::fmt::Debug for FWPM_SUBLAYER_CHANGE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4498     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4499         fmt.debug_struct("FWPM_SUBLAYER_CHANGE0").field("changeType", &self.changeType).field("subLayerKey", &self.subLayerKey).finish()
4500     }
4501 }
4502 impl ::std::cmp::PartialEq for FWPM_SUBLAYER_CHANGE0 {
eq(&self, other: &Self) -> bool4503     fn eq(&self, other: &Self) -> bool {
4504         self.changeType == other.changeType && self.subLayerKey == other.subLayerKey
4505     }
4506 }
4507 impl ::std::cmp::Eq for FWPM_SUBLAYER_CHANGE0 {}
4508 unsafe impl ::windows::runtime::Abi for FWPM_SUBLAYER_CHANGE0 {
4509     type Abi = Self;
4510     type DefaultType = Self;
4511 }
4512 pub type FWPM_SUBLAYER_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, change: *const FWPM_SUBLAYER_CHANGE0);
4513 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4514 #[repr(C)]
4515 pub struct FWPM_SUBLAYER_ENUM_TEMPLATE0 {
4516     pub providerKey: *mut ::windows::runtime::GUID,
4517 }
4518 impl FWPM_SUBLAYER_ENUM_TEMPLATE0 {}
4519 impl ::std::default::Default for FWPM_SUBLAYER_ENUM_TEMPLATE0 {
default() -> Self4520     fn default() -> Self {
4521         unsafe { ::std::mem::zeroed() }
4522     }
4523 }
4524 impl ::std::fmt::Debug for FWPM_SUBLAYER_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4525     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4526         fmt.debug_struct("FWPM_SUBLAYER_ENUM_TEMPLATE0").field("providerKey", &self.providerKey).finish()
4527     }
4528 }
4529 impl ::std::cmp::PartialEq for FWPM_SUBLAYER_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool4530     fn eq(&self, other: &Self) -> bool {
4531         self.providerKey == other.providerKey
4532     }
4533 }
4534 impl ::std::cmp::Eq for FWPM_SUBLAYER_ENUM_TEMPLATE0 {}
4535 unsafe impl ::windows::runtime::Abi for FWPM_SUBLAYER_ENUM_TEMPLATE0 {
4536     type Abi = Self;
4537     type DefaultType = Self;
4538 }
4539 pub const FWPM_SUBLAYER_FLAG_PERSISTENT: u32 = 1u32;
4540 pub const FWPM_SUBLAYER_INSPECTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2272598497, 59049, 16805, [129, 180, 140, 79, 17, 142, 74, 96]);
4541 pub const FWPM_SUBLAYER_IPSEC_DOSP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3765884274, 23869, 18671, [128, 43, 144, 158, 221, 176, 152, 189]);
4542 pub const FWPM_SUBLAYER_IPSEC_FORWARD_OUTBOUND_TUNNEL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2768776819, 36721, 17753, [138, 154, 16, 28, 234, 4, 239, 135]);
4543 pub const FWPM_SUBLAYER_IPSEC_SECURITY_REALM: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(933590785, 22660, 18788, [146, 184, 62, 112, 70, 136, 176, 173]);
4544 pub const FWPM_SUBLAYER_IPSEC_TUNNEL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2213714413, 40948, 18791, [175, 244, 195, 9, 244, 218, 184, 39]);
4545 pub const FWPM_SUBLAYER_LIPS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(460701902, 65376, 18193, [167, 15, 180, 149, 140, 195, 178, 208]);
4546 pub const FWPM_SUBLAYER_MPSSVC_EDP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(161775160, 64151, 18203, [177, 35, 24, 188, 215, 230, 80, 113]);
4547 pub const FWPM_SUBLAYER_MPSSVC_QUARANTINE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3016610881, 44944, 16826, [167, 69, 124, 96, 8, 255, 35, 2]);
4548 pub const FWPM_SUBLAYER_MPSSVC_TENANT_RESTRICTIONS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(516343777, 64985, 18314, [181, 95, 255, 139, 161, 210, 193, 125]);
4549 pub const FWPM_SUBLAYER_MPSSVC_WF: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3016610881, 44944, 16826, [167, 69, 124, 96, 8, 255, 35, 1]);
4550 pub const FWPM_SUBLAYER_MPSSVC_WSH: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3016610881, 44944, 16826, [167, 69, 124, 96, 8, 255, 35, 0]);
4551 pub const FWPM_SUBLAYER_RPC_AUDIT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1972143348, 64328, 19945, [154, 235, 62, 217, 85, 26, 177, 253]);
4552 pub const FWPM_SUBLAYER_SECURE_SOCKET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(363228695, 16188, 20347, [170, 108, 129, 42, 166, 19, 221, 130]);
4553 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4554 #[repr(C)]
4555 pub struct FWPM_SUBLAYER_SUBSCRIPTION0 {
4556     pub enumTemplate: *mut FWPM_SUBLAYER_ENUM_TEMPLATE0,
4557     pub flags: FWPM_SUBSCRIPTION_FLAGS,
4558     pub sessionKey: ::windows::runtime::GUID,
4559 }
4560 impl FWPM_SUBLAYER_SUBSCRIPTION0 {}
4561 impl ::std::default::Default for FWPM_SUBLAYER_SUBSCRIPTION0 {
default() -> Self4562     fn default() -> Self {
4563         unsafe { ::std::mem::zeroed() }
4564     }
4565 }
4566 impl ::std::fmt::Debug for FWPM_SUBLAYER_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4567     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4568         fmt.debug_struct("FWPM_SUBLAYER_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
4569     }
4570 }
4571 impl ::std::cmp::PartialEq for FWPM_SUBLAYER_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool4572     fn eq(&self, other: &Self) -> bool {
4573         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
4574     }
4575 }
4576 impl ::std::cmp::Eq for FWPM_SUBLAYER_SUBSCRIPTION0 {}
4577 unsafe impl ::windows::runtime::Abi for FWPM_SUBLAYER_SUBSCRIPTION0 {
4578     type Abi = Self;
4579     type DefaultType = Self;
4580 }
4581 pub const FWPM_SUBLAYER_TCP_CHIMNEY_OFFLOAD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(863373497, 47061, 19807, [130, 249, 54, 24, 97, 139, 192, 88]);
4582 pub const FWPM_SUBLAYER_TCP_TEMPLATES: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(608312783, 2757, 19626, [158, 20, 80, 246, 227, 99, 106, 240]);
4583 pub const FWPM_SUBLAYER_TEREDO: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3127499878, 20854, 18809, [156, 137, 38, 167, 180, 106, 131, 39]);
4584 pub const FWPM_SUBLAYER_UNIVERSAL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4005481475, 52948, 17280, [129, 154, 39, 52, 57, 123, 43, 116]);
4585 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4586 #[repr(transparent)]
4587 pub struct FWPM_SUBSCRIPTION_FLAGS(pub u32);
4588 pub const FWPM_SUBSCRIPTION_FLAG_NOTIFY_ON_ADD: FWPM_SUBSCRIPTION_FLAGS = FWPM_SUBSCRIPTION_FLAGS(1u32);
4589 pub const FWPM_SUBSCRIPTION_FLAG_NOTIFY_ON_DELETE: FWPM_SUBSCRIPTION_FLAGS = FWPM_SUBSCRIPTION_FLAGS(2u32);
4590 impl ::std::convert::From<u32> for FWPM_SUBSCRIPTION_FLAGS {
from(value: u32) -> Self4591     fn from(value: u32) -> Self {
4592         Self(value)
4593     }
4594 }
4595 unsafe impl ::windows::runtime::Abi for FWPM_SUBSCRIPTION_FLAGS {
4596     type Abi = Self;
4597     type DefaultType = Self;
4598 }
4599 impl ::std::ops::BitOr for FWPM_SUBSCRIPTION_FLAGS {
4600     type Output = Self;
bitor(self, rhs: Self) -> Self4601     fn bitor(self, rhs: Self) -> Self {
4602         Self(self.0 | rhs.0)
4603     }
4604 }
4605 impl ::std::ops::BitAnd for FWPM_SUBSCRIPTION_FLAGS {
4606     type Output = Self;
bitand(self, rhs: Self) -> Self4607     fn bitand(self, rhs: Self) -> Self {
4608         Self(self.0 & rhs.0)
4609     }
4610 }
4611 impl ::std::ops::BitOrAssign for FWPM_SUBSCRIPTION_FLAGS {
bitor_assign(&mut self, rhs: Self)4612     fn bitor_assign(&mut self, rhs: Self) {
4613         self.0.bitor_assign(rhs.0)
4614     }
4615 }
4616 impl ::std::ops::BitAndAssign for FWPM_SUBSCRIPTION_FLAGS {
bitand_assign(&mut self, rhs: Self)4617     fn bitand_assign(&mut self, rhs: Self) {
4618         self.0.bitand_assign(rhs.0)
4619     }
4620 }
4621 impl ::std::ops::Not for FWPM_SUBSCRIPTION_FLAGS {
4622     type Output = Self;
not(self) -> Self4623     fn not(self) -> Self {
4624         Self(self.0.not())
4625     }
4626 }
4627 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4628 #[repr(C)]
4629 pub struct FWPM_SYSTEM_PORTS0 {
4630     pub numTypes: u32,
4631     pub types: *mut FWPM_SYSTEM_PORTS_BY_TYPE0,
4632 }
4633 impl FWPM_SYSTEM_PORTS0 {}
4634 impl ::std::default::Default for FWPM_SYSTEM_PORTS0 {
default() -> Self4635     fn default() -> Self {
4636         unsafe { ::std::mem::zeroed() }
4637     }
4638 }
4639 impl ::std::fmt::Debug for FWPM_SYSTEM_PORTS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4640     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4641         fmt.debug_struct("FWPM_SYSTEM_PORTS0").field("numTypes", &self.numTypes).field("types", &self.types).finish()
4642     }
4643 }
4644 impl ::std::cmp::PartialEq for FWPM_SYSTEM_PORTS0 {
eq(&self, other: &Self) -> bool4645     fn eq(&self, other: &Self) -> bool {
4646         self.numTypes == other.numTypes && self.types == other.types
4647     }
4648 }
4649 impl ::std::cmp::Eq for FWPM_SYSTEM_PORTS0 {}
4650 unsafe impl ::windows::runtime::Abi for FWPM_SYSTEM_PORTS0 {
4651     type Abi = Self;
4652     type DefaultType = Self;
4653 }
4654 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4655 #[repr(C)]
4656 pub struct FWPM_SYSTEM_PORTS_BY_TYPE0 {
4657     pub r#type: FWPM_SYSTEM_PORT_TYPE,
4658     pub numPorts: u32,
4659     pub ports: *mut u16,
4660 }
4661 impl FWPM_SYSTEM_PORTS_BY_TYPE0 {}
4662 impl ::std::default::Default for FWPM_SYSTEM_PORTS_BY_TYPE0 {
default() -> Self4663     fn default() -> Self {
4664         unsafe { ::std::mem::zeroed() }
4665     }
4666 }
4667 impl ::std::fmt::Debug for FWPM_SYSTEM_PORTS_BY_TYPE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4668     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4669         fmt.debug_struct("FWPM_SYSTEM_PORTS_BY_TYPE0").field("r#type", &self.r#type).field("numPorts", &self.numPorts).field("ports", &self.ports).finish()
4670     }
4671 }
4672 impl ::std::cmp::PartialEq for FWPM_SYSTEM_PORTS_BY_TYPE0 {
eq(&self, other: &Self) -> bool4673     fn eq(&self, other: &Self) -> bool {
4674         self.r#type == other.r#type && self.numPorts == other.numPorts && self.ports == other.ports
4675     }
4676 }
4677 impl ::std::cmp::Eq for FWPM_SYSTEM_PORTS_BY_TYPE0 {}
4678 unsafe impl ::windows::runtime::Abi for FWPM_SYSTEM_PORTS_BY_TYPE0 {
4679     type Abi = Self;
4680     type DefaultType = Self;
4681 }
4682 pub type FWPM_SYSTEM_PORTS_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, sysports: *const FWPM_SYSTEM_PORTS0);
4683 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4684 #[repr(transparent)]
4685 pub struct FWPM_SYSTEM_PORT_TYPE(pub i32);
4686 pub const FWPM_SYSTEM_PORT_RPC_EPMAP: FWPM_SYSTEM_PORT_TYPE = FWPM_SYSTEM_PORT_TYPE(0i32);
4687 pub const FWPM_SYSTEM_PORT_TEREDO: FWPM_SYSTEM_PORT_TYPE = FWPM_SYSTEM_PORT_TYPE(1i32);
4688 pub const FWPM_SYSTEM_PORT_IPHTTPS_IN: FWPM_SYSTEM_PORT_TYPE = FWPM_SYSTEM_PORT_TYPE(2i32);
4689 pub const FWPM_SYSTEM_PORT_IPHTTPS_OUT: FWPM_SYSTEM_PORT_TYPE = FWPM_SYSTEM_PORT_TYPE(3i32);
4690 pub const FWPM_SYSTEM_PORT_TYPE_MAX: FWPM_SYSTEM_PORT_TYPE = FWPM_SYSTEM_PORT_TYPE(4i32);
4691 impl ::std::convert::From<i32> for FWPM_SYSTEM_PORT_TYPE {
from(value: i32) -> Self4692     fn from(value: i32) -> Self {
4693         Self(value)
4694     }
4695 }
4696 unsafe impl ::windows::runtime::Abi for FWPM_SYSTEM_PORT_TYPE {
4697     type Abi = Self;
4698     type DefaultType = Self;
4699 }
4700 pub const FWPM_TUNNEL_FLAG_ENABLE_VIRTUAL_IF_TUNNELING: u32 = 2u32;
4701 pub const FWPM_TUNNEL_FLAG_POINT_TO_POINT: u32 = 1u32;
4702 pub const FWPM_TUNNEL_FLAG_RESERVED0: u32 = 4u32;
4703 pub const FWPM_TXN_READ_ONLY: u32 = 1u32;
4704 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4705 #[repr(C)]
4706 #[cfg(feature = "Win32_Foundation")]
4707 pub struct FWPM_VSWITCH_EVENT0 {
4708     pub eventType: FWPM_VSWITCH_EVENT_TYPE,
4709     pub vSwitchId: super::super::Foundation::PWSTR,
4710     pub Anonymous: FWPM_VSWITCH_EVENT0_0,
4711 }
4712 #[cfg(feature = "Win32_Foundation")]
4713 impl FWPM_VSWITCH_EVENT0 {}
4714 #[cfg(feature = "Win32_Foundation")]
4715 impl ::std::default::Default for FWPM_VSWITCH_EVENT0 {
default() -> Self4716     fn default() -> Self {
4717         unsafe { ::std::mem::zeroed() }
4718     }
4719 }
4720 #[cfg(feature = "Win32_Foundation")]
4721 impl ::std::cmp::PartialEq for FWPM_VSWITCH_EVENT0 {
eq(&self, _other: &Self) -> bool4722     fn eq(&self, _other: &Self) -> bool {
4723         unimplemented!()
4724     }
4725 }
4726 #[cfg(feature = "Win32_Foundation")]
4727 impl ::std::cmp::Eq for FWPM_VSWITCH_EVENT0 {}
4728 #[cfg(feature = "Win32_Foundation")]
4729 unsafe impl ::windows::runtime::Abi for FWPM_VSWITCH_EVENT0 {
4730     type Abi = Self;
4731     type DefaultType = Self;
4732 }
4733 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4734 #[repr(C)]
4735 #[cfg(feature = "Win32_Foundation")]
4736 pub union FWPM_VSWITCH_EVENT0_0 {
4737     pub positionInfo: FWPM_VSWITCH_EVENT0_0_0,
4738     pub reorderInfo: FWPM_VSWITCH_EVENT0_0_1,
4739 }
4740 #[cfg(feature = "Win32_Foundation")]
4741 impl FWPM_VSWITCH_EVENT0_0 {}
4742 #[cfg(feature = "Win32_Foundation")]
4743 impl ::std::default::Default for FWPM_VSWITCH_EVENT0_0 {
default() -> Self4744     fn default() -> Self {
4745         unsafe { ::std::mem::zeroed() }
4746     }
4747 }
4748 #[cfg(feature = "Win32_Foundation")]
4749 impl ::std::cmp::PartialEq for FWPM_VSWITCH_EVENT0_0 {
eq(&self, _other: &Self) -> bool4750     fn eq(&self, _other: &Self) -> bool {
4751         unimplemented!()
4752     }
4753 }
4754 #[cfg(feature = "Win32_Foundation")]
4755 impl ::std::cmp::Eq for FWPM_VSWITCH_EVENT0_0 {}
4756 #[cfg(feature = "Win32_Foundation")]
4757 unsafe impl ::windows::runtime::Abi for FWPM_VSWITCH_EVENT0_0 {
4758     type Abi = Self;
4759     type DefaultType = Self;
4760 }
4761 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4762 #[repr(C)]
4763 #[cfg(feature = "Win32_Foundation")]
4764 pub struct FWPM_VSWITCH_EVENT0_0_0 {
4765     pub numvSwitchFilterExtensions: u32,
4766     pub vSwitchFilterExtensions: *mut super::super::Foundation::PWSTR,
4767 }
4768 #[cfg(feature = "Win32_Foundation")]
4769 impl FWPM_VSWITCH_EVENT0_0_0 {}
4770 #[cfg(feature = "Win32_Foundation")]
4771 impl ::std::default::Default for FWPM_VSWITCH_EVENT0_0_0 {
default() -> Self4772     fn default() -> Self {
4773         unsafe { ::std::mem::zeroed() }
4774     }
4775 }
4776 #[cfg(feature = "Win32_Foundation")]
4777 impl ::std::fmt::Debug for FWPM_VSWITCH_EVENT0_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4778     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4779         fmt.debug_struct("_positionInfo_e__Struct").field("numvSwitchFilterExtensions", &self.numvSwitchFilterExtensions).field("vSwitchFilterExtensions", &self.vSwitchFilterExtensions).finish()
4780     }
4781 }
4782 #[cfg(feature = "Win32_Foundation")]
4783 impl ::std::cmp::PartialEq for FWPM_VSWITCH_EVENT0_0_0 {
eq(&self, other: &Self) -> bool4784     fn eq(&self, other: &Self) -> bool {
4785         self.numvSwitchFilterExtensions == other.numvSwitchFilterExtensions && self.vSwitchFilterExtensions == other.vSwitchFilterExtensions
4786     }
4787 }
4788 #[cfg(feature = "Win32_Foundation")]
4789 impl ::std::cmp::Eq for FWPM_VSWITCH_EVENT0_0_0 {}
4790 #[cfg(feature = "Win32_Foundation")]
4791 unsafe impl ::windows::runtime::Abi for FWPM_VSWITCH_EVENT0_0_0 {
4792     type Abi = Self;
4793     type DefaultType = Self;
4794 }
4795 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4796 #[repr(C)]
4797 #[cfg(feature = "Win32_Foundation")]
4798 pub struct FWPM_VSWITCH_EVENT0_0_1 {
4799     pub inRequiredPosition: super::super::Foundation::BOOL,
4800     pub numvSwitchFilterExtensions: u32,
4801     pub vSwitchFilterExtensions: *mut super::super::Foundation::PWSTR,
4802 }
4803 #[cfg(feature = "Win32_Foundation")]
4804 impl FWPM_VSWITCH_EVENT0_0_1 {}
4805 #[cfg(feature = "Win32_Foundation")]
4806 impl ::std::default::Default for FWPM_VSWITCH_EVENT0_0_1 {
default() -> Self4807     fn default() -> Self {
4808         unsafe { ::std::mem::zeroed() }
4809     }
4810 }
4811 #[cfg(feature = "Win32_Foundation")]
4812 impl ::std::fmt::Debug for FWPM_VSWITCH_EVENT0_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4813     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4814         fmt.debug_struct("_reorderInfo_e__Struct").field("inRequiredPosition", &self.inRequiredPosition).field("numvSwitchFilterExtensions", &self.numvSwitchFilterExtensions).field("vSwitchFilterExtensions", &self.vSwitchFilterExtensions).finish()
4815     }
4816 }
4817 #[cfg(feature = "Win32_Foundation")]
4818 impl ::std::cmp::PartialEq for FWPM_VSWITCH_EVENT0_0_1 {
eq(&self, other: &Self) -> bool4819     fn eq(&self, other: &Self) -> bool {
4820         self.inRequiredPosition == other.inRequiredPosition && self.numvSwitchFilterExtensions == other.numvSwitchFilterExtensions && self.vSwitchFilterExtensions == other.vSwitchFilterExtensions
4821     }
4822 }
4823 #[cfg(feature = "Win32_Foundation")]
4824 impl ::std::cmp::Eq for FWPM_VSWITCH_EVENT0_0_1 {}
4825 #[cfg(feature = "Win32_Foundation")]
4826 unsafe impl ::windows::runtime::Abi for FWPM_VSWITCH_EVENT0_0_1 {
4827     type Abi = Self;
4828     type DefaultType = Self;
4829 }
4830 #[cfg(feature = "Win32_Foundation")]
4831 pub type FWPM_VSWITCH_EVENT_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, vswitchevent: *const FWPM_VSWITCH_EVENT0) -> u32;
4832 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4833 #[repr(C)]
4834 pub struct FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
4835     pub flags: u32,
4836     pub sessionKey: ::windows::runtime::GUID,
4837 }
4838 impl FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {}
4839 impl ::std::default::Default for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
default() -> Self4840     fn default() -> Self {
4841         unsafe { ::std::mem::zeroed() }
4842     }
4843 }
4844 impl ::std::fmt::Debug for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4845     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4846         fmt.debug_struct("FWPM_VSWITCH_EVENT_SUBSCRIPTION0").field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
4847     }
4848 }
4849 impl ::std::cmp::PartialEq for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool4850     fn eq(&self, other: &Self) -> bool {
4851         self.flags == other.flags && self.sessionKey == other.sessionKey
4852     }
4853 }
4854 impl ::std::cmp::Eq for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {}
4855 unsafe impl ::windows::runtime::Abi for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
4856     type Abi = Self;
4857     type DefaultType = Self;
4858 }
4859 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4860 #[repr(transparent)]
4861 pub struct FWPM_VSWITCH_EVENT_TYPE(pub i32);
4862 pub const FWPM_VSWITCH_EVENT_FILTER_ADD_TO_INCOMPLETE_LAYER: FWPM_VSWITCH_EVENT_TYPE = FWPM_VSWITCH_EVENT_TYPE(0i32);
4863 pub const FWPM_VSWITCH_EVENT_FILTER_ENGINE_NOT_IN_REQUIRED_POSITION: FWPM_VSWITCH_EVENT_TYPE = FWPM_VSWITCH_EVENT_TYPE(1i32);
4864 pub const FWPM_VSWITCH_EVENT_ENABLED_FOR_INSPECTION: FWPM_VSWITCH_EVENT_TYPE = FWPM_VSWITCH_EVENT_TYPE(2i32);
4865 pub const FWPM_VSWITCH_EVENT_DISABLED_FOR_INSPECTION: FWPM_VSWITCH_EVENT_TYPE = FWPM_VSWITCH_EVENT_TYPE(3i32);
4866 pub const FWPM_VSWITCH_EVENT_FILTER_ENGINE_REORDER: FWPM_VSWITCH_EVENT_TYPE = FWPM_VSWITCH_EVENT_TYPE(4i32);
4867 pub const FWPM_VSWITCH_EVENT_MAX: FWPM_VSWITCH_EVENT_TYPE = FWPM_VSWITCH_EVENT_TYPE(5i32);
4868 impl ::std::convert::From<i32> for FWPM_VSWITCH_EVENT_TYPE {
from(value: i32) -> Self4869     fn from(value: i32) -> Self {
4870         Self(value)
4871     }
4872 }
4873 unsafe impl ::windows::runtime::Abi for FWPM_VSWITCH_EVENT_TYPE {
4874     type Abi = Self;
4875     type DefaultType = Self;
4876 }
4877 pub const FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS: u32 = 12u32;
4878 pub const FWPM_WEIGHT_RANGE_IPSEC: u32 = 0u32;
4879 pub const FWPS_ALE_ENDPOINT_FLAG_IPSEC_SECURED: u32 = 1u32;
4880 pub const FWPS_CLASSIFY_OUT_FLAG_ABSORB: u32 = 1u32;
4881 pub const FWPS_CLASSIFY_OUT_FLAG_ALE_FAST_CACHE_CHECK: u32 = 8u32;
4882 pub const FWPS_CLASSIFY_OUT_FLAG_ALE_FAST_CACHE_POSSIBLE: u32 = 16u32;
4883 pub const FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED: u32 = 2u32;
4884 pub const FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA: u32 = 4u32;
4885 pub const FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT: u32 = 1u32;
4886 pub const FWPS_FILTER_FLAG_HAS_SECURITY_REALM_PROVIDER_CONTEXT: u32 = 8u32;
4887 pub const FWPS_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE: u32 = 32u32;
4888 pub const FWPS_FILTER_FLAG_OR_CONDITIONS: u32 = 4u32;
4889 pub const FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED: u32 = 2u32;
4890 pub const FWPS_FILTER_FLAG_RESERVED0: u32 = 64u32;
4891 pub const FWPS_FILTER_FLAG_RESERVED1: u32 = 128u32;
4892 pub const FWPS_FILTER_FLAG_SILENT_MODE: u32 = 16u32;
4893 pub const FWPS_INCOMING_FLAG_ABSORB: u32 = 4u32;
4894 pub const FWPS_INCOMING_FLAG_CACHE_SAFE: u32 = 1u32;
4895 pub const FWPS_INCOMING_FLAG_CONNECTION_FAILING_INDICATION: u32 = 8u32;
4896 pub const FWPS_INCOMING_FLAG_ENFORCE_QUERY: u32 = 2u32;
4897 pub const FWPS_INCOMING_FLAG_IS_LOCAL_ONLY_FLOW: u32 = 128u32;
4898 pub const FWPS_INCOMING_FLAG_IS_LOOSE_SOURCE_FLOW: u32 = 64u32;
4899 pub const FWPS_INCOMING_FLAG_MID_STREAM_INSPECTION: u32 = 16u32;
4900 pub const FWPS_INCOMING_FLAG_RECLASSIFY: u32 = 32u32;
4901 pub const FWPS_INCOMING_FLAG_RESERVED0: u32 = 256u32;
4902 pub const FWPS_L2_INCOMING_FLAG_IS_RAW_IPV4_FRAMING: u32 = 1u32;
4903 pub const FWPS_L2_INCOMING_FLAG_IS_RAW_IPV6_FRAMING: u32 = 2u32;
4904 pub const FWPS_L2_INCOMING_FLAG_RECLASSIFY_MULTI_DESTINATION: u32 = 8u32;
4905 pub const FWPS_L2_METADATA_FIELD_ETHERNET_MAC_HEADER_SIZE: u32 = 1u32;
4906 pub const FWPS_L2_METADATA_FIELD_RESERVED: u32 = 2147483648u32;
4907 pub const FWPS_L2_METADATA_FIELD_VSWITCH_DESTINATION_PORT_ID: u32 = 32u32;
4908 pub const FWPS_L2_METADATA_FIELD_VSWITCH_PACKET_CONTEXT: u32 = 16u32;
4909 pub const FWPS_L2_METADATA_FIELD_VSWITCH_SOURCE_NIC_INDEX: u32 = 8u32;
4910 pub const FWPS_L2_METADATA_FIELD_VSWITCH_SOURCE_PORT_ID: u32 = 4u32;
4911 pub const FWPS_L2_METADATA_FIELD_WIFI_OPERATION_MODE: u32 = 2u32;
4912 pub const FWPS_METADATA_FIELD_ALE_CLASSIFY_REQUIRED: u32 = 4194304u32;
4913 pub const FWPS_METADATA_FIELD_COMPARTMENT_ID: u32 = 2048u32;
4914 pub const FWPS_METADATA_FIELD_COMPLETION_HANDLE: u32 = 16384u32;
4915 pub const FWPS_METADATA_FIELD_DESTINATION_INTERFACE_INDEX: u32 = 512u32;
4916 pub const FWPS_METADATA_FIELD_DESTINATION_PREFIX: u32 = 16777216u32;
4917 pub const FWPS_METADATA_FIELD_DISCARD_REASON: u32 = 1u32;
4918 pub const FWPS_METADATA_FIELD_ETHER_FRAME_LENGTH: u32 = 33554432u32;
4919 pub const FWPS_METADATA_FIELD_FLOW_HANDLE: u32 = 2u32;
4920 pub const FWPS_METADATA_FIELD_FORWARD_LAYER_INBOUND_PASS_THRU: u32 = 2097152u32;
4921 pub const FWPS_METADATA_FIELD_FORWARD_LAYER_OUTBOUND_PASS_THRU: u32 = 1048576u32;
4922 pub const FWPS_METADATA_FIELD_FRAGMENT_DATA: u32 = 4096u32;
4923 pub const FWPS_METADATA_FIELD_ICMP_ID_AND_SEQUENCE: u32 = 134217728u32;
4924 pub const FWPS_METADATA_FIELD_IP_HEADER_SIZE: u32 = 4u32;
4925 pub const FWPS_METADATA_FIELD_LOCAL_REDIRECT_TARGET_PID: u32 = 268435456u32;
4926 pub const FWPS_METADATA_FIELD_ORIGINAL_DESTINATION: u32 = 536870912u32;
4927 pub const FWPS_METADATA_FIELD_PACKET_DIRECTION: u32 = 262144u32;
4928 pub const FWPS_METADATA_FIELD_PACKET_SYSTEM_CRITICAL: u32 = 524288u32;
4929 pub const FWPS_METADATA_FIELD_PARENT_ENDPOINT_HANDLE: u32 = 67108864u32;
4930 pub const FWPS_METADATA_FIELD_PATH_MTU: u32 = 8192u32;
4931 pub const FWPS_METADATA_FIELD_PROCESS_ID: u32 = 32u32;
4932 pub const FWPS_METADATA_FIELD_PROCESS_PATH: u32 = 8u32;
4933 pub const FWPS_METADATA_FIELD_REDIRECT_RECORD_HANDLE: u32 = 1073741824u32;
4934 pub const FWPS_METADATA_FIELD_REMOTE_SCOPE_ID: u32 = 131072u32;
4935 pub const FWPS_METADATA_FIELD_RESERVED: u32 = 128u32;
4936 pub const FWPS_METADATA_FIELD_SOURCE_INTERFACE_INDEX: u32 = 256u32;
4937 pub const FWPS_METADATA_FIELD_SUB_PROCESS_TAG: u32 = 2147483648u32;
4938 pub const FWPS_METADATA_FIELD_SYSTEM_FLAGS: u32 = 64u32;
4939 pub const FWPS_METADATA_FIELD_TOKEN: u32 = 16u32;
4940 pub const FWPS_METADATA_FIELD_TRANSPORT_CONTROL_DATA: u32 = 65536u32;
4941 pub const FWPS_METADATA_FIELD_TRANSPORT_ENDPOINT_HANDLE: u32 = 32768u32;
4942 pub const FWPS_METADATA_FIELD_TRANSPORT_HEADER_INCLUDE_HEADER: u32 = 8388608u32;
4943 pub const FWPS_METADATA_FIELD_TRANSPORT_HEADER_SIZE: u32 = 1024u32;
4944 pub const FWPS_RIGHT_ACTION_WRITE: u32 = 1u32;
4945 pub const FWP_ACTION_FLAG_CALLOUT: u32 = 16384u32;
4946 pub const FWP_ACTION_FLAG_NON_TERMINATING: u32 = 8192u32;
4947 pub const FWP_ACTION_FLAG_TERMINATING: u32 = 4096u32;
4948 pub const FWP_ACTION_NONE: u32 = 7u32;
4949 pub const FWP_ACTION_NONE_NO_MATCH: u32 = 8u32;
4950 pub const FWP_ACTRL_MATCH_FILTER: u32 = 1u32;
4951 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4952 #[repr(transparent)]
4953 pub struct FWP_AF(pub i32);
4954 pub const FWP_AF_INET: FWP_AF = FWP_AF(0i32);
4955 pub const FWP_AF_INET6: FWP_AF = FWP_AF(1i32);
4956 pub const FWP_AF_ETHER: FWP_AF = FWP_AF(2i32);
4957 pub const FWP_AF_NONE: FWP_AF = FWP_AF(3i32);
4958 impl ::std::convert::From<i32> for FWP_AF {
from(value: i32) -> Self4959     fn from(value: i32) -> Self {
4960         Self(value)
4961     }
4962 }
4963 unsafe impl ::windows::runtime::Abi for FWP_AF {
4964     type Abi = Self;
4965     type DefaultType = Self;
4966 }
4967 pub const FWP_BYTEMAP_ARRAY64_SIZE: u32 = 8u32;
4968 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4969 #[repr(C)]
4970 pub struct FWP_BYTE_ARRAY16 {
4971     pub byteArray16: [u8; 16],
4972 }
4973 impl FWP_BYTE_ARRAY16 {}
4974 impl ::std::default::Default for FWP_BYTE_ARRAY16 {
default() -> Self4975     fn default() -> Self {
4976         unsafe { ::std::mem::zeroed() }
4977     }
4978 }
4979 impl ::std::fmt::Debug for FWP_BYTE_ARRAY16 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4980     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4981         fmt.debug_struct("FWP_BYTE_ARRAY16").field("byteArray16", &self.byteArray16).finish()
4982     }
4983 }
4984 impl ::std::cmp::PartialEq for FWP_BYTE_ARRAY16 {
eq(&self, other: &Self) -> bool4985     fn eq(&self, other: &Self) -> bool {
4986         self.byteArray16 == other.byteArray16
4987     }
4988 }
4989 impl ::std::cmp::Eq for FWP_BYTE_ARRAY16 {}
4990 unsafe impl ::windows::runtime::Abi for FWP_BYTE_ARRAY16 {
4991     type Abi = Self;
4992     type DefaultType = Self;
4993 }
4994 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4995 #[repr(C)]
4996 pub struct FWP_BYTE_ARRAY6 {
4997     pub byteArray6: [u8; 6],
4998 }
4999 impl FWP_BYTE_ARRAY6 {}
5000 impl ::std::default::Default for FWP_BYTE_ARRAY6 {
default() -> Self5001     fn default() -> Self {
5002         unsafe { ::std::mem::zeroed() }
5003     }
5004 }
5005 impl ::std::fmt::Debug for FWP_BYTE_ARRAY6 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5006     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5007         fmt.debug_struct("FWP_BYTE_ARRAY6").field("byteArray6", &self.byteArray6).finish()
5008     }
5009 }
5010 impl ::std::cmp::PartialEq for FWP_BYTE_ARRAY6 {
eq(&self, other: &Self) -> bool5011     fn eq(&self, other: &Self) -> bool {
5012         self.byteArray6 == other.byteArray6
5013     }
5014 }
5015 impl ::std::cmp::Eq for FWP_BYTE_ARRAY6 {}
5016 unsafe impl ::windows::runtime::Abi for FWP_BYTE_ARRAY6 {
5017     type Abi = Self;
5018     type DefaultType = Self;
5019 }
5020 pub const FWP_BYTE_ARRAY6_SIZE: u32 = 6u32;
5021 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5022 #[repr(C)]
5023 pub struct FWP_BYTE_BLOB {
5024     pub size: u32,
5025     pub data: *mut u8,
5026 }
5027 impl FWP_BYTE_BLOB {}
5028 impl ::std::default::Default for FWP_BYTE_BLOB {
default() -> Self5029     fn default() -> Self {
5030         unsafe { ::std::mem::zeroed() }
5031     }
5032 }
5033 impl ::std::fmt::Debug for FWP_BYTE_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5034     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5035         fmt.debug_struct("FWP_BYTE_BLOB").field("size", &self.size).field("data", &self.data).finish()
5036     }
5037 }
5038 impl ::std::cmp::PartialEq for FWP_BYTE_BLOB {
eq(&self, other: &Self) -> bool5039     fn eq(&self, other: &Self) -> bool {
5040         self.size == other.size && self.data == other.data
5041     }
5042 }
5043 impl ::std::cmp::Eq for FWP_BYTE_BLOB {}
5044 unsafe impl ::windows::runtime::Abi for FWP_BYTE_BLOB {
5045     type Abi = Self;
5046     type DefaultType = Self;
5047 }
5048 pub const FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY: u32 = 128u32;
5049 pub const FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION: u32 = 8u32;
5050 pub const FWP_CALLOUT_FLAG_ALLOW_OFFLOAD: u32 = 2u32;
5051 pub const FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY: u32 = 16u32;
5052 pub const FWP_CALLOUT_FLAG_ALLOW_RSC: u32 = 64u32;
5053 pub const FWP_CALLOUT_FLAG_ALLOW_URO: u32 = 512u32;
5054 pub const FWP_CALLOUT_FLAG_ALLOW_USO: u32 = 256u32;
5055 pub const FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW: u32 = 1u32;
5056 pub const FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY: u32 = 4u32;
5057 pub const FWP_CALLOUT_FLAG_RESERVED1: u32 = 32u32;
5058 pub const FWP_CALLOUT_FLAG_RESERVED2: u32 = 1024u32;
5059 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5060 #[repr(transparent)]
5061 pub struct FWP_CLASSIFY_OPTION_TYPE(pub i32);
5062 pub const FWP_CLASSIFY_OPTION_MULTICAST_STATE: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(0i32);
5063 pub const FWP_CLASSIFY_OPTION_LOOSE_SOURCE_MAPPING: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(1i32);
5064 pub const FWP_CLASSIFY_OPTION_UNICAST_LIFETIME: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(2i32);
5065 pub const FWP_CLASSIFY_OPTION_MCAST_BCAST_LIFETIME: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(3i32);
5066 pub const FWP_CLASSIFY_OPTION_SECURE_SOCKET_SECURITY_FLAGS: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(4i32);
5067 pub const FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_MM_POLICY_KEY: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(5i32);
5068 pub const FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_QM_POLICY_KEY: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(6i32);
5069 pub const FWP_CLASSIFY_OPTION_LOCAL_ONLY_MAPPING: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(7i32);
5070 pub const FWP_CLASSIFY_OPTION_MAX: FWP_CLASSIFY_OPTION_TYPE = FWP_CLASSIFY_OPTION_TYPE(8i32);
5071 impl ::std::convert::From<i32> for FWP_CLASSIFY_OPTION_TYPE {
from(value: i32) -> Self5072     fn from(value: i32) -> Self {
5073         Self(value)
5074     }
5075 }
5076 unsafe impl ::windows::runtime::Abi for FWP_CLASSIFY_OPTION_TYPE {
5077     type Abi = Self;
5078     type DefaultType = Self;
5079 }
5080 pub const FWP_CONDITION_FLAG_IS_APPCONTAINER_LOOPBACK: u32 = 4194304u32;
5081 pub const FWP_CONDITION_FLAG_IS_AUTH_FW: u32 = 65536u32;
5082 pub const FWP_CONDITION_FLAG_IS_CONNECTION_REDIRECTED: u32 = 1048576u32;
5083 pub const FWP_CONDITION_FLAG_IS_FRAGMENT: u32 = 32u32;
5084 pub const FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP: u32 = 64u32;
5085 pub const FWP_CONDITION_FLAG_IS_HONORING_POLICY_AUTHORIZE: u32 = 33554432u32;
5086 pub const FWP_CONDITION_FLAG_IS_IMPLICIT_BIND: u32 = 512u32;
5087 pub const FWP_CONDITION_FLAG_IS_INBOUND_PASS_THRU: u32 = 524288u32;
5088 pub const FWP_CONDITION_FLAG_IS_IPSEC_NATT_RECLASSIFY: u32 = 128u32;
5089 pub const FWP_CONDITION_FLAG_IS_IPSEC_SECURED: u32 = 2u32;
5090 pub const FWP_CONDITION_FLAG_IS_LOOPBACK: u32 = 1u32;
5091 pub const FWP_CONDITION_FLAG_IS_NAME_APP_SPECIFIED: u32 = 16384u32;
5092 pub const FWP_CONDITION_FLAG_IS_NON_APPCONTAINER_LOOPBACK: u32 = 8388608u32;
5093 pub const FWP_CONDITION_FLAG_IS_OUTBOUND_PASS_THRU: u32 = 262144u32;
5094 pub const FWP_CONDITION_FLAG_IS_PROMISCUOUS: u32 = 32768u32;
5095 pub const FWP_CONDITION_FLAG_IS_PROXY_CONNECTION: u32 = 2097152u32;
5096 pub const FWP_CONDITION_FLAG_IS_RAW_ENDPOINT: u32 = 16u32;
5097 pub const FWP_CONDITION_FLAG_IS_REASSEMBLED: u32 = 1024u32;
5098 pub const FWP_CONDITION_FLAG_IS_REAUTHORIZE: u32 = 4u32;
5099 pub const FWP_CONDITION_FLAG_IS_RECLASSIFY: u32 = 131072u32;
5100 pub const FWP_CONDITION_FLAG_IS_RESERVED: u32 = 16777216u32;
5101 pub const FWP_CONDITION_FLAG_IS_WILDCARD_BIND: u32 = 8u32;
5102 pub const FWP_CONDITION_FLAG_REQUIRES_ALE_CLASSIFY: u32 = 256u32;
5103 pub const FWP_CONDITION_L2_IF_CONNECTOR_PRESENT: u32 = 128u32;
5104 pub const FWP_CONDITION_L2_IS_IP_FRAGMENT_GROUP: u32 = 64u32;
5105 pub const FWP_CONDITION_L2_IS_MALFORMED_PACKET: u32 = 32u32;
5106 pub const FWP_CONDITION_L2_IS_MOBILE_BROADBAND: u32 = 4u32;
5107 pub const FWP_CONDITION_L2_IS_NATIVE_ETHERNET: u32 = 1u32;
5108 pub const FWP_CONDITION_L2_IS_VM2VM: u32 = 16u32;
5109 pub const FWP_CONDITION_L2_IS_WIFI: u32 = 2u32;
5110 pub const FWP_CONDITION_L2_IS_WIFI_DIRECT_DATA: u32 = 8u32;
5111 pub const FWP_CONDITION_REAUTHORIZE_REASON_CHECK_OFFLOAD: u32 = 65536u32;
5112 pub const FWP_CONDITION_REAUTHORIZE_REASON_CLASSIFY_COMPLETION: u32 = 16u32;
5113 pub const FWP_CONDITION_REAUTHORIZE_REASON_EDP_POLICY_CHANGED: u32 = 512u32;
5114 pub const FWP_CONDITION_REAUTHORIZE_REASON_IPSEC_PROPERTIES_CHANGED: u32 = 32u32;
5115 pub const FWP_CONDITION_REAUTHORIZE_REASON_MID_STREAM_INSPECTION: u32 = 64u32;
5116 pub const FWP_CONDITION_REAUTHORIZE_REASON_NEW_ARRIVAL_INTERFACE: u32 = 2u32;
5117 pub const FWP_CONDITION_REAUTHORIZE_REASON_NEW_INBOUND_MCAST_BCAST_PACKET: u32 = 256u32;
5118 pub const FWP_CONDITION_REAUTHORIZE_REASON_NEW_NEXTHOP_INTERFACE: u32 = 4u32;
5119 pub const FWP_CONDITION_REAUTHORIZE_REASON_POLICY_CHANGE: u32 = 1u32;
5120 pub const FWP_CONDITION_REAUTHORIZE_REASON_PROFILE_CROSSING: u32 = 8u32;
5121 pub const FWP_CONDITION_REAUTHORIZE_REASON_PROXY_HANDLE_CHANGED: u32 = 16384u32;
5122 pub const FWP_CONDITION_REAUTHORIZE_REASON_SOCKET_PROPERTY_CHANGED: u32 = 128u32;
5123 pub const FWP_CONDITION_SOCKET_PROPERTY_FLAG_ALLOW_EDGE_TRAFFIC: u32 = 2u32;
5124 pub const FWP_CONDITION_SOCKET_PROPERTY_FLAG_DENY_EDGE_TRAFFIC: u32 = 4u32;
5125 pub const FWP_CONDITION_SOCKET_PROPERTY_FLAG_IS_SYSTEM_PORT_RPC: u32 = 1u32;
5126 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5127 #[repr(C)]
5128 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5129 pub struct FWP_CONDITION_VALUE0 {
5130     pub r#type: FWP_DATA_TYPE,
5131     pub Anonymous: FWP_CONDITION_VALUE0_0,
5132 }
5133 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5134 impl FWP_CONDITION_VALUE0 {}
5135 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5136 impl ::std::default::Default for FWP_CONDITION_VALUE0 {
default() -> Self5137     fn default() -> Self {
5138         unsafe { ::std::mem::zeroed() }
5139     }
5140 }
5141 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5142 impl ::std::cmp::PartialEq for FWP_CONDITION_VALUE0 {
eq(&self, _other: &Self) -> bool5143     fn eq(&self, _other: &Self) -> bool {
5144         unimplemented!()
5145     }
5146 }
5147 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5148 impl ::std::cmp::Eq for FWP_CONDITION_VALUE0 {}
5149 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5150 unsafe impl ::windows::runtime::Abi for FWP_CONDITION_VALUE0 {
5151     type Abi = Self;
5152     type DefaultType = Self;
5153 }
5154 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5155 #[repr(C)]
5156 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5157 pub union FWP_CONDITION_VALUE0_0 {
5158     pub uint8: u8,
5159     pub uint16: u16,
5160     pub uint32: u32,
5161     pub uint64: *mut u64,
5162     pub int8: i8,
5163     pub int16: i16,
5164     pub int32: i32,
5165     pub int64: *mut i64,
5166     pub float32: f32,
5167     pub double64: *mut f64,
5168     pub byteArray16: *mut FWP_BYTE_ARRAY16,
5169     pub byteBlob: *mut FWP_BYTE_BLOB,
5170     pub sid: *mut super::super::Security::SID,
5171     pub sd: *mut FWP_BYTE_BLOB,
5172     pub tokenInformation: *mut FWP_TOKEN_INFORMATION,
5173     pub tokenAccessInformation: *mut FWP_BYTE_BLOB,
5174     pub unicodeString: super::super::Foundation::PWSTR,
5175     pub byteArray6: *mut FWP_BYTE_ARRAY6,
5176     pub v4AddrMask: *mut FWP_V4_ADDR_AND_MASK,
5177     pub v6AddrMask: *mut FWP_V6_ADDR_AND_MASK,
5178     pub rangeValue: *mut FWP_RANGE0,
5179 }
5180 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5181 impl FWP_CONDITION_VALUE0_0 {}
5182 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5183 impl ::std::default::Default for FWP_CONDITION_VALUE0_0 {
default() -> Self5184     fn default() -> Self {
5185         unsafe { ::std::mem::zeroed() }
5186     }
5187 }
5188 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5189 impl ::std::cmp::PartialEq for FWP_CONDITION_VALUE0_0 {
eq(&self, _other: &Self) -> bool5190     fn eq(&self, _other: &Self) -> bool {
5191         unimplemented!()
5192     }
5193 }
5194 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5195 impl ::std::cmp::Eq for FWP_CONDITION_VALUE0_0 {}
5196 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5197 unsafe impl ::windows::runtime::Abi for FWP_CONDITION_VALUE0_0 {
5198     type Abi = Self;
5199     type DefaultType = Self;
5200 }
5201 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5202 #[repr(transparent)]
5203 pub struct FWP_DATA_TYPE(pub i32);
5204 pub const FWP_EMPTY: FWP_DATA_TYPE = FWP_DATA_TYPE(0i32);
5205 pub const FWP_UINT8: FWP_DATA_TYPE = FWP_DATA_TYPE(1i32);
5206 pub const FWP_UINT16: FWP_DATA_TYPE = FWP_DATA_TYPE(2i32);
5207 pub const FWP_UINT32: FWP_DATA_TYPE = FWP_DATA_TYPE(3i32);
5208 pub const FWP_UINT64: FWP_DATA_TYPE = FWP_DATA_TYPE(4i32);
5209 pub const FWP_INT8: FWP_DATA_TYPE = FWP_DATA_TYPE(5i32);
5210 pub const FWP_INT16: FWP_DATA_TYPE = FWP_DATA_TYPE(6i32);
5211 pub const FWP_INT32: FWP_DATA_TYPE = FWP_DATA_TYPE(7i32);
5212 pub const FWP_INT64: FWP_DATA_TYPE = FWP_DATA_TYPE(8i32);
5213 pub const FWP_FLOAT: FWP_DATA_TYPE = FWP_DATA_TYPE(9i32);
5214 pub const FWP_DOUBLE: FWP_DATA_TYPE = FWP_DATA_TYPE(10i32);
5215 pub const FWP_BYTE_ARRAY16_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(11i32);
5216 pub const FWP_BYTE_BLOB_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(12i32);
5217 pub const FWP_SID: FWP_DATA_TYPE = FWP_DATA_TYPE(13i32);
5218 pub const FWP_SECURITY_DESCRIPTOR_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(14i32);
5219 pub const FWP_TOKEN_INFORMATION_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(15i32);
5220 pub const FWP_TOKEN_ACCESS_INFORMATION_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(16i32);
5221 pub const FWP_UNICODE_STRING_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(17i32);
5222 pub const FWP_BYTE_ARRAY6_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(18i32);
5223 pub const FWP_SINGLE_DATA_TYPE_MAX: FWP_DATA_TYPE = FWP_DATA_TYPE(255i32);
5224 pub const FWP_V4_ADDR_MASK: FWP_DATA_TYPE = FWP_DATA_TYPE(256i32);
5225 pub const FWP_V6_ADDR_MASK: FWP_DATA_TYPE = FWP_DATA_TYPE(257i32);
5226 pub const FWP_RANGE_TYPE: FWP_DATA_TYPE = FWP_DATA_TYPE(258i32);
5227 pub const FWP_DATA_TYPE_MAX: FWP_DATA_TYPE = FWP_DATA_TYPE(259i32);
5228 impl ::std::convert::From<i32> for FWP_DATA_TYPE {
from(value: i32) -> Self5229     fn from(value: i32) -> Self {
5230         Self(value)
5231     }
5232 }
5233 unsafe impl ::windows::runtime::Abi for FWP_DATA_TYPE {
5234     type Abi = Self;
5235     type DefaultType = Self;
5236 }
5237 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5238 #[repr(transparent)]
5239 pub struct FWP_DIRECTION(pub i32);
5240 pub const FWP_DIRECTION_OUTBOUND: FWP_DIRECTION = FWP_DIRECTION(0i32);
5241 pub const FWP_DIRECTION_INBOUND: FWP_DIRECTION = FWP_DIRECTION(1i32);
5242 pub const FWP_DIRECTION_MAX: FWP_DIRECTION = FWP_DIRECTION(2i32);
5243 impl ::std::convert::From<i32> for FWP_DIRECTION {
from(value: i32) -> Self5244     fn from(value: i32) -> Self {
5245         Self(value)
5246     }
5247 }
5248 unsafe impl ::windows::runtime::Abi for FWP_DIRECTION {
5249     type Abi = Self;
5250     type DefaultType = Self;
5251 }
5252 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5253 #[repr(transparent)]
5254 pub struct FWP_ETHER_ENCAP_METHOD(pub i32);
5255 pub const FWP_ETHER_ENCAP_METHOD_ETHER_V2: FWP_ETHER_ENCAP_METHOD = FWP_ETHER_ENCAP_METHOD(0i32);
5256 pub const FWP_ETHER_ENCAP_METHOD_SNAP: FWP_ETHER_ENCAP_METHOD = FWP_ETHER_ENCAP_METHOD(1i32);
5257 pub const FWP_ETHER_ENCAP_METHOD_SNAP_W_OUI_ZERO: FWP_ETHER_ENCAP_METHOD = FWP_ETHER_ENCAP_METHOD(3i32);
5258 impl ::std::convert::From<i32> for FWP_ETHER_ENCAP_METHOD {
from(value: i32) -> Self5259     fn from(value: i32) -> Self {
5260         Self(value)
5261     }
5262 }
5263 unsafe impl ::windows::runtime::Abi for FWP_ETHER_ENCAP_METHOD {
5264     type Abi = Self;
5265     type DefaultType = Self;
5266 }
5267 pub const FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH: u32 = 1u32;
5268 pub const FWP_FILTER_ENUM_FLAG_BOOTTIME_ONLY: u32 = 4u32;
5269 pub const FWP_FILTER_ENUM_FLAG_INCLUDE_BOOTTIME: u32 = 8u32;
5270 pub const FWP_FILTER_ENUM_FLAG_INCLUDE_DISABLED: u32 = 16u32;
5271 pub const FWP_FILTER_ENUM_FLAG_RESERVED1: u32 = 32u32;
5272 pub const FWP_FILTER_ENUM_FLAG_SORTED: u32 = 2u32;
5273 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5274 #[repr(transparent)]
5275 pub struct FWP_FILTER_ENUM_TYPE(pub i32);
5276 pub const FWP_FILTER_ENUM_FULLY_CONTAINED: FWP_FILTER_ENUM_TYPE = FWP_FILTER_ENUM_TYPE(0i32);
5277 pub const FWP_FILTER_ENUM_OVERLAPPING: FWP_FILTER_ENUM_TYPE = FWP_FILTER_ENUM_TYPE(1i32);
5278 pub const FWP_FILTER_ENUM_TYPE_MAX: FWP_FILTER_ENUM_TYPE = FWP_FILTER_ENUM_TYPE(2i32);
5279 impl ::std::convert::From<i32> for FWP_FILTER_ENUM_TYPE {
from(value: i32) -> Self5280     fn from(value: i32) -> Self {
5281         Self(value)
5282     }
5283 }
5284 unsafe impl ::windows::runtime::Abi for FWP_FILTER_ENUM_TYPE {
5285     type Abi = Self;
5286     type DefaultType = Self;
5287 }
5288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5289 #[repr(transparent)]
5290 pub struct FWP_IP_VERSION(pub i32);
5291 pub const FWP_IP_VERSION_V4: FWP_IP_VERSION = FWP_IP_VERSION(0i32);
5292 pub const FWP_IP_VERSION_V6: FWP_IP_VERSION = FWP_IP_VERSION(1i32);
5293 pub const FWP_IP_VERSION_NONE: FWP_IP_VERSION = FWP_IP_VERSION(2i32);
5294 pub const FWP_IP_VERSION_MAX: FWP_IP_VERSION = FWP_IP_VERSION(3i32);
5295 impl ::std::convert::From<i32> for FWP_IP_VERSION {
from(value: i32) -> Self5296     fn from(value: i32) -> Self {
5297         Self(value)
5298     }
5299 }
5300 unsafe impl ::windows::runtime::Abi for FWP_IP_VERSION {
5301     type Abi = Self;
5302     type DefaultType = Self;
5303 }
5304 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5305 #[repr(transparent)]
5306 pub struct FWP_MATCH_TYPE(pub i32);
5307 pub const FWP_MATCH_EQUAL: FWP_MATCH_TYPE = FWP_MATCH_TYPE(0i32);
5308 pub const FWP_MATCH_GREATER: FWP_MATCH_TYPE = FWP_MATCH_TYPE(1i32);
5309 pub const FWP_MATCH_LESS: FWP_MATCH_TYPE = FWP_MATCH_TYPE(2i32);
5310 pub const FWP_MATCH_GREATER_OR_EQUAL: FWP_MATCH_TYPE = FWP_MATCH_TYPE(3i32);
5311 pub const FWP_MATCH_LESS_OR_EQUAL: FWP_MATCH_TYPE = FWP_MATCH_TYPE(4i32);
5312 pub const FWP_MATCH_RANGE: FWP_MATCH_TYPE = FWP_MATCH_TYPE(5i32);
5313 pub const FWP_MATCH_FLAGS_ALL_SET: FWP_MATCH_TYPE = FWP_MATCH_TYPE(6i32);
5314 pub const FWP_MATCH_FLAGS_ANY_SET: FWP_MATCH_TYPE = FWP_MATCH_TYPE(7i32);
5315 pub const FWP_MATCH_FLAGS_NONE_SET: FWP_MATCH_TYPE = FWP_MATCH_TYPE(8i32);
5316 pub const FWP_MATCH_EQUAL_CASE_INSENSITIVE: FWP_MATCH_TYPE = FWP_MATCH_TYPE(9i32);
5317 pub const FWP_MATCH_NOT_EQUAL: FWP_MATCH_TYPE = FWP_MATCH_TYPE(10i32);
5318 pub const FWP_MATCH_PREFIX: FWP_MATCH_TYPE = FWP_MATCH_TYPE(11i32);
5319 pub const FWP_MATCH_NOT_PREFIX: FWP_MATCH_TYPE = FWP_MATCH_TYPE(12i32);
5320 pub const FWP_MATCH_TYPE_MAX: FWP_MATCH_TYPE = FWP_MATCH_TYPE(13i32);
5321 impl ::std::convert::From<i32> for FWP_MATCH_TYPE {
from(value: i32) -> Self5322     fn from(value: i32) -> Self {
5323         Self(value)
5324     }
5325 }
5326 unsafe impl ::windows::runtime::Abi for FWP_MATCH_TYPE {
5327     type Abi = Self;
5328     type DefaultType = Self;
5329 }
5330 pub const FWP_OPTION_VALUE_ALLOW_GLOBAL_MULTICAST_STATE: u32 = 2u32;
5331 pub const FWP_OPTION_VALUE_ALLOW_MULTICAST_STATE: u32 = 0u32;
5332 pub const FWP_OPTION_VALUE_DENY_MULTICAST_STATE: u32 = 1u32;
5333 pub const FWP_OPTION_VALUE_DISABLE_LOCAL_ONLY_MAPPING: u32 = 0u32;
5334 pub const FWP_OPTION_VALUE_DISABLE_LOOSE_SOURCE: u32 = 0u32;
5335 pub const FWP_OPTION_VALUE_ENABLE_LOCAL_ONLY_MAPPING: u32 = 1u32;
5336 pub const FWP_OPTION_VALUE_ENABLE_LOOSE_SOURCE: u32 = 1u32;
5337 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5338 #[repr(C)]
5339 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5340 pub struct FWP_RANGE0 {
5341     pub valueLow: FWP_VALUE0,
5342     pub valueHigh: FWP_VALUE0,
5343 }
5344 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5345 impl FWP_RANGE0 {}
5346 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5347 impl ::std::default::Default for FWP_RANGE0 {
default() -> Self5348     fn default() -> Self {
5349         unsafe { ::std::mem::zeroed() }
5350     }
5351 }
5352 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5353 impl ::std::cmp::PartialEq for FWP_RANGE0 {
eq(&self, _other: &Self) -> bool5354     fn eq(&self, _other: &Self) -> bool {
5355         unimplemented!()
5356     }
5357 }
5358 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5359 impl ::std::cmp::Eq for FWP_RANGE0 {}
5360 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5361 unsafe impl ::windows::runtime::Abi for FWP_RANGE0 {
5362     type Abi = Self;
5363     type DefaultType = Self;
5364 }
5365 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5366 #[repr(C)]
5367 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5368 pub struct FWP_TOKEN_INFORMATION {
5369     pub sidCount: u32,
5370     pub sids: *mut super::super::Security::SID_AND_ATTRIBUTES,
5371     pub restrictedSidCount: u32,
5372     pub restrictedSids: *mut super::super::Security::SID_AND_ATTRIBUTES,
5373 }
5374 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5375 impl FWP_TOKEN_INFORMATION {}
5376 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5377 impl ::std::default::Default for FWP_TOKEN_INFORMATION {
default() -> Self5378     fn default() -> Self {
5379         unsafe { ::std::mem::zeroed() }
5380     }
5381 }
5382 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5383 impl ::std::fmt::Debug for FWP_TOKEN_INFORMATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5384     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5385         fmt.debug_struct("FWP_TOKEN_INFORMATION").field("sidCount", &self.sidCount).field("sids", &self.sids).field("restrictedSidCount", &self.restrictedSidCount).field("restrictedSids", &self.restrictedSids).finish()
5386     }
5387 }
5388 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5389 impl ::std::cmp::PartialEq for FWP_TOKEN_INFORMATION {
eq(&self, other: &Self) -> bool5390     fn eq(&self, other: &Self) -> bool {
5391         self.sidCount == other.sidCount && self.sids == other.sids && self.restrictedSidCount == other.restrictedSidCount && self.restrictedSids == other.restrictedSids
5392     }
5393 }
5394 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5395 impl ::std::cmp::Eq for FWP_TOKEN_INFORMATION {}
5396 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5397 unsafe impl ::windows::runtime::Abi for FWP_TOKEN_INFORMATION {
5398     type Abi = Self;
5399     type DefaultType = Self;
5400 }
5401 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5402 #[repr(C)]
5403 pub struct FWP_V4_ADDR_AND_MASK {
5404     pub addr: u32,
5405     pub mask: u32,
5406 }
5407 impl FWP_V4_ADDR_AND_MASK {}
5408 impl ::std::default::Default for FWP_V4_ADDR_AND_MASK {
default() -> Self5409     fn default() -> Self {
5410         unsafe { ::std::mem::zeroed() }
5411     }
5412 }
5413 impl ::std::fmt::Debug for FWP_V4_ADDR_AND_MASK {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5414     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5415         fmt.debug_struct("FWP_V4_ADDR_AND_MASK").field("addr", &self.addr).field("mask", &self.mask).finish()
5416     }
5417 }
5418 impl ::std::cmp::PartialEq for FWP_V4_ADDR_AND_MASK {
eq(&self, other: &Self) -> bool5419     fn eq(&self, other: &Self) -> bool {
5420         self.addr == other.addr && self.mask == other.mask
5421     }
5422 }
5423 impl ::std::cmp::Eq for FWP_V4_ADDR_AND_MASK {}
5424 unsafe impl ::windows::runtime::Abi for FWP_V4_ADDR_AND_MASK {
5425     type Abi = Self;
5426     type DefaultType = Self;
5427 }
5428 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5429 #[repr(C)]
5430 pub struct FWP_V6_ADDR_AND_MASK {
5431     pub addr: [u8; 16],
5432     pub prefixLength: u8,
5433 }
5434 impl FWP_V6_ADDR_AND_MASK {}
5435 impl ::std::default::Default for FWP_V6_ADDR_AND_MASK {
default() -> Self5436     fn default() -> Self {
5437         unsafe { ::std::mem::zeroed() }
5438     }
5439 }
5440 impl ::std::fmt::Debug for FWP_V6_ADDR_AND_MASK {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5441     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5442         fmt.debug_struct("FWP_V6_ADDR_AND_MASK").field("addr", &self.addr).field("prefixLength", &self.prefixLength).finish()
5443     }
5444 }
5445 impl ::std::cmp::PartialEq for FWP_V6_ADDR_AND_MASK {
eq(&self, other: &Self) -> bool5446     fn eq(&self, other: &Self) -> bool {
5447         self.addr == other.addr && self.prefixLength == other.prefixLength
5448     }
5449 }
5450 impl ::std::cmp::Eq for FWP_V6_ADDR_AND_MASK {}
5451 unsafe impl ::windows::runtime::Abi for FWP_V6_ADDR_AND_MASK {
5452     type Abi = Self;
5453     type DefaultType = Self;
5454 }
5455 pub const FWP_V6_ADDR_SIZE: u32 = 16u32;
5456 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5457 #[repr(C)]
5458 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5459 pub struct FWP_VALUE0 {
5460     pub r#type: FWP_DATA_TYPE,
5461     pub Anonymous: FWP_VALUE0_0,
5462 }
5463 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5464 impl FWP_VALUE0 {}
5465 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5466 impl ::std::default::Default for FWP_VALUE0 {
default() -> Self5467     fn default() -> Self {
5468         unsafe { ::std::mem::zeroed() }
5469     }
5470 }
5471 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5472 impl ::std::cmp::PartialEq for FWP_VALUE0 {
eq(&self, _other: &Self) -> bool5473     fn eq(&self, _other: &Self) -> bool {
5474         unimplemented!()
5475     }
5476 }
5477 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5478 impl ::std::cmp::Eq for FWP_VALUE0 {}
5479 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5480 unsafe impl ::windows::runtime::Abi for FWP_VALUE0 {
5481     type Abi = Self;
5482     type DefaultType = Self;
5483 }
5484 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5485 #[repr(C)]
5486 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5487 pub union FWP_VALUE0_0 {
5488     pub uint8: u8,
5489     pub uint16: u16,
5490     pub uint32: u32,
5491     pub uint64: *mut u64,
5492     pub int8: i8,
5493     pub int16: i16,
5494     pub int32: i32,
5495     pub int64: *mut i64,
5496     pub float32: f32,
5497     pub double64: *mut f64,
5498     pub byteArray16: *mut FWP_BYTE_ARRAY16,
5499     pub byteBlob: *mut FWP_BYTE_BLOB,
5500     pub sid: *mut super::super::Security::SID,
5501     pub sd: *mut FWP_BYTE_BLOB,
5502     pub tokenInformation: *mut FWP_TOKEN_INFORMATION,
5503     pub tokenAccessInformation: *mut FWP_BYTE_BLOB,
5504     pub unicodeString: super::super::Foundation::PWSTR,
5505     pub byteArray6: *mut FWP_BYTE_ARRAY6,
5506 }
5507 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5508 impl FWP_VALUE0_0 {}
5509 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5510 impl ::std::default::Default for FWP_VALUE0_0 {
default() -> Self5511     fn default() -> Self {
5512         unsafe { ::std::mem::zeroed() }
5513     }
5514 }
5515 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5516 impl ::std::cmp::PartialEq for FWP_VALUE0_0 {
eq(&self, _other: &Self) -> bool5517     fn eq(&self, _other: &Self) -> bool {
5518         unimplemented!()
5519     }
5520 }
5521 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5522 impl ::std::cmp::Eq for FWP_VALUE0_0 {}
5523 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5524 unsafe impl ::windows::runtime::Abi for FWP_VALUE0_0 {
5525     type Abi = Self;
5526     type DefaultType = Self;
5527 }
5528 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5529 #[repr(transparent)]
5530 pub struct FWP_VSWITCH_NETWORK_TYPE(pub i32);
5531 pub const FWP_VSWITCH_NETWORK_TYPE_UNKNOWN: FWP_VSWITCH_NETWORK_TYPE = FWP_VSWITCH_NETWORK_TYPE(0i32);
5532 pub const FWP_VSWITCH_NETWORK_TYPE_PRIVATE: FWP_VSWITCH_NETWORK_TYPE = FWP_VSWITCH_NETWORK_TYPE(1i32);
5533 pub const FWP_VSWITCH_NETWORK_TYPE_INTERNAL: FWP_VSWITCH_NETWORK_TYPE = FWP_VSWITCH_NETWORK_TYPE(2i32);
5534 pub const FWP_VSWITCH_NETWORK_TYPE_EXTERNAL: FWP_VSWITCH_NETWORK_TYPE = FWP_VSWITCH_NETWORK_TYPE(3i32);
5535 impl ::std::convert::From<i32> for FWP_VSWITCH_NETWORK_TYPE {
from(value: i32) -> Self5536     fn from(value: i32) -> Self {
5537         Self(value)
5538     }
5539 }
5540 unsafe impl ::windows::runtime::Abi for FWP_VSWITCH_NETWORK_TYPE {
5541     type Abi = Self;
5542     type DefaultType = Self;
5543 }
5544 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5545 #[inline]
FwpmCalloutAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, callout: *const FWPM_CALLOUT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u32) -> u325546 pub unsafe fn FwpmCalloutAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, callout: *const FWPM_CALLOUT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u32) -> u32 {
5547     #[cfg(windows)]
5548     {
5549         #[link(name = "windows")]
5550         extern "system" {
5551             fn FwpmCalloutAdd0(enginehandle: super::super::Foundation::HANDLE, callout: *const FWPM_CALLOUT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u32) -> u32;
5552         }
5553         ::std::mem::transmute(FwpmCalloutAdd0(enginehandle.into_param().abi(), ::std::mem::transmute(callout), ::std::mem::transmute(sd), ::std::mem::transmute(id)))
5554     }
5555     #[cfg(not(windows))]
5556     unimplemented!("Unsupported target OS");
5557 }
5558 #[cfg(feature = "Win32_Foundation")]
5559 #[inline]
FwpmCalloutCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_CALLOUT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u325560 pub unsafe fn FwpmCalloutCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_CALLOUT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
5561     #[cfg(windows)]
5562     {
5563         #[link(name = "windows")]
5564         extern "system" {
5565             fn FwpmCalloutCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_CALLOUT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
5566         }
5567         ::std::mem::transmute(FwpmCalloutCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
5568     }
5569     #[cfg(not(windows))]
5570     unimplemented!("Unsupported target OS");
5571 }
5572 #[cfg(feature = "Win32_Foundation")]
5573 #[inline]
FwpmCalloutDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u32) -> u325574 pub unsafe fn FwpmCalloutDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u32) -> u32 {
5575     #[cfg(windows)]
5576     {
5577         #[link(name = "windows")]
5578         extern "system" {
5579             fn FwpmCalloutDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u32) -> u32;
5580         }
5581         ::std::mem::transmute(FwpmCalloutDeleteById0(enginehandle.into_param().abi(), ::std::mem::transmute(id)))
5582     }
5583     #[cfg(not(windows))]
5584     unimplemented!("Unsupported target OS");
5585 }
5586 #[cfg(feature = "Win32_Foundation")]
5587 #[inline]
FwpmCalloutDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u325588 pub unsafe fn FwpmCalloutDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u32 {
5589     #[cfg(windows)]
5590     {
5591         #[link(name = "windows")]
5592         extern "system" {
5593             fn FwpmCalloutDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID) -> u32;
5594         }
5595         ::std::mem::transmute(FwpmCalloutDeleteByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key)))
5596     }
5597     #[cfg(not(windows))]
5598     unimplemented!("Unsupported target OS");
5599 }
5600 #[cfg(feature = "Win32_Foundation")]
5601 #[inline]
FwpmCalloutDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u325602 pub unsafe fn FwpmCalloutDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
5603     #[cfg(windows)]
5604     {
5605         #[link(name = "windows")]
5606         extern "system" {
5607             fn FwpmCalloutDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
5608         }
5609         ::std::mem::transmute(FwpmCalloutDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
5610     }
5611     #[cfg(not(windows))]
5612     unimplemented!("Unsupported target OS");
5613 }
5614 #[cfg(feature = "Win32_Foundation")]
5615 #[inline]
FwpmCalloutEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CALLOUT0, numentriesreturned: *mut u32) -> u325616 pub unsafe fn FwpmCalloutEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CALLOUT0, numentriesreturned: *mut u32) -> u32 {
5617     #[cfg(windows)]
5618     {
5619         #[link(name = "windows")]
5620         extern "system" {
5621             fn FwpmCalloutEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CALLOUT0, numentriesreturned: *mut u32) -> u32;
5622         }
5623         ::std::mem::transmute(FwpmCalloutEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
5624     }
5625     #[cfg(not(windows))]
5626     unimplemented!("Unsupported target OS");
5627 }
5628 #[cfg(feature = "Win32_Foundation")]
5629 #[inline]
FwpmCalloutGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u32, callout: *mut *mut FWPM_CALLOUT0) -> u325630 pub unsafe fn FwpmCalloutGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u32, callout: *mut *mut FWPM_CALLOUT0) -> u32 {
5631     #[cfg(windows)]
5632     {
5633         #[link(name = "windows")]
5634         extern "system" {
5635             fn FwpmCalloutGetById0(enginehandle: super::super::Foundation::HANDLE, id: u32, callout: *mut *mut FWPM_CALLOUT0) -> u32;
5636         }
5637         ::std::mem::transmute(FwpmCalloutGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(callout)))
5638     }
5639     #[cfg(not(windows))]
5640     unimplemented!("Unsupported target OS");
5641 }
5642 #[cfg(feature = "Win32_Foundation")]
5643 #[inline]
FwpmCalloutGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, callout: *mut *mut FWPM_CALLOUT0) -> u325644 pub unsafe fn FwpmCalloutGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, callout: *mut *mut FWPM_CALLOUT0) -> u32 {
5645     #[cfg(windows)]
5646     {
5647         #[link(name = "windows")]
5648         extern "system" {
5649             fn FwpmCalloutGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, callout: *mut *mut FWPM_CALLOUT0) -> u32;
5650         }
5651         ::std::mem::transmute(FwpmCalloutGetByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(callout)))
5652     }
5653     #[cfg(not(windows))]
5654     unimplemented!("Unsupported target OS");
5655 }
5656 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5657 #[inline]
FwpmCalloutGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u325658 pub unsafe fn FwpmCalloutGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
5659     #[cfg(windows)]
5660     {
5661         #[link(name = "windows")]
5662         extern "system" {
5663             fn FwpmCalloutGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
5664         }
5665         ::std::mem::transmute(FwpmCalloutGetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
5666     }
5667     #[cfg(not(windows))]
5668     unimplemented!("Unsupported target OS");
5669 }
5670 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5671 #[inline]
FwpmCalloutSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u325672 pub unsafe fn FwpmCalloutSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
5673     #[cfg(windows)]
5674     {
5675         #[link(name = "windows")]
5676         extern "system" {
5677             fn FwpmCalloutSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
5678         }
5679         ::std::mem::transmute(FwpmCalloutSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
5680     }
5681     #[cfg(not(windows))]
5682     unimplemented!("Unsupported target OS");
5683 }
5684 #[cfg(feature = "Win32_Foundation")]
5685 #[inline]
FwpmCalloutSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_CALLOUT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_CALLOUT_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u325686 pub unsafe fn FwpmCalloutSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_CALLOUT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_CALLOUT_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32 {
5687     #[cfg(windows)]
5688     {
5689         #[link(name = "windows")]
5690         extern "system" {
5691             fn FwpmCalloutSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_CALLOUT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
5692         }
5693         ::std::mem::transmute(FwpmCalloutSubscribeChanges0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(changehandle)))
5694     }
5695     #[cfg(not(windows))]
5696     unimplemented!("Unsupported target OS");
5697 }
5698 #[cfg(feature = "Win32_Foundation")]
5699 #[inline]
FwpmCalloutSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_CALLOUT_SUBSCRIPTION0, numentries: *mut u32) -> u325700 pub unsafe fn FwpmCalloutSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_CALLOUT_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
5701     #[cfg(windows)]
5702     {
5703         #[link(name = "windows")]
5704         extern "system" {
5705             fn FwpmCalloutSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_CALLOUT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
5706         }
5707         ::std::mem::transmute(FwpmCalloutSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
5708     }
5709     #[cfg(not(windows))]
5710     unimplemented!("Unsupported target OS");
5711 }
5712 #[cfg(feature = "Win32_Foundation")]
5713 #[inline]
FwpmCalloutUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u325714 pub unsafe fn FwpmCalloutUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u32 {
5715     #[cfg(windows)]
5716     {
5717         #[link(name = "windows")]
5718         extern "system" {
5719             fn FwpmCalloutUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
5720         }
5721         ::std::mem::transmute(FwpmCalloutUnsubscribeChanges0(enginehandle.into_param().abi(), changehandle.into_param().abi()))
5722     }
5723     #[cfg(not(windows))]
5724     unimplemented!("Unsupported target OS");
5725 }
5726 #[cfg(feature = "Win32_Foundation")]
5727 #[inline]
FwpmConnectionCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_CONNECTION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u325728 pub unsafe fn FwpmConnectionCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_CONNECTION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
5729     #[cfg(windows)]
5730     {
5731         #[link(name = "windows")]
5732         extern "system" {
5733             fn FwpmConnectionCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_CONNECTION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
5734         }
5735         ::std::mem::transmute(FwpmConnectionCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
5736     }
5737     #[cfg(not(windows))]
5738     unimplemented!("Unsupported target OS");
5739 }
5740 #[cfg(feature = "Win32_Foundation")]
5741 #[inline]
FwpmConnectionDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u325742 pub unsafe fn FwpmConnectionDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
5743     #[cfg(windows)]
5744     {
5745         #[link(name = "windows")]
5746         extern "system" {
5747             fn FwpmConnectionDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
5748         }
5749         ::std::mem::transmute(FwpmConnectionDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
5750     }
5751     #[cfg(not(windows))]
5752     unimplemented!("Unsupported target OS");
5753 }
5754 #[cfg(feature = "Win32_Foundation")]
5755 #[inline]
FwpmConnectionEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CONNECTION0, numentriesreturned: *mut u32) -> u325756 pub unsafe fn FwpmConnectionEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CONNECTION0, numentriesreturned: *mut u32) -> u32 {
5757     #[cfg(windows)]
5758     {
5759         #[link(name = "windows")]
5760         extern "system" {
5761             fn FwpmConnectionEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CONNECTION0, numentriesreturned: *mut u32) -> u32;
5762         }
5763         ::std::mem::transmute(FwpmConnectionEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
5764     }
5765     #[cfg(not(windows))]
5766     unimplemented!("Unsupported target OS");
5767 }
5768 #[cfg(feature = "Win32_Foundation")]
5769 #[inline]
FwpmConnectionGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, connection: *mut *mut FWPM_CONNECTION0) -> u325770 pub unsafe fn FwpmConnectionGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, connection: *mut *mut FWPM_CONNECTION0) -> u32 {
5771     #[cfg(windows)]
5772     {
5773         #[link(name = "windows")]
5774         extern "system" {
5775             fn FwpmConnectionGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, connection: *mut *mut FWPM_CONNECTION0) -> u32;
5776         }
5777         ::std::mem::transmute(FwpmConnectionGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(connection)))
5778     }
5779     #[cfg(not(windows))]
5780     unimplemented!("Unsupported target OS");
5781 }
5782 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5783 #[inline]
FwpmConnectionGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u325784 pub unsafe fn FwpmConnectionGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
5785     #[cfg(windows)]
5786     {
5787         #[link(name = "windows")]
5788         extern "system" {
5789             fn FwpmConnectionGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
5790         }
5791         ::std::mem::transmute(FwpmConnectionGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
5792     }
5793     #[cfg(not(windows))]
5794     unimplemented!("Unsupported target OS");
5795 }
5796 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5797 #[inline]
FwpmConnectionSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u325798 pub unsafe fn FwpmConnectionSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
5799     #[cfg(windows)]
5800     {
5801         #[link(name = "windows")]
5802         extern "system" {
5803             fn FwpmConnectionSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
5804         }
5805         ::std::mem::transmute(FwpmConnectionSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
5806     }
5807     #[cfg(not(windows))]
5808     unimplemented!("Unsupported target OS");
5809 }
5810 #[cfg(feature = "Win32_Foundation")]
5811 #[inline]
FwpmConnectionSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_CONNECTION_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_CONNECTION_CALLBACK0>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u325812 pub unsafe fn FwpmConnectionSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_CONNECTION_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_CONNECTION_CALLBACK0>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
5813     #[cfg(windows)]
5814     {
5815         #[link(name = "windows")]
5816         extern "system" {
5817             fn FwpmConnectionSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_CONNECTION_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
5818         }
5819         ::std::mem::transmute(FwpmConnectionSubscribe0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
5820     }
5821     #[cfg(not(windows))]
5822     unimplemented!("Unsupported target OS");
5823 }
5824 #[cfg(feature = "Win32_Foundation")]
5825 #[inline]
FwpmConnectionUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, eventshandle: Param1) -> u325826 pub unsafe fn FwpmConnectionUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, eventshandle: Param1) -> u32 {
5827     #[cfg(windows)]
5828     {
5829         #[link(name = "windows")]
5830         extern "system" {
5831             fn FwpmConnectionUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32;
5832         }
5833         ::std::mem::transmute(FwpmConnectionUnsubscribe0(enginehandle.into_param().abi(), eventshandle.into_param().abi()))
5834     }
5835     #[cfg(not(windows))]
5836     unimplemented!("Unsupported target OS");
5837 }
5838 #[cfg(feature = "Win32_Foundation")]
5839 #[inline]
FwpmDynamicKeywordSubscribe0(flags: u32, callback: ::std::option::Option<FWPM_DYNAMIC_KEYWORD_CALLBACK0>, context: *const ::std::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u325840 pub unsafe fn FwpmDynamicKeywordSubscribe0(flags: u32, callback: ::std::option::Option<FWPM_DYNAMIC_KEYWORD_CALLBACK0>, context: *const ::std::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32 {
5841     #[cfg(windows)]
5842     {
5843         #[link(name = "windows")]
5844         extern "system" {
5845             fn FwpmDynamicKeywordSubscribe0(flags: u32, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32;
5846         }
5847         ::std::mem::transmute(FwpmDynamicKeywordSubscribe0(::std::mem::transmute(flags), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(subscriptionhandle)))
5848     }
5849     #[cfg(not(windows))]
5850     unimplemented!("Unsupported target OS");
5851 }
5852 #[cfg(feature = "Win32_Foundation")]
5853 #[inline]
FwpmDynamicKeywordUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(subscriptionhandle: Param0) -> u325854 pub unsafe fn FwpmDynamicKeywordUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(subscriptionhandle: Param0) -> u32 {
5855     #[cfg(windows)]
5856     {
5857         #[link(name = "windows")]
5858         extern "system" {
5859             fn FwpmDynamicKeywordUnsubscribe0(subscriptionhandle: super::super::Foundation::HANDLE) -> u32;
5860         }
5861         ::std::mem::transmute(FwpmDynamicKeywordUnsubscribe0(subscriptionhandle.into_param().abi()))
5862     }
5863     #[cfg(not(windows))]
5864     unimplemented!("Unsupported target OS");
5865 }
5866 #[cfg(feature = "Win32_Foundation")]
5867 #[inline]
FwpmEngineClose0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0) -> u325868 pub unsafe fn FwpmEngineClose0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0) -> u32 {
5869     #[cfg(windows)]
5870     {
5871         #[link(name = "windows")]
5872         extern "system" {
5873             fn FwpmEngineClose0(enginehandle: super::super::Foundation::HANDLE) -> u32;
5874         }
5875         ::std::mem::transmute(FwpmEngineClose0(enginehandle.into_param().abi()))
5876     }
5877     #[cfg(not(windows))]
5878     unimplemented!("Unsupported target OS");
5879 }
5880 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5881 #[inline]
FwpmEngineGetOption0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, option: FWPM_ENGINE_OPTION, value: *mut *mut FWP_VALUE0) -> u325882 pub unsafe fn FwpmEngineGetOption0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, option: FWPM_ENGINE_OPTION, value: *mut *mut FWP_VALUE0) -> u32 {
5883     #[cfg(windows)]
5884     {
5885         #[link(name = "windows")]
5886         extern "system" {
5887             fn FwpmEngineGetOption0(enginehandle: super::super::Foundation::HANDLE, option: FWPM_ENGINE_OPTION, value: *mut *mut FWP_VALUE0) -> u32;
5888         }
5889         ::std::mem::transmute(FwpmEngineGetOption0(enginehandle.into_param().abi(), ::std::mem::transmute(option), ::std::mem::transmute(value)))
5890     }
5891     #[cfg(not(windows))]
5892     unimplemented!("Unsupported target OS");
5893 }
5894 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5895 #[inline]
FwpmEngineGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u325896 pub unsafe fn FwpmEngineGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
5897     #[cfg(windows)]
5898     {
5899         #[link(name = "windows")]
5900         extern "system" {
5901             fn FwpmEngineGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
5902         }
5903         ::std::mem::transmute(FwpmEngineGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
5904     }
5905     #[cfg(not(windows))]
5906     unimplemented!("Unsupported target OS");
5907 }
5908 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security", feature = "Win32_System_Rpc"))]
5909 #[inline]
FwpmEngineOpen0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(servername: Param0, authnservice: u32, authidentity: *const super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_W, session: *const FWPM_SESSION0, enginehandle: *mut super::super::Foundation::HANDLE) -> u325910 pub unsafe fn FwpmEngineOpen0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(servername: Param0, authnservice: u32, authidentity: *const super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_W, session: *const FWPM_SESSION0, enginehandle: *mut super::super::Foundation::HANDLE) -> u32 {
5911     #[cfg(windows)]
5912     {
5913         #[link(name = "windows")]
5914         extern "system" {
5915             fn FwpmEngineOpen0(servername: super::super::Foundation::PWSTR, authnservice: u32, authidentity: *const super::super::System::Rpc::SEC_WINNT_AUTH_IDENTITY_W, session: *const FWPM_SESSION0, enginehandle: *mut super::super::Foundation::HANDLE) -> u32;
5916         }
5917         ::std::mem::transmute(FwpmEngineOpen0(servername.into_param().abi(), ::std::mem::transmute(authnservice), ::std::mem::transmute(authidentity), ::std::mem::transmute(session), ::std::mem::transmute(enginehandle)))
5918     }
5919     #[cfg(not(windows))]
5920     unimplemented!("Unsupported target OS");
5921 }
5922 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5923 #[inline]
FwpmEngineSetOption0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, option: FWPM_ENGINE_OPTION, newvalue: *const FWP_VALUE0) -> u325924 pub unsafe fn FwpmEngineSetOption0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, option: FWPM_ENGINE_OPTION, newvalue: *const FWP_VALUE0) -> u32 {
5925     #[cfg(windows)]
5926     {
5927         #[link(name = "windows")]
5928         extern "system" {
5929             fn FwpmEngineSetOption0(enginehandle: super::super::Foundation::HANDLE, option: FWPM_ENGINE_OPTION, newvalue: *const FWP_VALUE0) -> u32;
5930         }
5931         ::std::mem::transmute(FwpmEngineSetOption0(enginehandle.into_param().abi(), ::std::mem::transmute(option), ::std::mem::transmute(newvalue)))
5932     }
5933     #[cfg(not(windows))]
5934     unimplemented!("Unsupported target OS");
5935 }
5936 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5937 #[inline]
FwpmEngineSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u325938 pub unsafe fn FwpmEngineSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
5939     #[cfg(windows)]
5940     {
5941         #[link(name = "windows")]
5942         extern "system" {
5943             fn FwpmEngineSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
5944         }
5945         ::std::mem::transmute(FwpmEngineSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
5946     }
5947     #[cfg(not(windows))]
5948     unimplemented!("Unsupported target OS");
5949 }
5950 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5951 #[inline]
FwpmFilterAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, filter: *const FWPM_FILTER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u325952 pub unsafe fn FwpmFilterAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, filter: *const FWPM_FILTER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32 {
5953     #[cfg(windows)]
5954     {
5955         #[link(name = "windows")]
5956         extern "system" {
5957             fn FwpmFilterAdd0(enginehandle: super::super::Foundation::HANDLE, filter: *const FWPM_FILTER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
5958         }
5959         ::std::mem::transmute(FwpmFilterAdd0(enginehandle.into_param().abi(), ::std::mem::transmute(filter), ::std::mem::transmute(sd), ::std::mem::transmute(id)))
5960     }
5961     #[cfg(not(windows))]
5962     unimplemented!("Unsupported target OS");
5963 }
5964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5965 #[inline]
FwpmFilterCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_FILTER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u325966 pub unsafe fn FwpmFilterCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_FILTER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
5967     #[cfg(windows)]
5968     {
5969         #[link(name = "windows")]
5970         extern "system" {
5971             fn FwpmFilterCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_FILTER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
5972         }
5973         ::std::mem::transmute(FwpmFilterCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
5974     }
5975     #[cfg(not(windows))]
5976     unimplemented!("Unsupported target OS");
5977 }
5978 #[cfg(feature = "Win32_Foundation")]
5979 #[inline]
FwpmFilterDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u325980 pub unsafe fn FwpmFilterDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u32 {
5981     #[cfg(windows)]
5982     {
5983         #[link(name = "windows")]
5984         extern "system" {
5985             fn FwpmFilterDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
5986         }
5987         ::std::mem::transmute(FwpmFilterDeleteById0(enginehandle.into_param().abi(), ::std::mem::transmute(id)))
5988     }
5989     #[cfg(not(windows))]
5990     unimplemented!("Unsupported target OS");
5991 }
5992 #[cfg(feature = "Win32_Foundation")]
5993 #[inline]
FwpmFilterDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u325994 pub unsafe fn FwpmFilterDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u32 {
5995     #[cfg(windows)]
5996     {
5997         #[link(name = "windows")]
5998         extern "system" {
5999             fn FwpmFilterDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID) -> u32;
6000         }
6001         ::std::mem::transmute(FwpmFilterDeleteByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key)))
6002     }
6003     #[cfg(not(windows))]
6004     unimplemented!("Unsupported target OS");
6005 }
6006 #[cfg(feature = "Win32_Foundation")]
6007 #[inline]
FwpmFilterDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u326008 pub unsafe fn FwpmFilterDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
6009     #[cfg(windows)]
6010     {
6011         #[link(name = "windows")]
6012         extern "system" {
6013             fn FwpmFilterDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
6014         }
6015         ::std::mem::transmute(FwpmFilterDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
6016     }
6017     #[cfg(not(windows))]
6018     unimplemented!("Unsupported target OS");
6019 }
6020 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6021 #[inline]
FwpmFilterEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_FILTER0, numentriesreturned: *mut u32) -> u326022 pub unsafe fn FwpmFilterEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_FILTER0, numentriesreturned: *mut u32) -> u32 {
6023     #[cfg(windows)]
6024     {
6025         #[link(name = "windows")]
6026         extern "system" {
6027             fn FwpmFilterEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_FILTER0, numentriesreturned: *mut u32) -> u32;
6028         }
6029         ::std::mem::transmute(FwpmFilterEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6030     }
6031     #[cfg(not(windows))]
6032     unimplemented!("Unsupported target OS");
6033 }
6034 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6035 #[inline]
FwpmFilterGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, filter: *mut *mut FWPM_FILTER0) -> u326036 pub unsafe fn FwpmFilterGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, filter: *mut *mut FWPM_FILTER0) -> u32 {
6037     #[cfg(windows)]
6038     {
6039         #[link(name = "windows")]
6040         extern "system" {
6041             fn FwpmFilterGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, filter: *mut *mut FWPM_FILTER0) -> u32;
6042         }
6043         ::std::mem::transmute(FwpmFilterGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(filter)))
6044     }
6045     #[cfg(not(windows))]
6046     unimplemented!("Unsupported target OS");
6047 }
6048 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6049 #[inline]
FwpmFilterGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, filter: *mut *mut FWPM_FILTER0) -> u326050 pub unsafe fn FwpmFilterGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, filter: *mut *mut FWPM_FILTER0) -> u32 {
6051     #[cfg(windows)]
6052     {
6053         #[link(name = "windows")]
6054         extern "system" {
6055             fn FwpmFilterGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, filter: *mut *mut FWPM_FILTER0) -> u32;
6056         }
6057         ::std::mem::transmute(FwpmFilterGetByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(filter)))
6058     }
6059     #[cfg(not(windows))]
6060     unimplemented!("Unsupported target OS");
6061 }
6062 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6063 #[inline]
FwpmFilterGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u326064 pub unsafe fn FwpmFilterGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6065     #[cfg(windows)]
6066     {
6067         #[link(name = "windows")]
6068         extern "system" {
6069             fn FwpmFilterGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6070         }
6071         ::std::mem::transmute(FwpmFilterGetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
6072     }
6073     #[cfg(not(windows))]
6074     unimplemented!("Unsupported target OS");
6075 }
6076 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6077 #[inline]
FwpmFilterSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u326078 pub unsafe fn FwpmFilterSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
6079     #[cfg(windows)]
6080     {
6081         #[link(name = "windows")]
6082         extern "system" {
6083             fn FwpmFilterSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
6084         }
6085         ::std::mem::transmute(FwpmFilterSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
6086     }
6087     #[cfg(not(windows))]
6088     unimplemented!("Unsupported target OS");
6089 }
6090 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6091 #[inline]
FwpmFilterSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_FILTER_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_FILTER_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u326092 pub unsafe fn FwpmFilterSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_FILTER_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_FILTER_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32 {
6093     #[cfg(windows)]
6094     {
6095         #[link(name = "windows")]
6096         extern "system" {
6097             fn FwpmFilterSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_FILTER_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
6098         }
6099         ::std::mem::transmute(FwpmFilterSubscribeChanges0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(changehandle)))
6100     }
6101     #[cfg(not(windows))]
6102     unimplemented!("Unsupported target OS");
6103 }
6104 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6105 #[inline]
FwpmFilterSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_FILTER_SUBSCRIPTION0, numentries: *mut u32) -> u326106 pub unsafe fn FwpmFilterSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_FILTER_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
6107     #[cfg(windows)]
6108     {
6109         #[link(name = "windows")]
6110         extern "system" {
6111             fn FwpmFilterSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_FILTER_SUBSCRIPTION0, numentries: *mut u32) -> u32;
6112         }
6113         ::std::mem::transmute(FwpmFilterSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
6114     }
6115     #[cfg(not(windows))]
6116     unimplemented!("Unsupported target OS");
6117 }
6118 #[cfg(feature = "Win32_Foundation")]
6119 #[inline]
FwpmFilterUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u326120 pub unsafe fn FwpmFilterUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u32 {
6121     #[cfg(windows)]
6122     {
6123         #[link(name = "windows")]
6124         extern "system" {
6125             fn FwpmFilterUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
6126         }
6127         ::std::mem::transmute(FwpmFilterUnsubscribeChanges0(enginehandle.into_param().abi(), changehandle.into_param().abi()))
6128     }
6129     #[cfg(not(windows))]
6130     unimplemented!("Unsupported target OS");
6131 }
6132 #[inline]
FwpmFreeMemory0(p: *mut *mut ::std::ffi::c_void)6133 pub unsafe fn FwpmFreeMemory0(p: *mut *mut ::std::ffi::c_void) {
6134     #[cfg(windows)]
6135     {
6136         #[link(name = "windows")]
6137         extern "system" {
6138             fn FwpmFreeMemory0(p: *mut *mut ::std::ffi::c_void);
6139         }
6140         ::std::mem::transmute(FwpmFreeMemory0(::std::mem::transmute(p)))
6141     }
6142     #[cfg(not(windows))]
6143     unimplemented!("Unsupported target OS");
6144 }
6145 #[cfg(feature = "Win32_Foundation")]
6146 #[inline]
FwpmGetAppIdFromFileName0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(filename: Param0, appid: *mut *mut FWP_BYTE_BLOB) -> u326147 pub unsafe fn FwpmGetAppIdFromFileName0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(filename: Param0, appid: *mut *mut FWP_BYTE_BLOB) -> u32 {
6148     #[cfg(windows)]
6149     {
6150         #[link(name = "windows")]
6151         extern "system" {
6152             fn FwpmGetAppIdFromFileName0(filename: super::super::Foundation::PWSTR, appid: *mut *mut FWP_BYTE_BLOB) -> u32;
6153         }
6154         ::std::mem::transmute(FwpmGetAppIdFromFileName0(filename.into_param().abi(), ::std::mem::transmute(appid)))
6155     }
6156     #[cfg(not(windows))]
6157     unimplemented!("Unsupported target OS");
6158 }
6159 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6160 #[inline]
FwpmIPsecTunnelAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT0, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT0, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u326161 pub unsafe fn FwpmIPsecTunnelAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT0, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT0, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6162     #[cfg(windows)]
6163     {
6164         #[link(name = "windows")]
6165         extern "system" {
6166             fn FwpmIPsecTunnelAdd0(enginehandle: super::super::Foundation::HANDLE, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT0, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT0, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6167         }
6168         ::std::mem::transmute(FwpmIPsecTunnelAdd0(enginehandle.into_param().abi(), ::std::mem::transmute(flags), ::std::mem::transmute(mainmodepolicy), ::std::mem::transmute(tunnelpolicy), ::std::mem::transmute(numfilterconditions), ::std::mem::transmute(filterconditions), ::std::mem::transmute(sd)))
6169     }
6170     #[cfg(not(windows))]
6171     unimplemented!("Unsupported target OS");
6172 }
6173 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6174 #[inline]
FwpmIPsecTunnelAdd1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT1, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT1, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u326175 pub unsafe fn FwpmIPsecTunnelAdd1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT1, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT1, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6176     #[cfg(windows)]
6177     {
6178         #[link(name = "windows")]
6179         extern "system" {
6180             fn FwpmIPsecTunnelAdd1(enginehandle: super::super::Foundation::HANDLE, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT1, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT1, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6181         }
6182         ::std::mem::transmute(FwpmIPsecTunnelAdd1(
6183             enginehandle.into_param().abi(),
6184             ::std::mem::transmute(flags),
6185             ::std::mem::transmute(mainmodepolicy),
6186             ::std::mem::transmute(tunnelpolicy),
6187             ::std::mem::transmute(numfilterconditions),
6188             ::std::mem::transmute(filterconditions),
6189             ::std::mem::transmute(keymodkey),
6190             ::std::mem::transmute(sd),
6191         ))
6192     }
6193     #[cfg(not(windows))]
6194     unimplemented!("Unsupported target OS");
6195 }
6196 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6197 #[inline]
FwpmIPsecTunnelAdd2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT2, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT2, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u326198 pub unsafe fn FwpmIPsecTunnelAdd2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT2, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT2, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6199     #[cfg(windows)]
6200     {
6201         #[link(name = "windows")]
6202         extern "system" {
6203             fn FwpmIPsecTunnelAdd2(enginehandle: super::super::Foundation::HANDLE, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT2, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT2, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6204         }
6205         ::std::mem::transmute(FwpmIPsecTunnelAdd2(
6206             enginehandle.into_param().abi(),
6207             ::std::mem::transmute(flags),
6208             ::std::mem::transmute(mainmodepolicy),
6209             ::std::mem::transmute(tunnelpolicy),
6210             ::std::mem::transmute(numfilterconditions),
6211             ::std::mem::transmute(filterconditions),
6212             ::std::mem::transmute(keymodkey),
6213             ::std::mem::transmute(sd),
6214         ))
6215     }
6216     #[cfg(not(windows))]
6217     unimplemented!("Unsupported target OS");
6218 }
6219 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6220 #[inline]
FwpmIPsecTunnelAdd3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT3_, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT3_, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u326221 pub unsafe fn FwpmIPsecTunnelAdd3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT3_, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT3_, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6222     #[cfg(windows)]
6223     {
6224         #[link(name = "windows")]
6225         extern "system" {
6226             fn FwpmIPsecTunnelAdd3(enginehandle: super::super::Foundation::HANDLE, flags: u32, mainmodepolicy: *const FWPM_PROVIDER_CONTEXT3_, tunnelpolicy: *const FWPM_PROVIDER_CONTEXT3_, numfilterconditions: u32, filterconditions: *const FWPM_FILTER_CONDITION0, keymodkey: *const ::windows::runtime::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6227         }
6228         ::std::mem::transmute(FwpmIPsecTunnelAdd3(
6229             enginehandle.into_param().abi(),
6230             ::std::mem::transmute(flags),
6231             ::std::mem::transmute(mainmodepolicy),
6232             ::std::mem::transmute(tunnelpolicy),
6233             ::std::mem::transmute(numfilterconditions),
6234             ::std::mem::transmute(filterconditions),
6235             ::std::mem::transmute(keymodkey),
6236             ::std::mem::transmute(sd),
6237         ))
6238     }
6239     #[cfg(not(windows))]
6240     unimplemented!("Unsupported target OS");
6241 }
6242 #[cfg(feature = "Win32_Foundation")]
6243 #[inline]
FwpmIPsecTunnelDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u326244 pub unsafe fn FwpmIPsecTunnelDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u32 {
6245     #[cfg(windows)]
6246     {
6247         #[link(name = "windows")]
6248         extern "system" {
6249             fn FwpmIPsecTunnelDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID) -> u32;
6250         }
6251         ::std::mem::transmute(FwpmIPsecTunnelDeleteByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key)))
6252     }
6253     #[cfg(not(windows))]
6254     unimplemented!("Unsupported target OS");
6255 }
6256 #[cfg(feature = "Win32_Foundation")]
6257 #[inline]
FwpmLayerCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_LAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u326258 pub unsafe fn FwpmLayerCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_LAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
6259     #[cfg(windows)]
6260     {
6261         #[link(name = "windows")]
6262         extern "system" {
6263             fn FwpmLayerCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_LAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
6264         }
6265         ::std::mem::transmute(FwpmLayerCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
6266     }
6267     #[cfg(not(windows))]
6268     unimplemented!("Unsupported target OS");
6269 }
6270 #[cfg(feature = "Win32_Foundation")]
6271 #[inline]
FwpmLayerDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u326272 pub unsafe fn FwpmLayerDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
6273     #[cfg(windows)]
6274     {
6275         #[link(name = "windows")]
6276         extern "system" {
6277             fn FwpmLayerDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
6278         }
6279         ::std::mem::transmute(FwpmLayerDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
6280     }
6281     #[cfg(not(windows))]
6282     unimplemented!("Unsupported target OS");
6283 }
6284 #[cfg(feature = "Win32_Foundation")]
6285 #[inline]
FwpmLayerEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_LAYER0, numentriesreturned: *mut u32) -> u326286 pub unsafe fn FwpmLayerEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_LAYER0, numentriesreturned: *mut u32) -> u32 {
6287     #[cfg(windows)]
6288     {
6289         #[link(name = "windows")]
6290         extern "system" {
6291             fn FwpmLayerEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_LAYER0, numentriesreturned: *mut u32) -> u32;
6292         }
6293         ::std::mem::transmute(FwpmLayerEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6294     }
6295     #[cfg(not(windows))]
6296     unimplemented!("Unsupported target OS");
6297 }
6298 #[cfg(feature = "Win32_Foundation")]
6299 #[inline]
FwpmLayerGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u16, layer: *mut *mut FWPM_LAYER0) -> u326300 pub unsafe fn FwpmLayerGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u16, layer: *mut *mut FWPM_LAYER0) -> u32 {
6301     #[cfg(windows)]
6302     {
6303         #[link(name = "windows")]
6304         extern "system" {
6305             fn FwpmLayerGetById0(enginehandle: super::super::Foundation::HANDLE, id: u16, layer: *mut *mut FWPM_LAYER0) -> u32;
6306         }
6307         ::std::mem::transmute(FwpmLayerGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(layer)))
6308     }
6309     #[cfg(not(windows))]
6310     unimplemented!("Unsupported target OS");
6311 }
6312 #[cfg(feature = "Win32_Foundation")]
6313 #[inline]
FwpmLayerGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, layer: *mut *mut FWPM_LAYER0) -> u326314 pub unsafe fn FwpmLayerGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, layer: *mut *mut FWPM_LAYER0) -> u32 {
6315     #[cfg(windows)]
6316     {
6317         #[link(name = "windows")]
6318         extern "system" {
6319             fn FwpmLayerGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, layer: *mut *mut FWPM_LAYER0) -> u32;
6320         }
6321         ::std::mem::transmute(FwpmLayerGetByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(layer)))
6322     }
6323     #[cfg(not(windows))]
6324     unimplemented!("Unsupported target OS");
6325 }
6326 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6327 #[inline]
FwpmLayerGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u326328 pub unsafe fn FwpmLayerGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6329     #[cfg(windows)]
6330     {
6331         #[link(name = "windows")]
6332         extern "system" {
6333             fn FwpmLayerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6334         }
6335         ::std::mem::transmute(FwpmLayerGetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
6336     }
6337     #[cfg(not(windows))]
6338     unimplemented!("Unsupported target OS");
6339 }
6340 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6341 #[inline]
FwpmLayerSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u326342 pub unsafe fn FwpmLayerSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
6343     #[cfg(windows)]
6344     {
6345         #[link(name = "windows")]
6346         extern "system" {
6347             fn FwpmLayerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
6348         }
6349         ::std::mem::transmute(FwpmLayerSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
6350     }
6351     #[cfg(not(windows))]
6352     unimplemented!("Unsupported target OS");
6353 }
6354 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6355 #[inline]
FwpmNetEventCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_NET_EVENT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u326356 pub unsafe fn FwpmNetEventCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_NET_EVENT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
6357     #[cfg(windows)]
6358     {
6359         #[link(name = "windows")]
6360         extern "system" {
6361             fn FwpmNetEventCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_NET_EVENT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
6362         }
6363         ::std::mem::transmute(FwpmNetEventCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
6364     }
6365     #[cfg(not(windows))]
6366     unimplemented!("Unsupported target OS");
6367 }
6368 #[cfg(feature = "Win32_Foundation")]
6369 #[inline]
FwpmNetEventDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u326370 pub unsafe fn FwpmNetEventDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
6371     #[cfg(windows)]
6372     {
6373         #[link(name = "windows")]
6374         extern "system" {
6375             fn FwpmNetEventDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
6376         }
6377         ::std::mem::transmute(FwpmNetEventDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
6378     }
6379     #[cfg(not(windows))]
6380     unimplemented!("Unsupported target OS");
6381 }
6382 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6383 #[inline]
FwpmNetEventEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT0, numentriesreturned: *mut u32) -> u326384 pub unsafe fn FwpmNetEventEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT0, numentriesreturned: *mut u32) -> u32 {
6385     #[cfg(windows)]
6386     {
6387         #[link(name = "windows")]
6388         extern "system" {
6389             fn FwpmNetEventEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT0, numentriesreturned: *mut u32) -> u32;
6390         }
6391         ::std::mem::transmute(FwpmNetEventEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6392     }
6393     #[cfg(not(windows))]
6394     unimplemented!("Unsupported target OS");
6395 }
6396 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6397 #[inline]
FwpmNetEventEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT1, numentriesreturned: *mut u32) -> u326398 pub unsafe fn FwpmNetEventEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT1, numentriesreturned: *mut u32) -> u32 {
6399     #[cfg(windows)]
6400     {
6401         #[link(name = "windows")]
6402         extern "system" {
6403             fn FwpmNetEventEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT1, numentriesreturned: *mut u32) -> u32;
6404         }
6405         ::std::mem::transmute(FwpmNetEventEnum1(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6406     }
6407     #[cfg(not(windows))]
6408     unimplemented!("Unsupported target OS");
6409 }
6410 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6411 #[inline]
FwpmNetEventEnum2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT2, numentriesreturned: *mut u32) -> u326412 pub unsafe fn FwpmNetEventEnum2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT2, numentriesreturned: *mut u32) -> u32 {
6413     #[cfg(windows)]
6414     {
6415         #[link(name = "windows")]
6416         extern "system" {
6417             fn FwpmNetEventEnum2(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT2, numentriesreturned: *mut u32) -> u32;
6418         }
6419         ::std::mem::transmute(FwpmNetEventEnum2(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6420     }
6421     #[cfg(not(windows))]
6422     unimplemented!("Unsupported target OS");
6423 }
6424 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6425 #[inline]
FwpmNetEventEnum3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT3, numentriesreturned: *mut u32) -> u326426 pub unsafe fn FwpmNetEventEnum3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT3, numentriesreturned: *mut u32) -> u32 {
6427     #[cfg(windows)]
6428     {
6429         #[link(name = "windows")]
6430         extern "system" {
6431             fn FwpmNetEventEnum3(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT3, numentriesreturned: *mut u32) -> u32;
6432         }
6433         ::std::mem::transmute(FwpmNetEventEnum3(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6434     }
6435     #[cfg(not(windows))]
6436     unimplemented!("Unsupported target OS");
6437 }
6438 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6439 #[inline]
FwpmNetEventEnum4<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT4_, numentriesreturned: *mut u32) -> u326440 pub unsafe fn FwpmNetEventEnum4<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT4_, numentriesreturned: *mut u32) -> u32 {
6441     #[cfg(windows)]
6442     {
6443         #[link(name = "windows")]
6444         extern "system" {
6445             fn FwpmNetEventEnum4(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT4_, numentriesreturned: *mut u32) -> u32;
6446         }
6447         ::std::mem::transmute(FwpmNetEventEnum4(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6448     }
6449     #[cfg(not(windows))]
6450     unimplemented!("Unsupported target OS");
6451 }
6452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6453 #[inline]
FwpmNetEventEnum5<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT5_, numentriesreturned: *mut u32) -> u326454 pub unsafe fn FwpmNetEventEnum5<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT5_, numentriesreturned: *mut u32) -> u32 {
6455     #[cfg(windows)]
6456     {
6457         #[link(name = "windows")]
6458         extern "system" {
6459             fn FwpmNetEventEnum5(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT5_, numentriesreturned: *mut u32) -> u32;
6460         }
6461         ::std::mem::transmute(FwpmNetEventEnum5(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6462     }
6463     #[cfg(not(windows))]
6464     unimplemented!("Unsupported target OS");
6465 }
6466 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6467 #[inline]
FwpmNetEventSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK0>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u326468 pub unsafe fn FwpmNetEventSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK0>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
6469     #[cfg(windows)]
6470     {
6471         #[link(name = "windows")]
6472         extern "system" {
6473             fn FwpmNetEventSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
6474         }
6475         ::std::mem::transmute(FwpmNetEventSubscribe0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
6476     }
6477     #[cfg(not(windows))]
6478     unimplemented!("Unsupported target OS");
6479 }
6480 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6481 #[inline]
FwpmNetEventSubscribe1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK1>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u326482 pub unsafe fn FwpmNetEventSubscribe1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK1>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
6483     #[cfg(windows)]
6484     {
6485         #[link(name = "windows")]
6486         extern "system" {
6487             fn FwpmNetEventSubscribe1(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
6488         }
6489         ::std::mem::transmute(FwpmNetEventSubscribe1(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
6490     }
6491     #[cfg(not(windows))]
6492     unimplemented!("Unsupported target OS");
6493 }
6494 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6495 #[inline]
FwpmNetEventSubscribe2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK2>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u326496 pub unsafe fn FwpmNetEventSubscribe2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK2>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
6497     #[cfg(windows)]
6498     {
6499         #[link(name = "windows")]
6500         extern "system" {
6501             fn FwpmNetEventSubscribe2(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
6502         }
6503         ::std::mem::transmute(FwpmNetEventSubscribe2(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
6504     }
6505     #[cfg(not(windows))]
6506     unimplemented!("Unsupported target OS");
6507 }
6508 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6509 #[inline]
FwpmNetEventSubscribe3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK3>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u326510 pub unsafe fn FwpmNetEventSubscribe3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK3>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
6511     #[cfg(windows)]
6512     {
6513         #[link(name = "windows")]
6514         extern "system" {
6515             fn FwpmNetEventSubscribe3(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
6516         }
6517         ::std::mem::transmute(FwpmNetEventSubscribe3(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
6518     }
6519     #[cfg(not(windows))]
6520     unimplemented!("Unsupported target OS");
6521 }
6522 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6523 #[inline]
FwpmNetEventSubscribe4<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK4>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u326524 pub unsafe fn FwpmNetEventSubscribe4<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_NET_EVENT_CALLBACK4>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
6525     #[cfg(windows)]
6526     {
6527         #[link(name = "windows")]
6528         extern "system" {
6529             fn FwpmNetEventSubscribe4(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
6530         }
6531         ::std::mem::transmute(FwpmNetEventSubscribe4(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
6532     }
6533     #[cfg(not(windows))]
6534     unimplemented!("Unsupported target OS");
6535 }
6536 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6537 #[inline]
FwpmNetEventSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_NET_EVENT_SUBSCRIPTION0, numentries: *mut u32) -> u326538 pub unsafe fn FwpmNetEventSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_NET_EVENT_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
6539     #[cfg(windows)]
6540     {
6541         #[link(name = "windows")]
6542         extern "system" {
6543             fn FwpmNetEventSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_NET_EVENT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
6544         }
6545         ::std::mem::transmute(FwpmNetEventSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
6546     }
6547     #[cfg(not(windows))]
6548     unimplemented!("Unsupported target OS");
6549 }
6550 #[cfg(feature = "Win32_Foundation")]
6551 #[inline]
FwpmNetEventUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, eventshandle: Param1) -> u326552 pub unsafe fn FwpmNetEventUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, eventshandle: Param1) -> u32 {
6553     #[cfg(windows)]
6554     {
6555         #[link(name = "windows")]
6556         extern "system" {
6557             fn FwpmNetEventUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32;
6558         }
6559         ::std::mem::transmute(FwpmNetEventUnsubscribe0(enginehandle.into_param().abi(), eventshandle.into_param().abi()))
6560     }
6561     #[cfg(not(windows))]
6562     unimplemented!("Unsupported target OS");
6563 }
6564 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6565 #[inline]
FwpmNetEventsGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u326566 pub unsafe fn FwpmNetEventsGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6567     #[cfg(windows)]
6568     {
6569         #[link(name = "windows")]
6570         extern "system" {
6571             fn FwpmNetEventsGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6572         }
6573         ::std::mem::transmute(FwpmNetEventsGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
6574     }
6575     #[cfg(not(windows))]
6576     unimplemented!("Unsupported target OS");
6577 }
6578 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6579 #[inline]
FwpmNetEventsSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u326580 pub unsafe fn FwpmNetEventsSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
6581     #[cfg(windows)]
6582     {
6583         #[link(name = "windows")]
6584         extern "system" {
6585             fn FwpmNetEventsSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
6586         }
6587         ::std::mem::transmute(FwpmNetEventsSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
6588     }
6589     #[cfg(not(windows))]
6590     unimplemented!("Unsupported target OS");
6591 }
6592 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6593 #[inline]
FwpmProviderAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, provider: *const FWPM_PROVIDER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u326594 pub unsafe fn FwpmProviderAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, provider: *const FWPM_PROVIDER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6595     #[cfg(windows)]
6596     {
6597         #[link(name = "windows")]
6598         extern "system" {
6599             fn FwpmProviderAdd0(enginehandle: super::super::Foundation::HANDLE, provider: *const FWPM_PROVIDER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6600         }
6601         ::std::mem::transmute(FwpmProviderAdd0(enginehandle.into_param().abi(), ::std::mem::transmute(provider), ::std::mem::transmute(sd)))
6602     }
6603     #[cfg(not(windows))]
6604     unimplemented!("Unsupported target OS");
6605 }
6606 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6607 #[inline]
FwpmProviderContextAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u326608 pub unsafe fn FwpmProviderContextAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32 {
6609     #[cfg(windows)]
6610     {
6611         #[link(name = "windows")]
6612         extern "system" {
6613             fn FwpmProviderContextAdd0(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
6614         }
6615         ::std::mem::transmute(FwpmProviderContextAdd0(enginehandle.into_param().abi(), ::std::mem::transmute(providercontext), ::std::mem::transmute(sd), ::std::mem::transmute(id)))
6616     }
6617     #[cfg(not(windows))]
6618     unimplemented!("Unsupported target OS");
6619 }
6620 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6621 #[inline]
FwpmProviderContextAdd1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT1, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u326622 pub unsafe fn FwpmProviderContextAdd1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT1, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32 {
6623     #[cfg(windows)]
6624     {
6625         #[link(name = "windows")]
6626         extern "system" {
6627             fn FwpmProviderContextAdd1(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT1, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
6628         }
6629         ::std::mem::transmute(FwpmProviderContextAdd1(enginehandle.into_param().abi(), ::std::mem::transmute(providercontext), ::std::mem::transmute(sd), ::std::mem::transmute(id)))
6630     }
6631     #[cfg(not(windows))]
6632     unimplemented!("Unsupported target OS");
6633 }
6634 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6635 #[inline]
FwpmProviderContextAdd2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT2, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u326636 pub unsafe fn FwpmProviderContextAdd2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT2, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32 {
6637     #[cfg(windows)]
6638     {
6639         #[link(name = "windows")]
6640         extern "system" {
6641             fn FwpmProviderContextAdd2(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT2, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
6642         }
6643         ::std::mem::transmute(FwpmProviderContextAdd2(enginehandle.into_param().abi(), ::std::mem::transmute(providercontext), ::std::mem::transmute(sd), ::std::mem::transmute(id)))
6644     }
6645     #[cfg(not(windows))]
6646     unimplemented!("Unsupported target OS");
6647 }
6648 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6649 #[inline]
FwpmProviderContextAdd3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT3_, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u326650 pub unsafe fn FwpmProviderContextAdd3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, providercontext: *const FWPM_PROVIDER_CONTEXT3_, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32 {
6651     #[cfg(windows)]
6652     {
6653         #[link(name = "windows")]
6654         extern "system" {
6655             fn FwpmProviderContextAdd3(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT3_, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
6656         }
6657         ::std::mem::transmute(FwpmProviderContextAdd3(enginehandle.into_param().abi(), ::std::mem::transmute(providercontext), ::std::mem::transmute(sd), ::std::mem::transmute(id)))
6658     }
6659     #[cfg(not(windows))]
6660     unimplemented!("Unsupported target OS");
6661 }
6662 #[cfg(feature = "Win32_Foundation")]
6663 #[inline]
FwpmProviderContextCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u326664 pub unsafe fn FwpmProviderContextCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
6665     #[cfg(windows)]
6666     {
6667         #[link(name = "windows")]
6668         extern "system" {
6669             fn FwpmProviderContextCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
6670         }
6671         ::std::mem::transmute(FwpmProviderContextCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
6672     }
6673     #[cfg(not(windows))]
6674     unimplemented!("Unsupported target OS");
6675 }
6676 #[cfg(feature = "Win32_Foundation")]
6677 #[inline]
FwpmProviderContextDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u326678 pub unsafe fn FwpmProviderContextDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u32 {
6679     #[cfg(windows)]
6680     {
6681         #[link(name = "windows")]
6682         extern "system" {
6683             fn FwpmProviderContextDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
6684         }
6685         ::std::mem::transmute(FwpmProviderContextDeleteById0(enginehandle.into_param().abi(), ::std::mem::transmute(id)))
6686     }
6687     #[cfg(not(windows))]
6688     unimplemented!("Unsupported target OS");
6689 }
6690 #[cfg(feature = "Win32_Foundation")]
6691 #[inline]
FwpmProviderContextDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u326692 pub unsafe fn FwpmProviderContextDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u32 {
6693     #[cfg(windows)]
6694     {
6695         #[link(name = "windows")]
6696         extern "system" {
6697             fn FwpmProviderContextDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID) -> u32;
6698         }
6699         ::std::mem::transmute(FwpmProviderContextDeleteByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key)))
6700     }
6701     #[cfg(not(windows))]
6702     unimplemented!("Unsupported target OS");
6703 }
6704 #[cfg(feature = "Win32_Foundation")]
6705 #[inline]
FwpmProviderContextDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u326706 pub unsafe fn FwpmProviderContextDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
6707     #[cfg(windows)]
6708     {
6709         #[link(name = "windows")]
6710         extern "system" {
6711             fn FwpmProviderContextDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
6712         }
6713         ::std::mem::transmute(FwpmProviderContextDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
6714     }
6715     #[cfg(not(windows))]
6716     unimplemented!("Unsupported target OS");
6717 }
6718 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6719 #[inline]
FwpmProviderContextEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT0, numentriesreturned: *mut u32) -> u326720 pub unsafe fn FwpmProviderContextEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT0, numentriesreturned: *mut u32) -> u32 {
6721     #[cfg(windows)]
6722     {
6723         #[link(name = "windows")]
6724         extern "system" {
6725             fn FwpmProviderContextEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT0, numentriesreturned: *mut u32) -> u32;
6726         }
6727         ::std::mem::transmute(FwpmProviderContextEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6728     }
6729     #[cfg(not(windows))]
6730     unimplemented!("Unsupported target OS");
6731 }
6732 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6733 #[inline]
FwpmProviderContextEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT1, numentriesreturned: *mut u32) -> u326734 pub unsafe fn FwpmProviderContextEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT1, numentriesreturned: *mut u32) -> u32 {
6735     #[cfg(windows)]
6736     {
6737         #[link(name = "windows")]
6738         extern "system" {
6739             fn FwpmProviderContextEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT1, numentriesreturned: *mut u32) -> u32;
6740         }
6741         ::std::mem::transmute(FwpmProviderContextEnum1(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6742     }
6743     #[cfg(not(windows))]
6744     unimplemented!("Unsupported target OS");
6745 }
6746 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6747 #[inline]
FwpmProviderContextEnum2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT2, numentriesreturned: *mut u32) -> u326748 pub unsafe fn FwpmProviderContextEnum2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT2, numentriesreturned: *mut u32) -> u32 {
6749     #[cfg(windows)]
6750     {
6751         #[link(name = "windows")]
6752         extern "system" {
6753             fn FwpmProviderContextEnum2(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT2, numentriesreturned: *mut u32) -> u32;
6754         }
6755         ::std::mem::transmute(FwpmProviderContextEnum2(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6756     }
6757     #[cfg(not(windows))]
6758     unimplemented!("Unsupported target OS");
6759 }
6760 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6761 #[inline]
FwpmProviderContextEnum3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT3_, numentriesreturned: *mut u32) -> u326762 pub unsafe fn FwpmProviderContextEnum3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT3_, numentriesreturned: *mut u32) -> u32 {
6763     #[cfg(windows)]
6764     {
6765         #[link(name = "windows")]
6766         extern "system" {
6767             fn FwpmProviderContextEnum3(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT3_, numentriesreturned: *mut u32) -> u32;
6768         }
6769         ::std::mem::transmute(FwpmProviderContextEnum3(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
6770     }
6771     #[cfg(not(windows))]
6772     unimplemented!("Unsupported target OS");
6773 }
6774 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6775 #[inline]
FwpmProviderContextGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u326776 pub unsafe fn FwpmProviderContextGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32 {
6777     #[cfg(windows)]
6778     {
6779         #[link(name = "windows")]
6780         extern "system" {
6781             fn FwpmProviderContextGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32;
6782         }
6783         ::std::mem::transmute(FwpmProviderContextGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(providercontext)))
6784     }
6785     #[cfg(not(windows))]
6786     unimplemented!("Unsupported target OS");
6787 }
6788 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6789 #[inline]
FwpmProviderContextGetById1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u326790 pub unsafe fn FwpmProviderContextGetById1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32 {
6791     #[cfg(windows)]
6792     {
6793         #[link(name = "windows")]
6794         extern "system" {
6795             fn FwpmProviderContextGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32;
6796         }
6797         ::std::mem::transmute(FwpmProviderContextGetById1(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(providercontext)))
6798     }
6799     #[cfg(not(windows))]
6800     unimplemented!("Unsupported target OS");
6801 }
6802 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6803 #[inline]
FwpmProviderContextGetById2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u326804 pub unsafe fn FwpmProviderContextGetById2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32 {
6805     #[cfg(windows)]
6806     {
6807         #[link(name = "windows")]
6808         extern "system" {
6809             fn FwpmProviderContextGetById2(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32;
6810         }
6811         ::std::mem::transmute(FwpmProviderContextGetById2(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(providercontext)))
6812     }
6813     #[cfg(not(windows))]
6814     unimplemented!("Unsupported target OS");
6815 }
6816 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6817 #[inline]
FwpmProviderContextGetById3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u326818 pub unsafe fn FwpmProviderContextGetById3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32 {
6819     #[cfg(windows)]
6820     {
6821         #[link(name = "windows")]
6822         extern "system" {
6823             fn FwpmProviderContextGetById3(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32;
6824         }
6825         ::std::mem::transmute(FwpmProviderContextGetById3(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(providercontext)))
6826     }
6827     #[cfg(not(windows))]
6828     unimplemented!("Unsupported target OS");
6829 }
6830 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6831 #[inline]
FwpmProviderContextGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u326832 pub unsafe fn FwpmProviderContextGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32 {
6833     #[cfg(windows)]
6834     {
6835         #[link(name = "windows")]
6836         extern "system" {
6837             fn FwpmProviderContextGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32;
6838         }
6839         ::std::mem::transmute(FwpmProviderContextGetByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(providercontext)))
6840     }
6841     #[cfg(not(windows))]
6842     unimplemented!("Unsupported target OS");
6843 }
6844 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6845 #[inline]
FwpmProviderContextGetByKey1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u326846 pub unsafe fn FwpmProviderContextGetByKey1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32 {
6847     #[cfg(windows)]
6848     {
6849         #[link(name = "windows")]
6850         extern "system" {
6851             fn FwpmProviderContextGetByKey1(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32;
6852         }
6853         ::std::mem::transmute(FwpmProviderContextGetByKey1(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(providercontext)))
6854     }
6855     #[cfg(not(windows))]
6856     unimplemented!("Unsupported target OS");
6857 }
6858 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6859 #[inline]
FwpmProviderContextGetByKey2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u326860 pub unsafe fn FwpmProviderContextGetByKey2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32 {
6861     #[cfg(windows)]
6862     {
6863         #[link(name = "windows")]
6864         extern "system" {
6865             fn FwpmProviderContextGetByKey2(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32;
6866         }
6867         ::std::mem::transmute(FwpmProviderContextGetByKey2(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(providercontext)))
6868     }
6869     #[cfg(not(windows))]
6870     unimplemented!("Unsupported target OS");
6871 }
6872 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6873 #[inline]
FwpmProviderContextGetByKey3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u326874 pub unsafe fn FwpmProviderContextGetByKey3<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32 {
6875     #[cfg(windows)]
6876     {
6877         #[link(name = "windows")]
6878         extern "system" {
6879             fn FwpmProviderContextGetByKey3(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32;
6880         }
6881         ::std::mem::transmute(FwpmProviderContextGetByKey3(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(providercontext)))
6882     }
6883     #[cfg(not(windows))]
6884     unimplemented!("Unsupported target OS");
6885 }
6886 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6887 #[inline]
FwpmProviderContextGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u326888 pub unsafe fn FwpmProviderContextGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
6889     #[cfg(windows)]
6890     {
6891         #[link(name = "windows")]
6892         extern "system" {
6893             fn FwpmProviderContextGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
6894         }
6895         ::std::mem::transmute(FwpmProviderContextGetSecurityInfoByKey0(
6896             enginehandle.into_param().abi(),
6897             ::std::mem::transmute(key),
6898             ::std::mem::transmute(securityinfo),
6899             ::std::mem::transmute(sidowner),
6900             ::std::mem::transmute(sidgroup),
6901             ::std::mem::transmute(dacl),
6902             ::std::mem::transmute(sacl),
6903             ::std::mem::transmute(securitydescriptor),
6904         ))
6905     }
6906     #[cfg(not(windows))]
6907     unimplemented!("Unsupported target OS");
6908 }
6909 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6910 #[inline]
FwpmProviderContextSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u326911 pub unsafe fn FwpmProviderContextSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
6912     #[cfg(windows)]
6913     {
6914         #[link(name = "windows")]
6915         extern "system" {
6916             fn FwpmProviderContextSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
6917         }
6918         ::std::mem::transmute(FwpmProviderContextSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
6919     }
6920     #[cfg(not(windows))]
6921     unimplemented!("Unsupported target OS");
6922 }
6923 #[cfg(feature = "Win32_Foundation")]
6924 #[inline]
FwpmProviderContextSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u326925 pub unsafe fn FwpmProviderContextSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32 {
6926     #[cfg(windows)]
6927     {
6928         #[link(name = "windows")]
6929         extern "system" {
6930             fn FwpmProviderContextSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
6931         }
6932         ::std::mem::transmute(FwpmProviderContextSubscribeChanges0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(changehandle)))
6933     }
6934     #[cfg(not(windows))]
6935     unimplemented!("Unsupported target OS");
6936 }
6937 #[cfg(feature = "Win32_Foundation")]
6938 #[inline]
FwpmProviderContextSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u326939 pub unsafe fn FwpmProviderContextSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
6940     #[cfg(windows)]
6941     {
6942         #[link(name = "windows")]
6943         extern "system" {
6944             fn FwpmProviderContextSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
6945         }
6946         ::std::mem::transmute(FwpmProviderContextSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
6947     }
6948     #[cfg(not(windows))]
6949     unimplemented!("Unsupported target OS");
6950 }
6951 #[cfg(feature = "Win32_Foundation")]
6952 #[inline]
FwpmProviderContextUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u326953 pub unsafe fn FwpmProviderContextUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u32 {
6954     #[cfg(windows)]
6955     {
6956         #[link(name = "windows")]
6957         extern "system" {
6958             fn FwpmProviderContextUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
6959         }
6960         ::std::mem::transmute(FwpmProviderContextUnsubscribeChanges0(enginehandle.into_param().abi(), changehandle.into_param().abi()))
6961     }
6962     #[cfg(not(windows))]
6963     unimplemented!("Unsupported target OS");
6964 }
6965 #[cfg(feature = "Win32_Foundation")]
6966 #[inline]
FwpmProviderCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_PROVIDER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u326967 pub unsafe fn FwpmProviderCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_PROVIDER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
6968     #[cfg(windows)]
6969     {
6970         #[link(name = "windows")]
6971         extern "system" {
6972             fn FwpmProviderCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_PROVIDER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
6973         }
6974         ::std::mem::transmute(FwpmProviderCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
6975     }
6976     #[cfg(not(windows))]
6977     unimplemented!("Unsupported target OS");
6978 }
6979 #[cfg(feature = "Win32_Foundation")]
6980 #[inline]
FwpmProviderDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u326981 pub unsafe fn FwpmProviderDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u32 {
6982     #[cfg(windows)]
6983     {
6984         #[link(name = "windows")]
6985         extern "system" {
6986             fn FwpmProviderDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID) -> u32;
6987         }
6988         ::std::mem::transmute(FwpmProviderDeleteByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key)))
6989     }
6990     #[cfg(not(windows))]
6991     unimplemented!("Unsupported target OS");
6992 }
6993 #[cfg(feature = "Win32_Foundation")]
6994 #[inline]
FwpmProviderDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u326995 pub unsafe fn FwpmProviderDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
6996     #[cfg(windows)]
6997     {
6998         #[link(name = "windows")]
6999         extern "system" {
7000             fn FwpmProviderDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
7001         }
7002         ::std::mem::transmute(FwpmProviderDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
7003     }
7004     #[cfg(not(windows))]
7005     unimplemented!("Unsupported target OS");
7006 }
7007 #[cfg(feature = "Win32_Foundation")]
7008 #[inline]
FwpmProviderEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER0, numentriesreturned: *mut u32) -> u327009 pub unsafe fn FwpmProviderEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER0, numentriesreturned: *mut u32) -> u32 {
7010     #[cfg(windows)]
7011     {
7012         #[link(name = "windows")]
7013         extern "system" {
7014             fn FwpmProviderEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER0, numentriesreturned: *mut u32) -> u32;
7015         }
7016         ::std::mem::transmute(FwpmProviderEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
7017     }
7018     #[cfg(not(windows))]
7019     unimplemented!("Unsupported target OS");
7020 }
7021 #[cfg(feature = "Win32_Foundation")]
7022 #[inline]
FwpmProviderGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, provider: *mut *mut FWPM_PROVIDER0) -> u327023 pub unsafe fn FwpmProviderGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, provider: *mut *mut FWPM_PROVIDER0) -> u32 {
7024     #[cfg(windows)]
7025     {
7026         #[link(name = "windows")]
7027         extern "system" {
7028             fn FwpmProviderGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, provider: *mut *mut FWPM_PROVIDER0) -> u32;
7029         }
7030         ::std::mem::transmute(FwpmProviderGetByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(provider)))
7031     }
7032     #[cfg(not(windows))]
7033     unimplemented!("Unsupported target OS");
7034 }
7035 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7036 #[inline]
FwpmProviderGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u327037 pub unsafe fn FwpmProviderGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
7038     #[cfg(windows)]
7039     {
7040         #[link(name = "windows")]
7041         extern "system" {
7042             fn FwpmProviderGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
7043         }
7044         ::std::mem::transmute(FwpmProviderGetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
7045     }
7046     #[cfg(not(windows))]
7047     unimplemented!("Unsupported target OS");
7048 }
7049 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7050 #[inline]
FwpmProviderSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u327051 pub unsafe fn FwpmProviderSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
7052     #[cfg(windows)]
7053     {
7054         #[link(name = "windows")]
7055         extern "system" {
7056             fn FwpmProviderSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
7057         }
7058         ::std::mem::transmute(FwpmProviderSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
7059     }
7060     #[cfg(not(windows))]
7061     unimplemented!("Unsupported target OS");
7062 }
7063 #[cfg(feature = "Win32_Foundation")]
7064 #[inline]
FwpmProviderSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_PROVIDER_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_PROVIDER_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u327065 pub unsafe fn FwpmProviderSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_PROVIDER_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_PROVIDER_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32 {
7066     #[cfg(windows)]
7067     {
7068         #[link(name = "windows")]
7069         extern "system" {
7070             fn FwpmProviderSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_PROVIDER_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
7071         }
7072         ::std::mem::transmute(FwpmProviderSubscribeChanges0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(changehandle)))
7073     }
7074     #[cfg(not(windows))]
7075     unimplemented!("Unsupported target OS");
7076 }
7077 #[cfg(feature = "Win32_Foundation")]
7078 #[inline]
FwpmProviderSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_PROVIDER_SUBSCRIPTION0, numentries: *mut u32) -> u327079 pub unsafe fn FwpmProviderSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_PROVIDER_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
7080     #[cfg(windows)]
7081     {
7082         #[link(name = "windows")]
7083         extern "system" {
7084             fn FwpmProviderSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_PROVIDER_SUBSCRIPTION0, numentries: *mut u32) -> u32;
7085         }
7086         ::std::mem::transmute(FwpmProviderSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
7087     }
7088     #[cfg(not(windows))]
7089     unimplemented!("Unsupported target OS");
7090 }
7091 #[cfg(feature = "Win32_Foundation")]
7092 #[inline]
FwpmProviderUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u327093 pub unsafe fn FwpmProviderUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u32 {
7094     #[cfg(windows)]
7095     {
7096         #[link(name = "windows")]
7097         extern "system" {
7098             fn FwpmProviderUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
7099         }
7100         ::std::mem::transmute(FwpmProviderUnsubscribeChanges0(enginehandle.into_param().abi(), changehandle.into_param().abi()))
7101     }
7102     #[cfg(not(windows))]
7103     unimplemented!("Unsupported target OS");
7104 }
7105 #[cfg(feature = "Win32_Foundation")]
7106 #[inline]
FwpmSessionCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_SESSION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u327107 pub unsafe fn FwpmSessionCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_SESSION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
7108     #[cfg(windows)]
7109     {
7110         #[link(name = "windows")]
7111         extern "system" {
7112             fn FwpmSessionCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_SESSION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
7113         }
7114         ::std::mem::transmute(FwpmSessionCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
7115     }
7116     #[cfg(not(windows))]
7117     unimplemented!("Unsupported target OS");
7118 }
7119 #[cfg(feature = "Win32_Foundation")]
7120 #[inline]
FwpmSessionDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u327121 pub unsafe fn FwpmSessionDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
7122     #[cfg(windows)]
7123     {
7124         #[link(name = "windows")]
7125         extern "system" {
7126             fn FwpmSessionDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
7127         }
7128         ::std::mem::transmute(FwpmSessionDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
7129     }
7130     #[cfg(not(windows))]
7131     unimplemented!("Unsupported target OS");
7132 }
7133 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7134 #[inline]
FwpmSessionEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SESSION0, numentriesreturned: *mut u32) -> u327135 pub unsafe fn FwpmSessionEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SESSION0, numentriesreturned: *mut u32) -> u32 {
7136     #[cfg(windows)]
7137     {
7138         #[link(name = "windows")]
7139         extern "system" {
7140             fn FwpmSessionEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SESSION0, numentriesreturned: *mut u32) -> u32;
7141         }
7142         ::std::mem::transmute(FwpmSessionEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
7143     }
7144     #[cfg(not(windows))]
7145     unimplemented!("Unsupported target OS");
7146 }
7147 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7148 #[inline]
FwpmSubLayerAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, sublayer: *const FWPM_SUBLAYER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u327149 pub unsafe fn FwpmSubLayerAdd0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, sublayer: *const FWPM_SUBLAYER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
7150     #[cfg(windows)]
7151     {
7152         #[link(name = "windows")]
7153         extern "system" {
7154             fn FwpmSubLayerAdd0(enginehandle: super::super::Foundation::HANDLE, sublayer: *const FWPM_SUBLAYER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
7155         }
7156         ::std::mem::transmute(FwpmSubLayerAdd0(enginehandle.into_param().abi(), ::std::mem::transmute(sublayer), ::std::mem::transmute(sd)))
7157     }
7158     #[cfg(not(windows))]
7159     unimplemented!("Unsupported target OS");
7160 }
7161 #[cfg(feature = "Win32_Foundation")]
7162 #[inline]
FwpmSubLayerCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_SUBLAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u327163 pub unsafe fn FwpmSubLayerCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const FWPM_SUBLAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
7164     #[cfg(windows)]
7165     {
7166         #[link(name = "windows")]
7167         extern "system" {
7168             fn FwpmSubLayerCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_SUBLAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
7169         }
7170         ::std::mem::transmute(FwpmSubLayerCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
7171     }
7172     #[cfg(not(windows))]
7173     unimplemented!("Unsupported target OS");
7174 }
7175 #[cfg(feature = "Win32_Foundation")]
7176 #[inline]
FwpmSubLayerDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u327177 pub unsafe fn FwpmSubLayerDeleteByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID) -> u32 {
7178     #[cfg(windows)]
7179     {
7180         #[link(name = "windows")]
7181         extern "system" {
7182             fn FwpmSubLayerDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID) -> u32;
7183         }
7184         ::std::mem::transmute(FwpmSubLayerDeleteByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key)))
7185     }
7186     #[cfg(not(windows))]
7187     unimplemented!("Unsupported target OS");
7188 }
7189 #[cfg(feature = "Win32_Foundation")]
7190 #[inline]
FwpmSubLayerDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u327191 pub unsafe fn FwpmSubLayerDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
7192     #[cfg(windows)]
7193     {
7194         #[link(name = "windows")]
7195         extern "system" {
7196             fn FwpmSubLayerDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
7197         }
7198         ::std::mem::transmute(FwpmSubLayerDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
7199     }
7200     #[cfg(not(windows))]
7201     unimplemented!("Unsupported target OS");
7202 }
7203 #[cfg(feature = "Win32_Foundation")]
7204 #[inline]
FwpmSubLayerEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SUBLAYER0, numentriesreturned: *mut u32) -> u327205 pub unsafe fn FwpmSubLayerEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SUBLAYER0, numentriesreturned: *mut u32) -> u32 {
7206     #[cfg(windows)]
7207     {
7208         #[link(name = "windows")]
7209         extern "system" {
7210             fn FwpmSubLayerEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SUBLAYER0, numentriesreturned: *mut u32) -> u32;
7211         }
7212         ::std::mem::transmute(FwpmSubLayerEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
7213     }
7214     #[cfg(not(windows))]
7215     unimplemented!("Unsupported target OS");
7216 }
7217 #[cfg(feature = "Win32_Foundation")]
7218 #[inline]
FwpmSubLayerGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, sublayer: *mut *mut FWPM_SUBLAYER0) -> u327219 pub unsafe fn FwpmSubLayerGetByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, sublayer: *mut *mut FWPM_SUBLAYER0) -> u32 {
7220     #[cfg(windows)]
7221     {
7222         #[link(name = "windows")]
7223         extern "system" {
7224             fn FwpmSubLayerGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, sublayer: *mut *mut FWPM_SUBLAYER0) -> u32;
7225         }
7226         ::std::mem::transmute(FwpmSubLayerGetByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(sublayer)))
7227     }
7228     #[cfg(not(windows))]
7229     unimplemented!("Unsupported target OS");
7230 }
7231 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7232 #[inline]
FwpmSubLayerGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u327233 pub unsafe fn FwpmSubLayerGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
7234     #[cfg(windows)]
7235     {
7236         #[link(name = "windows")]
7237         extern "system" {
7238             fn FwpmSubLayerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
7239         }
7240         ::std::mem::transmute(FwpmSubLayerGetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
7241     }
7242     #[cfg(not(windows))]
7243     unimplemented!("Unsupported target OS");
7244 }
7245 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7246 #[inline]
FwpmSubLayerSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u327247 pub unsafe fn FwpmSubLayerSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
7248     #[cfg(windows)]
7249     {
7250         #[link(name = "windows")]
7251         extern "system" {
7252             fn FwpmSubLayerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows::runtime::GUID, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
7253         }
7254         ::std::mem::transmute(FwpmSubLayerSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(key), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
7255     }
7256     #[cfg(not(windows))]
7257     unimplemented!("Unsupported target OS");
7258 }
7259 #[cfg(feature = "Win32_Foundation")]
7260 #[inline]
FwpmSubLayerSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_SUBLAYER_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_SUBLAYER_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u327261 pub unsafe fn FwpmSubLayerSubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_SUBLAYER_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_SUBLAYER_CHANGE_CALLBACK0>, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32 {
7262     #[cfg(windows)]
7263     {
7264         #[link(name = "windows")]
7265         extern "system" {
7266             fn FwpmSubLayerSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_SUBLAYER_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
7267         }
7268         ::std::mem::transmute(FwpmSubLayerSubscribeChanges0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(changehandle)))
7269     }
7270     #[cfg(not(windows))]
7271     unimplemented!("Unsupported target OS");
7272 }
7273 #[cfg(feature = "Win32_Foundation")]
7274 #[inline]
FwpmSubLayerSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_SUBLAYER_SUBSCRIPTION0, numentries: *mut u32) -> u327275 pub unsafe fn FwpmSubLayerSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut FWPM_SUBLAYER_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
7276     #[cfg(windows)]
7277     {
7278         #[link(name = "windows")]
7279         extern "system" {
7280             fn FwpmSubLayerSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_SUBLAYER_SUBSCRIPTION0, numentries: *mut u32) -> u32;
7281         }
7282         ::std::mem::transmute(FwpmSubLayerSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
7283     }
7284     #[cfg(not(windows))]
7285     unimplemented!("Unsupported target OS");
7286 }
7287 #[cfg(feature = "Win32_Foundation")]
7288 #[inline]
FwpmSubLayerUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u327289 pub unsafe fn FwpmSubLayerUnsubscribeChanges0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, changehandle: Param1) -> u32 {
7290     #[cfg(windows)]
7291     {
7292         #[link(name = "windows")]
7293         extern "system" {
7294             fn FwpmSubLayerUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
7295         }
7296         ::std::mem::transmute(FwpmSubLayerUnsubscribeChanges0(enginehandle.into_param().abi(), changehandle.into_param().abi()))
7297     }
7298     #[cfg(not(windows))]
7299     unimplemented!("Unsupported target OS");
7300 }
7301 #[cfg(feature = "Win32_Foundation")]
7302 #[inline]
FwpmSystemPortsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, sysports: *mut *mut FWPM_SYSTEM_PORTS0) -> u327303 pub unsafe fn FwpmSystemPortsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, sysports: *mut *mut FWPM_SYSTEM_PORTS0) -> u32 {
7304     #[cfg(windows)]
7305     {
7306         #[link(name = "windows")]
7307         extern "system" {
7308             fn FwpmSystemPortsGet0(enginehandle: super::super::Foundation::HANDLE, sysports: *mut *mut FWPM_SYSTEM_PORTS0) -> u32;
7309         }
7310         ::std::mem::transmute(FwpmSystemPortsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(sysports)))
7311     }
7312     #[cfg(not(windows))]
7313     unimplemented!("Unsupported target OS");
7314 }
7315 #[cfg(feature = "Win32_Foundation")]
7316 #[inline]
FwpmSystemPortsSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, reserved: *mut ::std::ffi::c_void, callback: ::std::option::Option<FWPM_SYSTEM_PORTS_CALLBACK0>, context: *const ::std::ffi::c_void, sysportshandle: *mut super::super::Foundation::HANDLE) -> u327317 pub unsafe fn FwpmSystemPortsSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, reserved: *mut ::std::ffi::c_void, callback: ::std::option::Option<FWPM_SYSTEM_PORTS_CALLBACK0>, context: *const ::std::ffi::c_void, sysportshandle: *mut super::super::Foundation::HANDLE) -> u32 {
7318     #[cfg(windows)]
7319     {
7320         #[link(name = "windows")]
7321         extern "system" {
7322             fn FwpmSystemPortsSubscribe0(enginehandle: super::super::Foundation::HANDLE, reserved: *mut ::std::ffi::c_void, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, sysportshandle: *mut super::super::Foundation::HANDLE) -> u32;
7323         }
7324         ::std::mem::transmute(FwpmSystemPortsSubscribe0(enginehandle.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(sysportshandle)))
7325     }
7326     #[cfg(not(windows))]
7327     unimplemented!("Unsupported target OS");
7328 }
7329 #[cfg(feature = "Win32_Foundation")]
7330 #[inline]
FwpmSystemPortsUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, sysportshandle: Param1) -> u327331 pub unsafe fn FwpmSystemPortsUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, sysportshandle: Param1) -> u32 {
7332     #[cfg(windows)]
7333     {
7334         #[link(name = "windows")]
7335         extern "system" {
7336             fn FwpmSystemPortsUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, sysportshandle: super::super::Foundation::HANDLE) -> u32;
7337         }
7338         ::std::mem::transmute(FwpmSystemPortsUnsubscribe0(enginehandle.into_param().abi(), sysportshandle.into_param().abi()))
7339     }
7340     #[cfg(not(windows))]
7341     unimplemented!("Unsupported target OS");
7342 }
7343 #[cfg(feature = "Win32_Foundation")]
7344 #[inline]
FwpmTransactionAbort0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0) -> u327345 pub unsafe fn FwpmTransactionAbort0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0) -> u32 {
7346     #[cfg(windows)]
7347     {
7348         #[link(name = "windows")]
7349         extern "system" {
7350             fn FwpmTransactionAbort0(enginehandle: super::super::Foundation::HANDLE) -> u32;
7351         }
7352         ::std::mem::transmute(FwpmTransactionAbort0(enginehandle.into_param().abi()))
7353     }
7354     #[cfg(not(windows))]
7355     unimplemented!("Unsupported target OS");
7356 }
7357 #[cfg(feature = "Win32_Foundation")]
7358 #[inline]
FwpmTransactionBegin0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32) -> u327359 pub unsafe fn FwpmTransactionBegin0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u32) -> u32 {
7360     #[cfg(windows)]
7361     {
7362         #[link(name = "windows")]
7363         extern "system" {
7364             fn FwpmTransactionBegin0(enginehandle: super::super::Foundation::HANDLE, flags: u32) -> u32;
7365         }
7366         ::std::mem::transmute(FwpmTransactionBegin0(enginehandle.into_param().abi(), ::std::mem::transmute(flags)))
7367     }
7368     #[cfg(not(windows))]
7369     unimplemented!("Unsupported target OS");
7370 }
7371 #[cfg(feature = "Win32_Foundation")]
7372 #[inline]
FwpmTransactionCommit0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0) -> u327373 pub unsafe fn FwpmTransactionCommit0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0) -> u32 {
7374     #[cfg(windows)]
7375     {
7376         #[link(name = "windows")]
7377         extern "system" {
7378             fn FwpmTransactionCommit0(enginehandle: super::super::Foundation::HANDLE) -> u32;
7379         }
7380         ::std::mem::transmute(FwpmTransactionCommit0(enginehandle.into_param().abi()))
7381     }
7382     #[cfg(not(windows))]
7383     unimplemented!("Unsupported target OS");
7384 }
7385 #[cfg(feature = "Win32_Foundation")]
7386 #[inline]
FwpmvSwitchEventSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_VSWITCH_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_VSWITCH_EVENT_CALLBACK0>, context: *const ::std::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u327387 pub unsafe fn FwpmvSwitchEventSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const FWPM_VSWITCH_EVENT_SUBSCRIPTION0, callback: ::std::option::Option<FWPM_VSWITCH_EVENT_CALLBACK0>, context: *const ::std::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32 {
7388     #[cfg(windows)]
7389     {
7390         #[link(name = "windows")]
7391         extern "system" {
7392             fn FwpmvSwitchEventSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_VSWITCH_EVENT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32;
7393         }
7394         ::std::mem::transmute(FwpmvSwitchEventSubscribe0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(subscriptionhandle)))
7395     }
7396     #[cfg(not(windows))]
7397     unimplemented!("Unsupported target OS");
7398 }
7399 #[cfg(feature = "Win32_Foundation")]
7400 #[inline]
FwpmvSwitchEventUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscriptionhandle: Param1) -> u327401 pub unsafe fn FwpmvSwitchEventUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscriptionhandle: Param1) -> u32 {
7402     #[cfg(windows)]
7403     {
7404         #[link(name = "windows")]
7405         extern "system" {
7406             fn FwpmvSwitchEventUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, subscriptionhandle: super::super::Foundation::HANDLE) -> u32;
7407         }
7408         ::std::mem::transmute(FwpmvSwitchEventUnsubscribe0(enginehandle.into_param().abi(), subscriptionhandle.into_param().abi()))
7409     }
7410     #[cfg(not(windows))]
7411     unimplemented!("Unsupported target OS");
7412 }
7413 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7414 #[inline]
FwpmvSwitchEventsGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u327415 pub unsafe fn FwpmvSwitchEventsGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
7416     #[cfg(windows)]
7417     {
7418         #[link(name = "windows")]
7419         extern "system" {
7420             fn FwpmvSwitchEventsGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
7421         }
7422         ::std::mem::transmute(FwpmvSwitchEventsGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
7423     }
7424     #[cfg(not(windows))]
7425     unimplemented!("Unsupported target OS");
7426 }
7427 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
7428 #[inline]
FwpmvSwitchEventsSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u327429 pub unsafe fn FwpmvSwitchEventsSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
7430     #[cfg(windows)]
7431     {
7432         #[link(name = "windows")]
7433         extern "system" {
7434             fn FwpmvSwitchEventsSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
7435         }
7436         ::std::mem::transmute(FwpmvSwitchEventsSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
7437     }
7438     #[cfg(not(windows))]
7439     unimplemented!("Unsupported target OS");
7440 }
7441 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7442 #[repr(transparent)]
7443 pub struct ICMP4_TIME_EXCEED_CODE(pub i32);
7444 pub const ICMP4_TIME_EXCEED_TRANSIT: ICMP4_TIME_EXCEED_CODE = ICMP4_TIME_EXCEED_CODE(0i32);
7445 pub const ICMP4_TIME_EXCEED_REASSEMBLY: ICMP4_TIME_EXCEED_CODE = ICMP4_TIME_EXCEED_CODE(1i32);
7446 impl ::std::convert::From<i32> for ICMP4_TIME_EXCEED_CODE {
from(value: i32) -> Self7447     fn from(value: i32) -> Self {
7448         Self(value)
7449     }
7450 }
7451 unsafe impl ::windows::runtime::Abi for ICMP4_TIME_EXCEED_CODE {
7452     type Abi = Self;
7453     type DefaultType = Self;
7454 }
7455 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7456 #[repr(transparent)]
7457 pub struct ICMP4_UNREACH_CODE(pub i32);
7458 pub const ICMP4_UNREACH_NET: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(0i32);
7459 pub const ICMP4_UNREACH_HOST: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(1i32);
7460 pub const ICMP4_UNREACH_PROTOCOL: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(2i32);
7461 pub const ICMP4_UNREACH_PORT: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(3i32);
7462 pub const ICMP4_UNREACH_FRAG_NEEDED: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(4i32);
7463 pub const ICMP4_UNREACH_SOURCEROUTE_FAILED: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(5i32);
7464 pub const ICMP4_UNREACH_NET_UNKNOWN: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(6i32);
7465 pub const ICMP4_UNREACH_HOST_UNKNOWN: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(7i32);
7466 pub const ICMP4_UNREACH_ISOLATED: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(8i32);
7467 pub const ICMP4_UNREACH_NET_ADMIN: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(9i32);
7468 pub const ICMP4_UNREACH_HOST_ADMIN: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(10i32);
7469 pub const ICMP4_UNREACH_NET_TOS: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(11i32);
7470 pub const ICMP4_UNREACH_HOST_TOS: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(12i32);
7471 pub const ICMP4_UNREACH_ADMIN: ICMP4_UNREACH_CODE = ICMP4_UNREACH_CODE(13i32);
7472 impl ::std::convert::From<i32> for ICMP4_UNREACH_CODE {
from(value: i32) -> Self7473     fn from(value: i32) -> Self {
7474         Self(value)
7475     }
7476 }
7477 unsafe impl ::windows::runtime::Abi for ICMP4_UNREACH_CODE {
7478     type Abi = Self;
7479     type DefaultType = Self;
7480 }
7481 pub const ICMP6_DST_UNREACH_ADDR: u32 = 3u32;
7482 pub const ICMP6_DST_UNREACH_ADMIN: u32 = 1u32;
7483 pub const ICMP6_DST_UNREACH_BEYONDSCOPE: u32 = 2u32;
7484 pub const ICMP6_DST_UNREACH_NOPORT: u32 = 4u32;
7485 pub const ICMP6_DST_UNREACH_NOROUTE: u32 = 0u32;
7486 pub const ICMP6_PARAMPROB_HEADER: u32 = 0u32;
7487 pub const ICMP6_PARAMPROB_NEXTHEADER: u32 = 1u32;
7488 pub const ICMP6_PARAMPROB_OPTION: u32 = 2u32;
7489 pub const ICMP6_TIME_EXCEED_REASSEMBLY: u32 = 1u32;
7490 pub const ICMP6_TIME_EXCEED_TRANSIT: u32 = 0u32;
7491 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7492 #[repr(C)]
7493 pub struct ICMPV4_ADDRESS_MASK_MESSAGE {
7494     pub Header: ICMP_MESSAGE,
7495     pub AddressMask: u32,
7496 }
7497 impl ICMPV4_ADDRESS_MASK_MESSAGE {}
7498 impl ::std::default::Default for ICMPV4_ADDRESS_MASK_MESSAGE {
default() -> Self7499     fn default() -> Self {
7500         unsafe { ::std::mem::zeroed() }
7501     }
7502 }
7503 impl ::std::cmp::PartialEq for ICMPV4_ADDRESS_MASK_MESSAGE {
eq(&self, _other: &Self) -> bool7504     fn eq(&self, _other: &Self) -> bool {
7505         unimplemented!()
7506     }
7507 }
7508 impl ::std::cmp::Eq for ICMPV4_ADDRESS_MASK_MESSAGE {}
7509 unsafe impl ::windows::runtime::Abi for ICMPV4_ADDRESS_MASK_MESSAGE {
7510     type Abi = Self;
7511     type DefaultType = Self;
7512 }
7513 pub const ICMPV4_INVALID_PREFERENCE_LEVEL: u32 = 2147483648u32;
7514 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7515 #[repr(C)]
7516 #[cfg(feature = "Win32_Networking_WinSock")]
7517 pub struct ICMPV4_ROUTER_ADVERT_ENTRY {
7518     pub RouterAdvertAddr: super::super::Networking::WinSock::IN_ADDR,
7519     pub PreferenceLevel: i32,
7520 }
7521 #[cfg(feature = "Win32_Networking_WinSock")]
7522 impl ICMPV4_ROUTER_ADVERT_ENTRY {}
7523 #[cfg(feature = "Win32_Networking_WinSock")]
7524 impl ::std::default::Default for ICMPV4_ROUTER_ADVERT_ENTRY {
default() -> Self7525     fn default() -> Self {
7526         unsafe { ::std::mem::zeroed() }
7527     }
7528 }
7529 #[cfg(feature = "Win32_Networking_WinSock")]
7530 impl ::std::cmp::PartialEq for ICMPV4_ROUTER_ADVERT_ENTRY {
eq(&self, _other: &Self) -> bool7531     fn eq(&self, _other: &Self) -> bool {
7532         unimplemented!()
7533     }
7534 }
7535 #[cfg(feature = "Win32_Networking_WinSock")]
7536 impl ::std::cmp::Eq for ICMPV4_ROUTER_ADVERT_ENTRY {}
7537 #[cfg(feature = "Win32_Networking_WinSock")]
7538 unsafe impl ::windows::runtime::Abi for ICMPV4_ROUTER_ADVERT_ENTRY {
7539     type Abi = Self;
7540     type DefaultType = Self;
7541 }
7542 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7543 #[repr(C)]
7544 pub struct ICMPV4_ROUTER_ADVERT_HEADER {
7545     pub RaHeader: ICMP_MESSAGE,
7546 }
7547 impl ICMPV4_ROUTER_ADVERT_HEADER {}
7548 impl ::std::default::Default for ICMPV4_ROUTER_ADVERT_HEADER {
default() -> Self7549     fn default() -> Self {
7550         unsafe { ::std::mem::zeroed() }
7551     }
7552 }
7553 impl ::std::cmp::PartialEq for ICMPV4_ROUTER_ADVERT_HEADER {
eq(&self, _other: &Self) -> bool7554     fn eq(&self, _other: &Self) -> bool {
7555         unimplemented!()
7556     }
7557 }
7558 impl ::std::cmp::Eq for ICMPV4_ROUTER_ADVERT_HEADER {}
7559 unsafe impl ::windows::runtime::Abi for ICMPV4_ROUTER_ADVERT_HEADER {
7560     type Abi = Self;
7561     type DefaultType = Self;
7562 }
7563 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7564 #[repr(C)]
7565 pub struct ICMPV4_ROUTER_SOLICIT {
7566     pub RsHeader: ICMP_MESSAGE,
7567 }
7568 impl ICMPV4_ROUTER_SOLICIT {}
7569 impl ::std::default::Default for ICMPV4_ROUTER_SOLICIT {
default() -> Self7570     fn default() -> Self {
7571         unsafe { ::std::mem::zeroed() }
7572     }
7573 }
7574 impl ::std::cmp::PartialEq for ICMPV4_ROUTER_SOLICIT {
eq(&self, _other: &Self) -> bool7575     fn eq(&self, _other: &Self) -> bool {
7576         unimplemented!()
7577     }
7578 }
7579 impl ::std::cmp::Eq for ICMPV4_ROUTER_SOLICIT {}
7580 unsafe impl ::windows::runtime::Abi for ICMPV4_ROUTER_SOLICIT {
7581     type Abi = Self;
7582     type DefaultType = Self;
7583 }
7584 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7585 #[repr(C)]
7586 pub struct ICMPV4_TIMESTAMP_MESSAGE {
7587     pub Header: ICMP_MESSAGE,
7588     pub OriginateTimestamp: u32,
7589     pub ReceiveTimestamp: u32,
7590     pub TransmitTimestamp: u32,
7591 }
7592 impl ICMPV4_TIMESTAMP_MESSAGE {}
7593 impl ::std::default::Default for ICMPV4_TIMESTAMP_MESSAGE {
default() -> Self7594     fn default() -> Self {
7595         unsafe { ::std::mem::zeroed() }
7596     }
7597 }
7598 impl ::std::cmp::PartialEq for ICMPV4_TIMESTAMP_MESSAGE {
eq(&self, _other: &Self) -> bool7599     fn eq(&self, _other: &Self) -> bool {
7600         unimplemented!()
7601     }
7602 }
7603 impl ::std::cmp::Eq for ICMPV4_TIMESTAMP_MESSAGE {}
7604 unsafe impl ::windows::runtime::Abi for ICMPV4_TIMESTAMP_MESSAGE {
7605     type Abi = Self;
7606     type DefaultType = Self;
7607 }
7608 pub const ICMPV6_ECHO_REQUEST_FLAG_REVERSE: u32 = 1u32;
7609 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7610 #[repr(C)]
7611 pub struct ICMP_HEADER {
7612     pub Type: u8,
7613     pub Code: u8,
7614     pub Checksum: u16,
7615 }
7616 impl ICMP_HEADER {}
7617 impl ::std::default::Default for ICMP_HEADER {
default() -> Self7618     fn default() -> Self {
7619         unsafe { ::std::mem::zeroed() }
7620     }
7621 }
7622 impl ::std::fmt::Debug for ICMP_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7623     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7624         fmt.debug_struct("ICMP_HEADER").field("Type", &self.Type).field("Code", &self.Code).field("Checksum", &self.Checksum).finish()
7625     }
7626 }
7627 impl ::std::cmp::PartialEq for ICMP_HEADER {
eq(&self, other: &Self) -> bool7628     fn eq(&self, other: &Self) -> bool {
7629         self.Type == other.Type && self.Code == other.Code && self.Checksum == other.Checksum
7630     }
7631 }
7632 impl ::std::cmp::Eq for ICMP_HEADER {}
7633 unsafe impl ::windows::runtime::Abi for ICMP_HEADER {
7634     type Abi = Self;
7635     type DefaultType = Self;
7636 }
7637 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7638 #[repr(C)]
7639 pub struct ICMP_MESSAGE {
7640     pub Header: ICMP_HEADER,
7641     pub Data: ICMP_MESSAGE_0,
7642 }
7643 impl ICMP_MESSAGE {}
7644 impl ::std::default::Default for ICMP_MESSAGE {
default() -> Self7645     fn default() -> Self {
7646         unsafe { ::std::mem::zeroed() }
7647     }
7648 }
7649 impl ::std::cmp::PartialEq for ICMP_MESSAGE {
eq(&self, _other: &Self) -> bool7650     fn eq(&self, _other: &Self) -> bool {
7651         unimplemented!()
7652     }
7653 }
7654 impl ::std::cmp::Eq for ICMP_MESSAGE {}
7655 unsafe impl ::windows::runtime::Abi for ICMP_MESSAGE {
7656     type Abi = Self;
7657     type DefaultType = Self;
7658 }
7659 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7660 #[repr(C)]
7661 pub union ICMP_MESSAGE_0 {
7662     pub Data32: [u32; 1],
7663     pub Data16: [u16; 2],
7664     pub Data8: [u8; 4],
7665 }
7666 impl ICMP_MESSAGE_0 {}
7667 impl ::std::default::Default for ICMP_MESSAGE_0 {
default() -> Self7668     fn default() -> Self {
7669         unsafe { ::std::mem::zeroed() }
7670     }
7671 }
7672 impl ::std::cmp::PartialEq for ICMP_MESSAGE_0 {
eq(&self, _other: &Self) -> bool7673     fn eq(&self, _other: &Self) -> bool {
7674         unimplemented!()
7675     }
7676 }
7677 impl ::std::cmp::Eq for ICMP_MESSAGE_0 {}
7678 unsafe impl ::windows::runtime::Abi for ICMP_MESSAGE_0 {
7679     type Abi = Self;
7680     type DefaultType = Self;
7681 }
7682 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7683 #[repr(C)]
7684 #[cfg(feature = "Win32_Networking_WinSock")]
7685 pub struct IGMPV3_QUERY_HEADER {
7686     pub Type: u8,
7687     pub Anonymous1: IGMPV3_QUERY_HEADER_0,
7688     pub Checksum: u16,
7689     pub MulticastAddress: super::super::Networking::WinSock::IN_ADDR,
7690     pub _bitfield: u8,
7691     pub Anonymous2: IGMPV3_QUERY_HEADER_1,
7692     pub SourceCount: u16,
7693 }
7694 #[cfg(feature = "Win32_Networking_WinSock")]
7695 impl IGMPV3_QUERY_HEADER {}
7696 #[cfg(feature = "Win32_Networking_WinSock")]
7697 impl ::std::default::Default for IGMPV3_QUERY_HEADER {
default() -> Self7698     fn default() -> Self {
7699         unsafe { ::std::mem::zeroed() }
7700     }
7701 }
7702 #[cfg(feature = "Win32_Networking_WinSock")]
7703 impl ::std::cmp::PartialEq for IGMPV3_QUERY_HEADER {
eq(&self, _other: &Self) -> bool7704     fn eq(&self, _other: &Self) -> bool {
7705         unimplemented!()
7706     }
7707 }
7708 #[cfg(feature = "Win32_Networking_WinSock")]
7709 impl ::std::cmp::Eq for IGMPV3_QUERY_HEADER {}
7710 #[cfg(feature = "Win32_Networking_WinSock")]
7711 unsafe impl ::windows::runtime::Abi for IGMPV3_QUERY_HEADER {
7712     type Abi = Self;
7713     type DefaultType = Self;
7714 }
7715 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7716 #[repr(C)]
7717 pub union IGMPV3_QUERY_HEADER_0 {
7718     pub MaxRespCode: u8,
7719     pub Anonymous: IGMPV3_QUERY_HEADER_0_0,
7720 }
7721 impl IGMPV3_QUERY_HEADER_0 {}
7722 impl ::std::default::Default for IGMPV3_QUERY_HEADER_0 {
default() -> Self7723     fn default() -> Self {
7724         unsafe { ::std::mem::zeroed() }
7725     }
7726 }
7727 impl ::std::cmp::PartialEq for IGMPV3_QUERY_HEADER_0 {
eq(&self, _other: &Self) -> bool7728     fn eq(&self, _other: &Self) -> bool {
7729         unimplemented!()
7730     }
7731 }
7732 impl ::std::cmp::Eq for IGMPV3_QUERY_HEADER_0 {}
7733 unsafe impl ::windows::runtime::Abi for IGMPV3_QUERY_HEADER_0 {
7734     type Abi = Self;
7735     type DefaultType = Self;
7736 }
7737 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7738 #[repr(C)]
7739 pub struct IGMPV3_QUERY_HEADER_0_0 {
7740     pub _bitfield: u8,
7741 }
7742 impl IGMPV3_QUERY_HEADER_0_0 {}
7743 impl ::std::default::Default for IGMPV3_QUERY_HEADER_0_0 {
default() -> Self7744     fn default() -> Self {
7745         unsafe { ::std::mem::zeroed() }
7746     }
7747 }
7748 impl ::std::fmt::Debug for IGMPV3_QUERY_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7749     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7750         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
7751     }
7752 }
7753 impl ::std::cmp::PartialEq for IGMPV3_QUERY_HEADER_0_0 {
eq(&self, other: &Self) -> bool7754     fn eq(&self, other: &Self) -> bool {
7755         self._bitfield == other._bitfield
7756     }
7757 }
7758 impl ::std::cmp::Eq for IGMPV3_QUERY_HEADER_0_0 {}
7759 unsafe impl ::windows::runtime::Abi for IGMPV3_QUERY_HEADER_0_0 {
7760     type Abi = Self;
7761     type DefaultType = Self;
7762 }
7763 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7764 #[repr(C)]
7765 pub union IGMPV3_QUERY_HEADER_1 {
7766     pub QueriersQueryInterfaceCode: u8,
7767     pub Anonymous: IGMPV3_QUERY_HEADER_1_0,
7768 }
7769 impl IGMPV3_QUERY_HEADER_1 {}
7770 impl ::std::default::Default for IGMPV3_QUERY_HEADER_1 {
default() -> Self7771     fn default() -> Self {
7772         unsafe { ::std::mem::zeroed() }
7773     }
7774 }
7775 impl ::std::cmp::PartialEq for IGMPV3_QUERY_HEADER_1 {
eq(&self, _other: &Self) -> bool7776     fn eq(&self, _other: &Self) -> bool {
7777         unimplemented!()
7778     }
7779 }
7780 impl ::std::cmp::Eq for IGMPV3_QUERY_HEADER_1 {}
7781 unsafe impl ::windows::runtime::Abi for IGMPV3_QUERY_HEADER_1 {
7782     type Abi = Self;
7783     type DefaultType = Self;
7784 }
7785 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7786 #[repr(C)]
7787 pub struct IGMPV3_QUERY_HEADER_1_0 {
7788     pub _bitfield: u8,
7789 }
7790 impl IGMPV3_QUERY_HEADER_1_0 {}
7791 impl ::std::default::Default for IGMPV3_QUERY_HEADER_1_0 {
default() -> Self7792     fn default() -> Self {
7793         unsafe { ::std::mem::zeroed() }
7794     }
7795 }
7796 impl ::std::fmt::Debug for IGMPV3_QUERY_HEADER_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7797     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7798         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
7799     }
7800 }
7801 impl ::std::cmp::PartialEq for IGMPV3_QUERY_HEADER_1_0 {
eq(&self, other: &Self) -> bool7802     fn eq(&self, other: &Self) -> bool {
7803         self._bitfield == other._bitfield
7804     }
7805 }
7806 impl ::std::cmp::Eq for IGMPV3_QUERY_HEADER_1_0 {}
7807 unsafe impl ::windows::runtime::Abi for IGMPV3_QUERY_HEADER_1_0 {
7808     type Abi = Self;
7809     type DefaultType = Self;
7810 }
7811 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7812 #[repr(C)]
7813 pub struct IGMPV3_REPORT_HEADER {
7814     pub Type: u8,
7815     pub Reserved: u8,
7816     pub Checksum: u16,
7817     pub Reserved2: u16,
7818     pub RecordCount: u16,
7819 }
7820 impl IGMPV3_REPORT_HEADER {}
7821 impl ::std::default::Default for IGMPV3_REPORT_HEADER {
default() -> Self7822     fn default() -> Self {
7823         unsafe { ::std::mem::zeroed() }
7824     }
7825 }
7826 impl ::std::fmt::Debug for IGMPV3_REPORT_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7827     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7828         fmt.debug_struct("IGMPV3_REPORT_HEADER").field("Type", &self.Type).field("Reserved", &self.Reserved).field("Checksum", &self.Checksum).field("Reserved2", &self.Reserved2).field("RecordCount", &self.RecordCount).finish()
7829     }
7830 }
7831 impl ::std::cmp::PartialEq for IGMPV3_REPORT_HEADER {
eq(&self, other: &Self) -> bool7832     fn eq(&self, other: &Self) -> bool {
7833         self.Type == other.Type && self.Reserved == other.Reserved && self.Checksum == other.Checksum && self.Reserved2 == other.Reserved2 && self.RecordCount == other.RecordCount
7834     }
7835 }
7836 impl ::std::cmp::Eq for IGMPV3_REPORT_HEADER {}
7837 unsafe impl ::windows::runtime::Abi for IGMPV3_REPORT_HEADER {
7838     type Abi = Self;
7839     type DefaultType = Self;
7840 }
7841 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7842 #[repr(C)]
7843 #[cfg(feature = "Win32_Networking_WinSock")]
7844 pub struct IGMPV3_REPORT_RECORD_HEADER {
7845     pub Type: u8,
7846     pub AuxillaryDataLength: u8,
7847     pub SourceCount: u16,
7848     pub MulticastAddress: super::super::Networking::WinSock::IN_ADDR,
7849 }
7850 #[cfg(feature = "Win32_Networking_WinSock")]
7851 impl IGMPV3_REPORT_RECORD_HEADER {}
7852 #[cfg(feature = "Win32_Networking_WinSock")]
7853 impl ::std::default::Default for IGMPV3_REPORT_RECORD_HEADER {
default() -> Self7854     fn default() -> Self {
7855         unsafe { ::std::mem::zeroed() }
7856     }
7857 }
7858 #[cfg(feature = "Win32_Networking_WinSock")]
7859 impl ::std::cmp::PartialEq for IGMPV3_REPORT_RECORD_HEADER {
eq(&self, _other: &Self) -> bool7860     fn eq(&self, _other: &Self) -> bool {
7861         unimplemented!()
7862     }
7863 }
7864 #[cfg(feature = "Win32_Networking_WinSock")]
7865 impl ::std::cmp::Eq for IGMPV3_REPORT_RECORD_HEADER {}
7866 #[cfg(feature = "Win32_Networking_WinSock")]
7867 unsafe impl ::windows::runtime::Abi for IGMPV3_REPORT_RECORD_HEADER {
7868     type Abi = Self;
7869     type DefaultType = Self;
7870 }
7871 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7872 #[repr(C)]
7873 #[cfg(feature = "Win32_Networking_WinSock")]
7874 pub struct IGMP_HEADER {
7875     pub Anonymous1: IGMP_HEADER_0,
7876     pub Anonymous2: IGMP_HEADER_1,
7877     pub Checksum: u16,
7878     pub MulticastAddress: super::super::Networking::WinSock::IN_ADDR,
7879 }
7880 #[cfg(feature = "Win32_Networking_WinSock")]
7881 impl IGMP_HEADER {}
7882 #[cfg(feature = "Win32_Networking_WinSock")]
7883 impl ::std::default::Default for IGMP_HEADER {
default() -> Self7884     fn default() -> Self {
7885         unsafe { ::std::mem::zeroed() }
7886     }
7887 }
7888 #[cfg(feature = "Win32_Networking_WinSock")]
7889 impl ::std::cmp::PartialEq for IGMP_HEADER {
eq(&self, _other: &Self) -> bool7890     fn eq(&self, _other: &Self) -> bool {
7891         unimplemented!()
7892     }
7893 }
7894 #[cfg(feature = "Win32_Networking_WinSock")]
7895 impl ::std::cmp::Eq for IGMP_HEADER {}
7896 #[cfg(feature = "Win32_Networking_WinSock")]
7897 unsafe impl ::windows::runtime::Abi for IGMP_HEADER {
7898     type Abi = Self;
7899     type DefaultType = Self;
7900 }
7901 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7902 #[repr(C)]
7903 pub union IGMP_HEADER_0 {
7904     pub Anonymous: IGMP_HEADER_0_0,
7905     pub VersionType: u8,
7906 }
7907 impl IGMP_HEADER_0 {}
7908 impl ::std::default::Default for IGMP_HEADER_0 {
default() -> Self7909     fn default() -> Self {
7910         unsafe { ::std::mem::zeroed() }
7911     }
7912 }
7913 impl ::std::cmp::PartialEq for IGMP_HEADER_0 {
eq(&self, _other: &Self) -> bool7914     fn eq(&self, _other: &Self) -> bool {
7915         unimplemented!()
7916     }
7917 }
7918 impl ::std::cmp::Eq for IGMP_HEADER_0 {}
7919 unsafe impl ::windows::runtime::Abi for IGMP_HEADER_0 {
7920     type Abi = Self;
7921     type DefaultType = Self;
7922 }
7923 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7924 #[repr(C)]
7925 pub struct IGMP_HEADER_0_0 {
7926     pub _bitfield: u8,
7927 }
7928 impl IGMP_HEADER_0_0 {}
7929 impl ::std::default::Default for IGMP_HEADER_0_0 {
default() -> Self7930     fn default() -> Self {
7931         unsafe { ::std::mem::zeroed() }
7932     }
7933 }
7934 impl ::std::fmt::Debug for IGMP_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7935     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7936         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
7937     }
7938 }
7939 impl ::std::cmp::PartialEq for IGMP_HEADER_0_0 {
eq(&self, other: &Self) -> bool7940     fn eq(&self, other: &Self) -> bool {
7941         self._bitfield == other._bitfield
7942     }
7943 }
7944 impl ::std::cmp::Eq for IGMP_HEADER_0_0 {}
7945 unsafe impl ::windows::runtime::Abi for IGMP_HEADER_0_0 {
7946     type Abi = Self;
7947     type DefaultType = Self;
7948 }
7949 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7950 #[repr(C)]
7951 pub union IGMP_HEADER_1 {
7952     pub Reserved: u8,
7953     pub MaxRespTime: u8,
7954     pub Code: u8,
7955 }
7956 impl IGMP_HEADER_1 {}
7957 impl ::std::default::Default for IGMP_HEADER_1 {
default() -> Self7958     fn default() -> Self {
7959         unsafe { ::std::mem::zeroed() }
7960     }
7961 }
7962 impl ::std::cmp::PartialEq for IGMP_HEADER_1 {
eq(&self, _other: &Self) -> bool7963     fn eq(&self, _other: &Self) -> bool {
7964         unimplemented!()
7965     }
7966 }
7967 impl ::std::cmp::Eq for IGMP_HEADER_1 {}
7968 unsafe impl ::windows::runtime::Abi for IGMP_HEADER_1 {
7969     type Abi = Self;
7970     type DefaultType = Self;
7971 }
7972 pub const IGMP_LEAVE_GROUP_TYPE: u32 = 23u32;
7973 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7974 #[repr(transparent)]
7975 pub struct IGMP_MAX_RESP_CODE_TYPE(pub i32);
7976 pub const IGMP_MAX_RESP_CODE_TYPE_NORMAL: IGMP_MAX_RESP_CODE_TYPE = IGMP_MAX_RESP_CODE_TYPE(0i32);
7977 pub const IGMP_MAX_RESP_CODE_TYPE_FLOAT: IGMP_MAX_RESP_CODE_TYPE = IGMP_MAX_RESP_CODE_TYPE(1i32);
7978 impl ::std::convert::From<i32> for IGMP_MAX_RESP_CODE_TYPE {
from(value: i32) -> Self7979     fn from(value: i32) -> Self {
7980         Self(value)
7981     }
7982 }
7983 unsafe impl ::windows::runtime::Abi for IGMP_MAX_RESP_CODE_TYPE {
7984     type Abi = Self;
7985     type DefaultType = Self;
7986 }
7987 pub const IGMP_QUERY_TYPE: u32 = 17u32;
7988 pub const IGMP_VERSION1_REPORT_TYPE: u32 = 18u32;
7989 pub const IGMP_VERSION2_REPORT_TYPE: u32 = 22u32;
7990 pub const IGMP_VERSION3_REPORT_TYPE: u32 = 34u32;
7991 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7992 #[repr(transparent)]
7993 pub struct IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE(pub i32);
7994 pub const IKEEXT_IMPERSONATION_NONE: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE(0i32);
7995 pub const IKEEXT_IMPERSONATION_SOCKET_PRINCIPAL: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE(1i32);
7996 pub const IKEEXT_IMPERSONATION_MAX: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE(2i32);
7997 impl ::std::convert::From<i32> for IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE {
from(value: i32) -> Self7998     fn from(value: i32) -> Self {
7999         Self(value)
8000     }
8001 }
8002 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE {
8003     type Abi = Self;
8004     type DefaultType = Self;
8005 }
8006 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8007 #[repr(C)]
8008 #[cfg(feature = "Win32_Foundation")]
8009 pub struct IKEEXT_AUTHENTICATION_METHOD0 {
8010     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
8011     pub Anonymous: IKEEXT_AUTHENTICATION_METHOD0_0,
8012 }
8013 #[cfg(feature = "Win32_Foundation")]
8014 impl IKEEXT_AUTHENTICATION_METHOD0 {}
8015 #[cfg(feature = "Win32_Foundation")]
8016 impl ::std::default::Default for IKEEXT_AUTHENTICATION_METHOD0 {
default() -> Self8017     fn default() -> Self {
8018         unsafe { ::std::mem::zeroed() }
8019     }
8020 }
8021 #[cfg(feature = "Win32_Foundation")]
8022 impl ::std::cmp::PartialEq for IKEEXT_AUTHENTICATION_METHOD0 {
eq(&self, _other: &Self) -> bool8023     fn eq(&self, _other: &Self) -> bool {
8024         unimplemented!()
8025     }
8026 }
8027 #[cfg(feature = "Win32_Foundation")]
8028 impl ::std::cmp::Eq for IKEEXT_AUTHENTICATION_METHOD0 {}
8029 #[cfg(feature = "Win32_Foundation")]
8030 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD0 {
8031     type Abi = Self;
8032     type DefaultType = Self;
8033 }
8034 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8035 #[repr(C)]
8036 #[cfg(feature = "Win32_Foundation")]
8037 pub union IKEEXT_AUTHENTICATION_METHOD0_0 {
8038     pub presharedKeyAuthentication: IKEEXT_PRESHARED_KEY_AUTHENTICATION0,
8039     pub certificateAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION0,
8040     pub kerberosAuthentication: IKEEXT_KERBEROS_AUTHENTICATION0,
8041     pub ntlmV2Authentication: IKEEXT_NTLM_V2_AUTHENTICATION0,
8042     pub sslAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION0,
8043     pub cgaAuthentication: IKEEXT_IPV6_CGA_AUTHENTICATION0,
8044 }
8045 #[cfg(feature = "Win32_Foundation")]
8046 impl IKEEXT_AUTHENTICATION_METHOD0_0 {}
8047 #[cfg(feature = "Win32_Foundation")]
8048 impl ::std::default::Default for IKEEXT_AUTHENTICATION_METHOD0_0 {
default() -> Self8049     fn default() -> Self {
8050         unsafe { ::std::mem::zeroed() }
8051     }
8052 }
8053 #[cfg(feature = "Win32_Foundation")]
8054 impl ::std::cmp::PartialEq for IKEEXT_AUTHENTICATION_METHOD0_0 {
eq(&self, _other: &Self) -> bool8055     fn eq(&self, _other: &Self) -> bool {
8056         unimplemented!()
8057     }
8058 }
8059 #[cfg(feature = "Win32_Foundation")]
8060 impl ::std::cmp::Eq for IKEEXT_AUTHENTICATION_METHOD0_0 {}
8061 #[cfg(feature = "Win32_Foundation")]
8062 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD0_0 {
8063     type Abi = Self;
8064     type DefaultType = Self;
8065 }
8066 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8067 #[repr(C)]
8068 #[cfg(feature = "Win32_Foundation")]
8069 pub struct IKEEXT_AUTHENTICATION_METHOD1 {
8070     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
8071     pub Anonymous: IKEEXT_AUTHENTICATION_METHOD1_0,
8072 }
8073 #[cfg(feature = "Win32_Foundation")]
8074 impl IKEEXT_AUTHENTICATION_METHOD1 {}
8075 #[cfg(feature = "Win32_Foundation")]
8076 impl ::std::default::Default for IKEEXT_AUTHENTICATION_METHOD1 {
default() -> Self8077     fn default() -> Self {
8078         unsafe { ::std::mem::zeroed() }
8079     }
8080 }
8081 #[cfg(feature = "Win32_Foundation")]
8082 impl ::std::cmp::PartialEq for IKEEXT_AUTHENTICATION_METHOD1 {
eq(&self, _other: &Self) -> bool8083     fn eq(&self, _other: &Self) -> bool {
8084         unimplemented!()
8085     }
8086 }
8087 #[cfg(feature = "Win32_Foundation")]
8088 impl ::std::cmp::Eq for IKEEXT_AUTHENTICATION_METHOD1 {}
8089 #[cfg(feature = "Win32_Foundation")]
8090 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD1 {
8091     type Abi = Self;
8092     type DefaultType = Self;
8093 }
8094 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8095 #[repr(C)]
8096 #[cfg(feature = "Win32_Foundation")]
8097 pub union IKEEXT_AUTHENTICATION_METHOD1_0 {
8098     pub presharedKeyAuthentication: IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
8099     pub certificateAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION1,
8100     pub kerberosAuthentication: IKEEXT_KERBEROS_AUTHENTICATION0,
8101     pub ntlmV2Authentication: IKEEXT_NTLM_V2_AUTHENTICATION0,
8102     pub sslAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION1,
8103     pub cgaAuthentication: IKEEXT_IPV6_CGA_AUTHENTICATION0,
8104     pub eapAuthentication: IKEEXT_EAP_AUTHENTICATION0,
8105 }
8106 #[cfg(feature = "Win32_Foundation")]
8107 impl IKEEXT_AUTHENTICATION_METHOD1_0 {}
8108 #[cfg(feature = "Win32_Foundation")]
8109 impl ::std::default::Default for IKEEXT_AUTHENTICATION_METHOD1_0 {
default() -> Self8110     fn default() -> Self {
8111         unsafe { ::std::mem::zeroed() }
8112     }
8113 }
8114 #[cfg(feature = "Win32_Foundation")]
8115 impl ::std::cmp::PartialEq for IKEEXT_AUTHENTICATION_METHOD1_0 {
eq(&self, _other: &Self) -> bool8116     fn eq(&self, _other: &Self) -> bool {
8117         unimplemented!()
8118     }
8119 }
8120 #[cfg(feature = "Win32_Foundation")]
8121 impl ::std::cmp::Eq for IKEEXT_AUTHENTICATION_METHOD1_0 {}
8122 #[cfg(feature = "Win32_Foundation")]
8123 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD1_0 {
8124     type Abi = Self;
8125     type DefaultType = Self;
8126 }
8127 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8128 #[repr(C)]
8129 #[cfg(feature = "Win32_Foundation")]
8130 pub struct IKEEXT_AUTHENTICATION_METHOD2 {
8131     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
8132     pub Anonymous: IKEEXT_AUTHENTICATION_METHOD2_0,
8133 }
8134 #[cfg(feature = "Win32_Foundation")]
8135 impl IKEEXT_AUTHENTICATION_METHOD2 {}
8136 #[cfg(feature = "Win32_Foundation")]
8137 impl ::std::default::Default for IKEEXT_AUTHENTICATION_METHOD2 {
default() -> Self8138     fn default() -> Self {
8139         unsafe { ::std::mem::zeroed() }
8140     }
8141 }
8142 #[cfg(feature = "Win32_Foundation")]
8143 impl ::std::cmp::PartialEq for IKEEXT_AUTHENTICATION_METHOD2 {
eq(&self, _other: &Self) -> bool8144     fn eq(&self, _other: &Self) -> bool {
8145         unimplemented!()
8146     }
8147 }
8148 #[cfg(feature = "Win32_Foundation")]
8149 impl ::std::cmp::Eq for IKEEXT_AUTHENTICATION_METHOD2 {}
8150 #[cfg(feature = "Win32_Foundation")]
8151 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD2 {
8152     type Abi = Self;
8153     type DefaultType = Self;
8154 }
8155 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8156 #[repr(C)]
8157 #[cfg(feature = "Win32_Foundation")]
8158 pub union IKEEXT_AUTHENTICATION_METHOD2_0 {
8159     pub presharedKeyAuthentication: IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
8160     pub certificateAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION2,
8161     pub kerberosAuthentication: IKEEXT_KERBEROS_AUTHENTICATION1,
8162     pub reservedAuthentication: IKEEXT_RESERVED_AUTHENTICATION0,
8163     pub ntlmV2Authentication: IKEEXT_NTLM_V2_AUTHENTICATION0,
8164     pub sslAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION2,
8165     pub cgaAuthentication: IKEEXT_IPV6_CGA_AUTHENTICATION0,
8166     pub eapAuthentication: IKEEXT_EAP_AUTHENTICATION0,
8167 }
8168 #[cfg(feature = "Win32_Foundation")]
8169 impl IKEEXT_AUTHENTICATION_METHOD2_0 {}
8170 #[cfg(feature = "Win32_Foundation")]
8171 impl ::std::default::Default for IKEEXT_AUTHENTICATION_METHOD2_0 {
default() -> Self8172     fn default() -> Self {
8173         unsafe { ::std::mem::zeroed() }
8174     }
8175 }
8176 #[cfg(feature = "Win32_Foundation")]
8177 impl ::std::cmp::PartialEq for IKEEXT_AUTHENTICATION_METHOD2_0 {
eq(&self, _other: &Self) -> bool8178     fn eq(&self, _other: &Self) -> bool {
8179         unimplemented!()
8180     }
8181 }
8182 #[cfg(feature = "Win32_Foundation")]
8183 impl ::std::cmp::Eq for IKEEXT_AUTHENTICATION_METHOD2_0 {}
8184 #[cfg(feature = "Win32_Foundation")]
8185 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD2_0 {
8186     type Abi = Self;
8187     type DefaultType = Self;
8188 }
8189 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8190 #[repr(transparent)]
8191 pub struct IKEEXT_AUTHENTICATION_METHOD_TYPE(pub i32);
8192 pub const IKEEXT_PRESHARED_KEY: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(0i32);
8193 pub const IKEEXT_CERTIFICATE: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(1i32);
8194 pub const IKEEXT_KERBEROS: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(2i32);
8195 pub const IKEEXT_ANONYMOUS: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(3i32);
8196 pub const IKEEXT_SSL: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(4i32);
8197 pub const IKEEXT_NTLM_V2: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(5i32);
8198 pub const IKEEXT_IPV6_CGA: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(6i32);
8199 pub const IKEEXT_CERTIFICATE_ECDSA_P256: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(7i32);
8200 pub const IKEEXT_CERTIFICATE_ECDSA_P384: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(8i32);
8201 pub const IKEEXT_SSL_ECDSA_P256: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(9i32);
8202 pub const IKEEXT_SSL_ECDSA_P384: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(10i32);
8203 pub const IKEEXT_EAP: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(11i32);
8204 pub const IKEEXT_RESERVED: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(12i32);
8205 pub const IKEEXT_AUTHENTICATION_METHOD_TYPE_MAX: IKEEXT_AUTHENTICATION_METHOD_TYPE = IKEEXT_AUTHENTICATION_METHOD_TYPE(13i32);
8206 impl ::std::convert::From<i32> for IKEEXT_AUTHENTICATION_METHOD_TYPE {
from(value: i32) -> Self8207     fn from(value: i32) -> Self {
8208         Self(value)
8209     }
8210 }
8211 unsafe impl ::windows::runtime::Abi for IKEEXT_AUTHENTICATION_METHOD_TYPE {
8212     type Abi = Self;
8213     type DefaultType = Self;
8214 }
8215 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8216 #[repr(C)]
8217 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION0 {
8218     pub inboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
8219     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION0_0,
8220     pub outboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
8221     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION0_1,
8222     pub flags: IKEEXT_CERT_AUTH,
8223 }
8224 impl IKEEXT_CERTIFICATE_AUTHENTICATION0 {}
8225 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION0 {
default() -> Self8226     fn default() -> Self {
8227         unsafe { ::std::mem::zeroed() }
8228     }
8229 }
8230 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION0 {
eq(&self, _other: &Self) -> bool8231     fn eq(&self, _other: &Self) -> bool {
8232         unimplemented!()
8233     }
8234 }
8235 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION0 {}
8236 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION0 {
8237     type Abi = Self;
8238     type DefaultType = Self;
8239 }
8240 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8241 #[repr(C)]
8242 pub union IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {
8243     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0,
8244     pub inboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8245     pub inboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8246 }
8247 impl IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {}
8248 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {
default() -> Self8249     fn default() -> Self {
8250         unsafe { ::std::mem::zeroed() }
8251     }
8252 }
8253 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {
eq(&self, _other: &Self) -> bool8254     fn eq(&self, _other: &Self) -> bool {
8255         unimplemented!()
8256     }
8257 }
8258 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {}
8259 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {
8260     type Abi = Self;
8261     type DefaultType = Self;
8262 }
8263 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8264 #[repr(C)]
8265 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
8266     pub inboundRootArraySize: u32,
8267     pub inboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
8268 }
8269 impl IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {}
8270 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
default() -> Self8271     fn default() -> Self {
8272         unsafe { ::std::mem::zeroed() }
8273     }
8274 }
8275 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8276     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8277         fmt.debug_struct("_Anonymous_e__Struct").field("inboundRootArraySize", &self.inboundRootArraySize).field("inboundRootArray", &self.inboundRootArray).finish()
8278     }
8279 }
8280 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
eq(&self, other: &Self) -> bool8281     fn eq(&self, other: &Self) -> bool {
8282         self.inboundRootArraySize == other.inboundRootArraySize && self.inboundRootArray == other.inboundRootArray
8283     }
8284 }
8285 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {}
8286 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
8287     type Abi = Self;
8288     type DefaultType = Self;
8289 }
8290 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8291 #[repr(C)]
8292 pub union IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {
8293     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0,
8294     pub outboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8295     pub outboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8296 }
8297 impl IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {}
8298 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {
default() -> Self8299     fn default() -> Self {
8300         unsafe { ::std::mem::zeroed() }
8301     }
8302 }
8303 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {
eq(&self, _other: &Self) -> bool8304     fn eq(&self, _other: &Self) -> bool {
8305         unimplemented!()
8306     }
8307 }
8308 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {}
8309 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {
8310     type Abi = Self;
8311     type DefaultType = Self;
8312 }
8313 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8314 #[repr(C)]
8315 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
8316     pub outboundRootArraySize: u32,
8317     pub outboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
8318 }
8319 impl IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {}
8320 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
default() -> Self8321     fn default() -> Self {
8322         unsafe { ::std::mem::zeroed() }
8323     }
8324 }
8325 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8326     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8327         fmt.debug_struct("_Anonymous_e__Struct").field("outboundRootArraySize", &self.outboundRootArraySize).field("outboundRootArray", &self.outboundRootArray).finish()
8328     }
8329 }
8330 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
eq(&self, other: &Self) -> bool8331     fn eq(&self, other: &Self) -> bool {
8332         self.outboundRootArraySize == other.outboundRootArraySize && self.outboundRootArray == other.outboundRootArray
8333     }
8334 }
8335 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {}
8336 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
8337     type Abi = Self;
8338     type DefaultType = Self;
8339 }
8340 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8341 #[repr(C)]
8342 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION1 {
8343     pub inboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
8344     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION1_0,
8345     pub outboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
8346     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION1_1,
8347     pub flags: IKEEXT_CERT_AUTH,
8348     pub localCertLocationUrl: FWP_BYTE_BLOB,
8349 }
8350 impl IKEEXT_CERTIFICATE_AUTHENTICATION1 {}
8351 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION1 {
default() -> Self8352     fn default() -> Self {
8353         unsafe { ::std::mem::zeroed() }
8354     }
8355 }
8356 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION1 {
eq(&self, _other: &Self) -> bool8357     fn eq(&self, _other: &Self) -> bool {
8358         unimplemented!()
8359     }
8360 }
8361 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION1 {}
8362 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION1 {
8363     type Abi = Self;
8364     type DefaultType = Self;
8365 }
8366 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8367 #[repr(C)]
8368 pub union IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {
8369     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0,
8370     pub inboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8371     pub inboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8372 }
8373 impl IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {}
8374 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {
default() -> Self8375     fn default() -> Self {
8376         unsafe { ::std::mem::zeroed() }
8377     }
8378 }
8379 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {
eq(&self, _other: &Self) -> bool8380     fn eq(&self, _other: &Self) -> bool {
8381         unimplemented!()
8382     }
8383 }
8384 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {}
8385 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {
8386     type Abi = Self;
8387     type DefaultType = Self;
8388 }
8389 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8390 #[repr(C)]
8391 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
8392     pub inboundRootArraySize: u32,
8393     pub inboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
8394 }
8395 impl IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {}
8396 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
default() -> Self8397     fn default() -> Self {
8398         unsafe { ::std::mem::zeroed() }
8399     }
8400 }
8401 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8402     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8403         fmt.debug_struct("_Anonymous_e__Struct").field("inboundRootArraySize", &self.inboundRootArraySize).field("inboundRootArray", &self.inboundRootArray).finish()
8404     }
8405 }
8406 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
eq(&self, other: &Self) -> bool8407     fn eq(&self, other: &Self) -> bool {
8408         self.inboundRootArraySize == other.inboundRootArraySize && self.inboundRootArray == other.inboundRootArray
8409     }
8410 }
8411 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {}
8412 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
8413     type Abi = Self;
8414     type DefaultType = Self;
8415 }
8416 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8417 #[repr(C)]
8418 pub union IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {
8419     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0,
8420     pub outboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8421     pub outboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
8422 }
8423 impl IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {}
8424 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {
default() -> Self8425     fn default() -> Self {
8426         unsafe { ::std::mem::zeroed() }
8427     }
8428 }
8429 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {
eq(&self, _other: &Self) -> bool8430     fn eq(&self, _other: &Self) -> bool {
8431         unimplemented!()
8432     }
8433 }
8434 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {}
8435 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {
8436     type Abi = Self;
8437     type DefaultType = Self;
8438 }
8439 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8440 #[repr(C)]
8441 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
8442     pub outboundRootArraySize: u32,
8443     pub outboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
8444 }
8445 impl IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {}
8446 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
default() -> Self8447     fn default() -> Self {
8448         unsafe { ::std::mem::zeroed() }
8449     }
8450 }
8451 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8452     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8453         fmt.debug_struct("_Anonymous_e__Struct").field("outboundRootArraySize", &self.outboundRootArraySize).field("outboundRootArray", &self.outboundRootArray).finish()
8454     }
8455 }
8456 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
eq(&self, other: &Self) -> bool8457     fn eq(&self, other: &Self) -> bool {
8458         self.outboundRootArraySize == other.outboundRootArraySize && self.outboundRootArray == other.outboundRootArray
8459     }
8460 }
8461 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {}
8462 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
8463     type Abi = Self;
8464     type DefaultType = Self;
8465 }
8466 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8467 #[repr(C)]
8468 #[cfg(feature = "Win32_Foundation")]
8469 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2 {
8470     pub inboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
8471     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION2_0,
8472     pub outboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
8473     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION2_1,
8474     pub flags: IKEEXT_CERT_AUTH,
8475     pub localCertLocationUrl: FWP_BYTE_BLOB,
8476 }
8477 #[cfg(feature = "Win32_Foundation")]
8478 impl IKEEXT_CERTIFICATE_AUTHENTICATION2 {}
8479 #[cfg(feature = "Win32_Foundation")]
8480 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2 {
default() -> Self8481     fn default() -> Self {
8482         unsafe { ::std::mem::zeroed() }
8483     }
8484 }
8485 #[cfg(feature = "Win32_Foundation")]
8486 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2 {
eq(&self, _other: &Self) -> bool8487     fn eq(&self, _other: &Self) -> bool {
8488         unimplemented!()
8489     }
8490 }
8491 #[cfg(feature = "Win32_Foundation")]
8492 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2 {}
8493 #[cfg(feature = "Win32_Foundation")]
8494 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2 {
8495     type Abi = Self;
8496     type DefaultType = Self;
8497 }
8498 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8499 #[repr(C)]
8500 #[cfg(feature = "Win32_Foundation")]
8501 pub union IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {
8502     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0,
8503     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1,
8504     pub Anonymous3: IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2,
8505 }
8506 #[cfg(feature = "Win32_Foundation")]
8507 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {}
8508 #[cfg(feature = "Win32_Foundation")]
8509 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {
default() -> Self8510     fn default() -> Self {
8511         unsafe { ::std::mem::zeroed() }
8512     }
8513 }
8514 #[cfg(feature = "Win32_Foundation")]
8515 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {
eq(&self, _other: &Self) -> bool8516     fn eq(&self, _other: &Self) -> bool {
8517         unimplemented!()
8518     }
8519 }
8520 #[cfg(feature = "Win32_Foundation")]
8521 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {}
8522 #[cfg(feature = "Win32_Foundation")]
8523 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {
8524     type Abi = Self;
8525     type DefaultType = Self;
8526 }
8527 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8528 #[repr(C)]
8529 #[cfg(feature = "Win32_Foundation")]
8530 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
8531     pub inboundRootArraySize: u32,
8532     pub inboundRootCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
8533 }
8534 #[cfg(feature = "Win32_Foundation")]
8535 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {}
8536 #[cfg(feature = "Win32_Foundation")]
8537 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
default() -> Self8538     fn default() -> Self {
8539         unsafe { ::std::mem::zeroed() }
8540     }
8541 }
8542 #[cfg(feature = "Win32_Foundation")]
8543 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8544     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8545         fmt.debug_struct("_Anonymous1_e__Struct").field("inboundRootArraySize", &self.inboundRootArraySize).field("inboundRootCriteria", &self.inboundRootCriteria).finish()
8546     }
8547 }
8548 #[cfg(feature = "Win32_Foundation")]
8549 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
eq(&self, other: &Self) -> bool8550     fn eq(&self, other: &Self) -> bool {
8551         self.inboundRootArraySize == other.inboundRootArraySize && self.inboundRootCriteria == other.inboundRootCriteria
8552     }
8553 }
8554 #[cfg(feature = "Win32_Foundation")]
8555 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {}
8556 #[cfg(feature = "Win32_Foundation")]
8557 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
8558     type Abi = Self;
8559     type DefaultType = Self;
8560 }
8561 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8562 #[repr(C)]
8563 #[cfg(feature = "Win32_Foundation")]
8564 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
8565     pub inboundEnterpriseStoreArraySize: u32,
8566     pub inboundEnterpriseStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
8567 }
8568 #[cfg(feature = "Win32_Foundation")]
8569 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {}
8570 #[cfg(feature = "Win32_Foundation")]
8571 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
default() -> Self8572     fn default() -> Self {
8573         unsafe { ::std::mem::zeroed() }
8574     }
8575 }
8576 #[cfg(feature = "Win32_Foundation")]
8577 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8578     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8579         fmt.debug_struct("_Anonymous2_e__Struct").field("inboundEnterpriseStoreArraySize", &self.inboundEnterpriseStoreArraySize).field("inboundEnterpriseStoreCriteria", &self.inboundEnterpriseStoreCriteria).finish()
8580     }
8581 }
8582 #[cfg(feature = "Win32_Foundation")]
8583 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
eq(&self, other: &Self) -> bool8584     fn eq(&self, other: &Self) -> bool {
8585         self.inboundEnterpriseStoreArraySize == other.inboundEnterpriseStoreArraySize && self.inboundEnterpriseStoreCriteria == other.inboundEnterpriseStoreCriteria
8586     }
8587 }
8588 #[cfg(feature = "Win32_Foundation")]
8589 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {}
8590 #[cfg(feature = "Win32_Foundation")]
8591 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
8592     type Abi = Self;
8593     type DefaultType = Self;
8594 }
8595 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8596 #[repr(C)]
8597 #[cfg(feature = "Win32_Foundation")]
8598 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
8599     pub inboundRootStoreArraySize: u32,
8600     pub inboundTrustedRootStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
8601 }
8602 #[cfg(feature = "Win32_Foundation")]
8603 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {}
8604 #[cfg(feature = "Win32_Foundation")]
8605 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
default() -> Self8606     fn default() -> Self {
8607         unsafe { ::std::mem::zeroed() }
8608     }
8609 }
8610 #[cfg(feature = "Win32_Foundation")]
8611 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8612     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8613         fmt.debug_struct("_Anonymous3_e__Struct").field("inboundRootStoreArraySize", &self.inboundRootStoreArraySize).field("inboundTrustedRootStoreCriteria", &self.inboundTrustedRootStoreCriteria).finish()
8614     }
8615 }
8616 #[cfg(feature = "Win32_Foundation")]
8617 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
eq(&self, other: &Self) -> bool8618     fn eq(&self, other: &Self) -> bool {
8619         self.inboundRootStoreArraySize == other.inboundRootStoreArraySize && self.inboundTrustedRootStoreCriteria == other.inboundTrustedRootStoreCriteria
8620     }
8621 }
8622 #[cfg(feature = "Win32_Foundation")]
8623 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {}
8624 #[cfg(feature = "Win32_Foundation")]
8625 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
8626     type Abi = Self;
8627     type DefaultType = Self;
8628 }
8629 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8630 #[repr(C)]
8631 #[cfg(feature = "Win32_Foundation")]
8632 pub union IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {
8633     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0,
8634     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1,
8635     pub Anonymous3: IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2,
8636 }
8637 #[cfg(feature = "Win32_Foundation")]
8638 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {}
8639 #[cfg(feature = "Win32_Foundation")]
8640 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {
default() -> Self8641     fn default() -> Self {
8642         unsafe { ::std::mem::zeroed() }
8643     }
8644 }
8645 #[cfg(feature = "Win32_Foundation")]
8646 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {
eq(&self, _other: &Self) -> bool8647     fn eq(&self, _other: &Self) -> bool {
8648         unimplemented!()
8649     }
8650 }
8651 #[cfg(feature = "Win32_Foundation")]
8652 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {}
8653 #[cfg(feature = "Win32_Foundation")]
8654 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {
8655     type Abi = Self;
8656     type DefaultType = Self;
8657 }
8658 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8659 #[repr(C)]
8660 #[cfg(feature = "Win32_Foundation")]
8661 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
8662     pub outboundRootArraySize: u32,
8663     pub outboundRootCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
8664 }
8665 #[cfg(feature = "Win32_Foundation")]
8666 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {}
8667 #[cfg(feature = "Win32_Foundation")]
8668 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
default() -> Self8669     fn default() -> Self {
8670         unsafe { ::std::mem::zeroed() }
8671     }
8672 }
8673 #[cfg(feature = "Win32_Foundation")]
8674 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8675     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8676         fmt.debug_struct("_Anonymous1_e__Struct").field("outboundRootArraySize", &self.outboundRootArraySize).field("outboundRootCriteria", &self.outboundRootCriteria).finish()
8677     }
8678 }
8679 #[cfg(feature = "Win32_Foundation")]
8680 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
eq(&self, other: &Self) -> bool8681     fn eq(&self, other: &Self) -> bool {
8682         self.outboundRootArraySize == other.outboundRootArraySize && self.outboundRootCriteria == other.outboundRootCriteria
8683     }
8684 }
8685 #[cfg(feature = "Win32_Foundation")]
8686 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {}
8687 #[cfg(feature = "Win32_Foundation")]
8688 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
8689     type Abi = Self;
8690     type DefaultType = Self;
8691 }
8692 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8693 #[repr(C)]
8694 #[cfg(feature = "Win32_Foundation")]
8695 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
8696     pub outboundEnterpriseStoreArraySize: u32,
8697     pub outboundEnterpriseStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
8698 }
8699 #[cfg(feature = "Win32_Foundation")]
8700 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {}
8701 #[cfg(feature = "Win32_Foundation")]
8702 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
default() -> Self8703     fn default() -> Self {
8704         unsafe { ::std::mem::zeroed() }
8705     }
8706 }
8707 #[cfg(feature = "Win32_Foundation")]
8708 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8709     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8710         fmt.debug_struct("_Anonymous2_e__Struct").field("outboundEnterpriseStoreArraySize", &self.outboundEnterpriseStoreArraySize).field("outboundEnterpriseStoreCriteria", &self.outboundEnterpriseStoreCriteria).finish()
8711     }
8712 }
8713 #[cfg(feature = "Win32_Foundation")]
8714 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
eq(&self, other: &Self) -> bool8715     fn eq(&self, other: &Self) -> bool {
8716         self.outboundEnterpriseStoreArraySize == other.outboundEnterpriseStoreArraySize && self.outboundEnterpriseStoreCriteria == other.outboundEnterpriseStoreCriteria
8717     }
8718 }
8719 #[cfg(feature = "Win32_Foundation")]
8720 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {}
8721 #[cfg(feature = "Win32_Foundation")]
8722 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
8723     type Abi = Self;
8724     type DefaultType = Self;
8725 }
8726 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8727 #[repr(C)]
8728 #[cfg(feature = "Win32_Foundation")]
8729 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
8730     pub outboundRootStoreArraySize: u32,
8731     pub outboundTrustedRootStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
8732 }
8733 #[cfg(feature = "Win32_Foundation")]
8734 impl IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {}
8735 #[cfg(feature = "Win32_Foundation")]
8736 impl ::std::default::Default for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
default() -> Self8737     fn default() -> Self {
8738         unsafe { ::std::mem::zeroed() }
8739     }
8740 }
8741 #[cfg(feature = "Win32_Foundation")]
8742 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8743     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8744         fmt.debug_struct("_Anonymous3_e__Struct").field("outboundRootStoreArraySize", &self.outboundRootStoreArraySize).field("outboundTrustedRootStoreCriteria", &self.outboundTrustedRootStoreCriteria).finish()
8745     }
8746 }
8747 #[cfg(feature = "Win32_Foundation")]
8748 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
eq(&self, other: &Self) -> bool8749     fn eq(&self, other: &Self) -> bool {
8750         self.outboundRootStoreArraySize == other.outboundRootStoreArraySize && self.outboundTrustedRootStoreCriteria == other.outboundTrustedRootStoreCriteria
8751     }
8752 }
8753 #[cfg(feature = "Win32_Foundation")]
8754 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {}
8755 #[cfg(feature = "Win32_Foundation")]
8756 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
8757     type Abi = Self;
8758     type DefaultType = Self;
8759 }
8760 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8761 #[repr(C)]
8762 pub struct IKEEXT_CERTIFICATE_CREDENTIAL0 {
8763     pub subjectName: FWP_BYTE_BLOB,
8764     pub certHash: FWP_BYTE_BLOB,
8765     pub flags: u32,
8766 }
8767 impl IKEEXT_CERTIFICATE_CREDENTIAL0 {}
8768 impl ::std::default::Default for IKEEXT_CERTIFICATE_CREDENTIAL0 {
default() -> Self8769     fn default() -> Self {
8770         unsafe { ::std::mem::zeroed() }
8771     }
8772 }
8773 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_CREDENTIAL0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8774     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8775         fmt.debug_struct("IKEEXT_CERTIFICATE_CREDENTIAL0").field("subjectName", &self.subjectName).field("certHash", &self.certHash).field("flags", &self.flags).finish()
8776     }
8777 }
8778 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_CREDENTIAL0 {
eq(&self, other: &Self) -> bool8779     fn eq(&self, other: &Self) -> bool {
8780         self.subjectName == other.subjectName && self.certHash == other.certHash && self.flags == other.flags
8781     }
8782 }
8783 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_CREDENTIAL0 {}
8784 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_CREDENTIAL0 {
8785     type Abi = Self;
8786     type DefaultType = Self;
8787 }
8788 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8789 #[repr(C)]
8790 pub struct IKEEXT_CERTIFICATE_CREDENTIAL1 {
8791     pub subjectName: FWP_BYTE_BLOB,
8792     pub certHash: FWP_BYTE_BLOB,
8793     pub flags: u32,
8794     pub certificate: FWP_BYTE_BLOB,
8795 }
8796 impl IKEEXT_CERTIFICATE_CREDENTIAL1 {}
8797 impl ::std::default::Default for IKEEXT_CERTIFICATE_CREDENTIAL1 {
default() -> Self8798     fn default() -> Self {
8799         unsafe { ::std::mem::zeroed() }
8800     }
8801 }
8802 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_CREDENTIAL1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8803     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8804         fmt.debug_struct("IKEEXT_CERTIFICATE_CREDENTIAL1").field("subjectName", &self.subjectName).field("certHash", &self.certHash).field("flags", &self.flags).field("certificate", &self.certificate).finish()
8805     }
8806 }
8807 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_CREDENTIAL1 {
eq(&self, other: &Self) -> bool8808     fn eq(&self, other: &Self) -> bool {
8809         self.subjectName == other.subjectName && self.certHash == other.certHash && self.flags == other.flags && self.certificate == other.certificate
8810     }
8811 }
8812 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_CREDENTIAL1 {}
8813 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_CREDENTIAL1 {
8814     type Abi = Self;
8815     type DefaultType = Self;
8816 }
8817 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8818 #[repr(C)]
8819 #[cfg(feature = "Win32_Foundation")]
8820 pub struct IKEEXT_CERTIFICATE_CRITERIA0 {
8821     pub certData: FWP_BYTE_BLOB,
8822     pub certHash: FWP_BYTE_BLOB,
8823     pub eku: *mut IKEEXT_CERT_EKUS0,
8824     pub name: *mut IKEEXT_CERT_NAME0,
8825     pub flags: u32,
8826 }
8827 #[cfg(feature = "Win32_Foundation")]
8828 impl IKEEXT_CERTIFICATE_CRITERIA0 {}
8829 #[cfg(feature = "Win32_Foundation")]
8830 impl ::std::default::Default for IKEEXT_CERTIFICATE_CRITERIA0 {
default() -> Self8831     fn default() -> Self {
8832         unsafe { ::std::mem::zeroed() }
8833     }
8834 }
8835 #[cfg(feature = "Win32_Foundation")]
8836 impl ::std::fmt::Debug for IKEEXT_CERTIFICATE_CRITERIA0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8837     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8838         fmt.debug_struct("IKEEXT_CERTIFICATE_CRITERIA0").field("certData", &self.certData).field("certHash", &self.certHash).field("eku", &self.eku).field("name", &self.name).field("flags", &self.flags).finish()
8839     }
8840 }
8841 #[cfg(feature = "Win32_Foundation")]
8842 impl ::std::cmp::PartialEq for IKEEXT_CERTIFICATE_CRITERIA0 {
eq(&self, other: &Self) -> bool8843     fn eq(&self, other: &Self) -> bool {
8844         self.certData == other.certData && self.certHash == other.certHash && self.eku == other.eku && self.name == other.name && self.flags == other.flags
8845     }
8846 }
8847 #[cfg(feature = "Win32_Foundation")]
8848 impl ::std::cmp::Eq for IKEEXT_CERTIFICATE_CRITERIA0 {}
8849 #[cfg(feature = "Win32_Foundation")]
8850 unsafe impl ::windows::runtime::Abi for IKEEXT_CERTIFICATE_CRITERIA0 {
8851     type Abi = Self;
8852     type DefaultType = Self;
8853 }
8854 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8855 #[repr(transparent)]
8856 pub struct IKEEXT_CERT_AUTH(pub u32);
8857 pub const IKEEXT_CERT_AUTH_FLAG_SSL_ONE_WAY: IKEEXT_CERT_AUTH = IKEEXT_CERT_AUTH(1u32);
8858 pub const IKEEXT_CERT_AUTH_ENABLE_CRL_CHECK_STRONG: IKEEXT_CERT_AUTH = IKEEXT_CERT_AUTH(4u32);
8859 pub const IKEEXT_CERT_AUTH_DISABLE_SSL_CERT_VALIDATION: IKEEXT_CERT_AUTH = IKEEXT_CERT_AUTH(8u32);
8860 pub const IKEEXT_CERT_AUTH_ALLOW_HTTP_CERT_LOOKUP: IKEEXT_CERT_AUTH = IKEEXT_CERT_AUTH(16u32);
8861 pub const IKEEXT_CERT_AUTH_URL_CONTAINS_BUNDLE: IKEEXT_CERT_AUTH = IKEEXT_CERT_AUTH(32u32);
8862 impl ::std::convert::From<u32> for IKEEXT_CERT_AUTH {
from(value: u32) -> Self8863     fn from(value: u32) -> Self {
8864         Self(value)
8865     }
8866 }
8867 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_AUTH {
8868     type Abi = Self;
8869     type DefaultType = Self;
8870 }
8871 impl ::std::ops::BitOr for IKEEXT_CERT_AUTH {
8872     type Output = Self;
bitor(self, rhs: Self) -> Self8873     fn bitor(self, rhs: Self) -> Self {
8874         Self(self.0 | rhs.0)
8875     }
8876 }
8877 impl ::std::ops::BitAnd for IKEEXT_CERT_AUTH {
8878     type Output = Self;
bitand(self, rhs: Self) -> Self8879     fn bitand(self, rhs: Self) -> Self {
8880         Self(self.0 & rhs.0)
8881     }
8882 }
8883 impl ::std::ops::BitOrAssign for IKEEXT_CERT_AUTH {
bitor_assign(&mut self, rhs: Self)8884     fn bitor_assign(&mut self, rhs: Self) {
8885         self.0.bitor_assign(rhs.0)
8886     }
8887 }
8888 impl ::std::ops::BitAndAssign for IKEEXT_CERT_AUTH {
bitand_assign(&mut self, rhs: Self)8889     fn bitand_assign(&mut self, rhs: Self) {
8890         self.0.bitand_assign(rhs.0)
8891     }
8892 }
8893 impl ::std::ops::Not for IKEEXT_CERT_AUTH {
8894     type Output = Self;
not(self) -> Self8895     fn not(self) -> Self {
8896         Self(self.0.not())
8897     }
8898 }
8899 pub const IKEEXT_CERT_AUTH_FLAG_DISABLE_CRL_CHECK: u32 = 2u32;
8900 pub const IKEEXT_CERT_AUTH_FLAG_DISABLE_REQUEST_PAYLOAD: u32 = 64u32;
8901 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8902 #[repr(transparent)]
8903 pub struct IKEEXT_CERT_CONFIG_TYPE(pub i32);
8904 pub const IKEEXT_CERT_CONFIG_EXPLICIT_TRUST_LIST: IKEEXT_CERT_CONFIG_TYPE = IKEEXT_CERT_CONFIG_TYPE(0i32);
8905 pub const IKEEXT_CERT_CONFIG_ENTERPRISE_STORE: IKEEXT_CERT_CONFIG_TYPE = IKEEXT_CERT_CONFIG_TYPE(1i32);
8906 pub const IKEEXT_CERT_CONFIG_TRUSTED_ROOT_STORE: IKEEXT_CERT_CONFIG_TYPE = IKEEXT_CERT_CONFIG_TYPE(2i32);
8907 pub const IKEEXT_CERT_CONFIG_UNSPECIFIED: IKEEXT_CERT_CONFIG_TYPE = IKEEXT_CERT_CONFIG_TYPE(3i32);
8908 pub const IKEEXT_CERT_CONFIG_TYPE_MAX: IKEEXT_CERT_CONFIG_TYPE = IKEEXT_CERT_CONFIG_TYPE(4i32);
8909 impl ::std::convert::From<i32> for IKEEXT_CERT_CONFIG_TYPE {
from(value: i32) -> Self8910     fn from(value: i32) -> Self {
8911         Self(value)
8912     }
8913 }
8914 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_CONFIG_TYPE {
8915     type Abi = Self;
8916     type DefaultType = Self;
8917 }
8918 pub const IKEEXT_CERT_CREDENTIAL_FLAG_NAP_CERT: u32 = 1u32;
8919 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8920 #[repr(transparent)]
8921 pub struct IKEEXT_CERT_CRITERIA_NAME_TYPE(pub i32);
8922 pub const IKEEXT_CERT_CRITERIA_DNS: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(0i32);
8923 pub const IKEEXT_CERT_CRITERIA_UPN: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(1i32);
8924 pub const IKEEXT_CERT_CRITERIA_RFC822: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(2i32);
8925 pub const IKEEXT_CERT_CRITERIA_CN: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(3i32);
8926 pub const IKEEXT_CERT_CRITERIA_OU: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(4i32);
8927 pub const IKEEXT_CERT_CRITERIA_O: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(5i32);
8928 pub const IKEEXT_CERT_CRITERIA_DC: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(6i32);
8929 pub const IKEEXT_CERT_CRITERIA_NAME_TYPE_MAX: IKEEXT_CERT_CRITERIA_NAME_TYPE = IKEEXT_CERT_CRITERIA_NAME_TYPE(7i32);
8930 impl ::std::convert::From<i32> for IKEEXT_CERT_CRITERIA_NAME_TYPE {
from(value: i32) -> Self8931     fn from(value: i32) -> Self {
8932         Self(value)
8933     }
8934 }
8935 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_CRITERIA_NAME_TYPE {
8936     type Abi = Self;
8937     type DefaultType = Self;
8938 }
8939 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8940 #[repr(C)]
8941 #[cfg(feature = "Win32_Foundation")]
8942 pub struct IKEEXT_CERT_EKUS0 {
8943     pub numEku: u32,
8944     pub eku: *mut super::super::Foundation::PSTR,
8945 }
8946 #[cfg(feature = "Win32_Foundation")]
8947 impl IKEEXT_CERT_EKUS0 {}
8948 #[cfg(feature = "Win32_Foundation")]
8949 impl ::std::default::Default for IKEEXT_CERT_EKUS0 {
default() -> Self8950     fn default() -> Self {
8951         unsafe { ::std::mem::zeroed() }
8952     }
8953 }
8954 #[cfg(feature = "Win32_Foundation")]
8955 impl ::std::fmt::Debug for IKEEXT_CERT_EKUS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8956     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8957         fmt.debug_struct("IKEEXT_CERT_EKUS0").field("numEku", &self.numEku).field("eku", &self.eku).finish()
8958     }
8959 }
8960 #[cfg(feature = "Win32_Foundation")]
8961 impl ::std::cmp::PartialEq for IKEEXT_CERT_EKUS0 {
eq(&self, other: &Self) -> bool8962     fn eq(&self, other: &Self) -> bool {
8963         self.numEku == other.numEku && self.eku == other.eku
8964     }
8965 }
8966 #[cfg(feature = "Win32_Foundation")]
8967 impl ::std::cmp::Eq for IKEEXT_CERT_EKUS0 {}
8968 #[cfg(feature = "Win32_Foundation")]
8969 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_EKUS0 {
8970     type Abi = Self;
8971     type DefaultType = Self;
8972 }
8973 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8974 #[repr(transparent)]
8975 pub struct IKEEXT_CERT_FLAGS(pub u32);
8976 pub const IKEEXT_CERT_FLAG_ENABLE_ACCOUNT_MAPPING: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(1u32);
8977 pub const IKEEXT_CERT_FLAG_DISABLE_REQUEST_PAYLOAD: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(2u32);
8978 pub const IKEEXT_CERT_FLAG_USE_NAP_CERTIFICATE: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(4u32);
8979 pub const IKEEXT_CERT_FLAG_INTERMEDIATE_CA: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(8u32);
8980 pub const IKEEXT_CERT_FLAG_IGNORE_INIT_CERT_MAP_FAILURE: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(16u32);
8981 pub const IKEEXT_CERT_FLAG_PREFER_NAP_CERTIFICATE_OUTBOUND: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(32u32);
8982 pub const IKEEXT_CERT_FLAG_SELECT_NAP_CERTIFICATE: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(64u32);
8983 pub const IKEEXT_CERT_FLAG_VERIFY_NAP_CERTIFICATE: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(128u32);
8984 pub const IKEEXT_CERT_FLAG_FOLLOW_RENEWAL_CERTIFICATE: IKEEXT_CERT_FLAGS = IKEEXT_CERT_FLAGS(256u32);
8985 impl ::std::convert::From<u32> for IKEEXT_CERT_FLAGS {
from(value: u32) -> Self8986     fn from(value: u32) -> Self {
8987         Self(value)
8988     }
8989 }
8990 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_FLAGS {
8991     type Abi = Self;
8992     type DefaultType = Self;
8993 }
8994 impl ::std::ops::BitOr for IKEEXT_CERT_FLAGS {
8995     type Output = Self;
bitor(self, rhs: Self) -> Self8996     fn bitor(self, rhs: Self) -> Self {
8997         Self(self.0 | rhs.0)
8998     }
8999 }
9000 impl ::std::ops::BitAnd for IKEEXT_CERT_FLAGS {
9001     type Output = Self;
bitand(self, rhs: Self) -> Self9002     fn bitand(self, rhs: Self) -> Self {
9003         Self(self.0 & rhs.0)
9004     }
9005 }
9006 impl ::std::ops::BitOrAssign for IKEEXT_CERT_FLAGS {
bitor_assign(&mut self, rhs: Self)9007     fn bitor_assign(&mut self, rhs: Self) {
9008         self.0.bitor_assign(rhs.0)
9009     }
9010 }
9011 impl ::std::ops::BitAndAssign for IKEEXT_CERT_FLAGS {
bitand_assign(&mut self, rhs: Self)9012     fn bitand_assign(&mut self, rhs: Self) {
9013         self.0.bitand_assign(rhs.0)
9014     }
9015 }
9016 impl ::std::ops::Not for IKEEXT_CERT_FLAGS {
9017     type Output = Self;
not(self) -> Self9018     fn not(self) -> Self {
9019         Self(self.0.not())
9020     }
9021 }
9022 pub const IKEEXT_CERT_HASH_LEN: u32 = 20u32;
9023 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9024 #[repr(C)]
9025 #[cfg(feature = "Win32_Foundation")]
9026 pub struct IKEEXT_CERT_NAME0 {
9027     pub nameType: IKEEXT_CERT_CRITERIA_NAME_TYPE,
9028     pub certName: super::super::Foundation::PWSTR,
9029 }
9030 #[cfg(feature = "Win32_Foundation")]
9031 impl IKEEXT_CERT_NAME0 {}
9032 #[cfg(feature = "Win32_Foundation")]
9033 impl ::std::default::Default for IKEEXT_CERT_NAME0 {
default() -> Self9034     fn default() -> Self {
9035         unsafe { ::std::mem::zeroed() }
9036     }
9037 }
9038 #[cfg(feature = "Win32_Foundation")]
9039 impl ::std::fmt::Debug for IKEEXT_CERT_NAME0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9040     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9041         fmt.debug_struct("IKEEXT_CERT_NAME0").field("nameType", &self.nameType).field("certName", &self.certName).finish()
9042     }
9043 }
9044 #[cfg(feature = "Win32_Foundation")]
9045 impl ::std::cmp::PartialEq for IKEEXT_CERT_NAME0 {
eq(&self, other: &Self) -> bool9046     fn eq(&self, other: &Self) -> bool {
9047         self.nameType == other.nameType && self.certName == other.certName
9048     }
9049 }
9050 #[cfg(feature = "Win32_Foundation")]
9051 impl ::std::cmp::Eq for IKEEXT_CERT_NAME0 {}
9052 #[cfg(feature = "Win32_Foundation")]
9053 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_NAME0 {
9054     type Abi = Self;
9055     type DefaultType = Self;
9056 }
9057 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9058 #[repr(C)]
9059 pub struct IKEEXT_CERT_ROOT_CONFIG0 {
9060     pub certData: FWP_BYTE_BLOB,
9061     pub flags: IKEEXT_CERT_FLAGS,
9062 }
9063 impl IKEEXT_CERT_ROOT_CONFIG0 {}
9064 impl ::std::default::Default for IKEEXT_CERT_ROOT_CONFIG0 {
default() -> Self9065     fn default() -> Self {
9066         unsafe { ::std::mem::zeroed() }
9067     }
9068 }
9069 impl ::std::fmt::Debug for IKEEXT_CERT_ROOT_CONFIG0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9070     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9071         fmt.debug_struct("IKEEXT_CERT_ROOT_CONFIG0").field("certData", &self.certData).field("flags", &self.flags).finish()
9072     }
9073 }
9074 impl ::std::cmp::PartialEq for IKEEXT_CERT_ROOT_CONFIG0 {
eq(&self, other: &Self) -> bool9075     fn eq(&self, other: &Self) -> bool {
9076         self.certData == other.certData && self.flags == other.flags
9077     }
9078 }
9079 impl ::std::cmp::Eq for IKEEXT_CERT_ROOT_CONFIG0 {}
9080 unsafe impl ::windows::runtime::Abi for IKEEXT_CERT_ROOT_CONFIG0 {
9081     type Abi = Self;
9082     type DefaultType = Self;
9083 }
9084 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9085 #[repr(C)]
9086 pub struct IKEEXT_CIPHER_ALGORITHM0 {
9087     pub algoIdentifier: IKEEXT_CIPHER_TYPE,
9088     pub keyLen: u32,
9089     pub rounds: u32,
9090 }
9091 impl IKEEXT_CIPHER_ALGORITHM0 {}
9092 impl ::std::default::Default for IKEEXT_CIPHER_ALGORITHM0 {
default() -> Self9093     fn default() -> Self {
9094         unsafe { ::std::mem::zeroed() }
9095     }
9096 }
9097 impl ::std::fmt::Debug for IKEEXT_CIPHER_ALGORITHM0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9098     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9099         fmt.debug_struct("IKEEXT_CIPHER_ALGORITHM0").field("algoIdentifier", &self.algoIdentifier).field("keyLen", &self.keyLen).field("rounds", &self.rounds).finish()
9100     }
9101 }
9102 impl ::std::cmp::PartialEq for IKEEXT_CIPHER_ALGORITHM0 {
eq(&self, other: &Self) -> bool9103     fn eq(&self, other: &Self) -> bool {
9104         self.algoIdentifier == other.algoIdentifier && self.keyLen == other.keyLen && self.rounds == other.rounds
9105     }
9106 }
9107 impl ::std::cmp::Eq for IKEEXT_CIPHER_ALGORITHM0 {}
9108 unsafe impl ::windows::runtime::Abi for IKEEXT_CIPHER_ALGORITHM0 {
9109     type Abi = Self;
9110     type DefaultType = Self;
9111 }
9112 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9113 #[repr(transparent)]
9114 pub struct IKEEXT_CIPHER_TYPE(pub i32);
9115 pub const IKEEXT_CIPHER_DES: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(0i32);
9116 pub const IKEEXT_CIPHER_3DES: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(1i32);
9117 pub const IKEEXT_CIPHER_AES_128: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(2i32);
9118 pub const IKEEXT_CIPHER_AES_192: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(3i32);
9119 pub const IKEEXT_CIPHER_AES_256: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(4i32);
9120 pub const IKEEXT_CIPHER_AES_GCM_128_16ICV: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(5i32);
9121 pub const IKEEXT_CIPHER_AES_GCM_256_16ICV: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(6i32);
9122 pub const IKEEXT_CIPHER_TYPE_MAX: IKEEXT_CIPHER_TYPE = IKEEXT_CIPHER_TYPE(7i32);
9123 impl ::std::convert::From<i32> for IKEEXT_CIPHER_TYPE {
from(value: i32) -> Self9124     fn from(value: i32) -> Self {
9125         Self(value)
9126     }
9127 }
9128 unsafe impl ::windows::runtime::Abi for IKEEXT_CIPHER_TYPE {
9129     type Abi = Self;
9130     type DefaultType = Self;
9131 }
9132 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9133 #[repr(C)]
9134 pub struct IKEEXT_COMMON_STATISTICS0 {
9135     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0,
9136     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0,
9137     pub totalPacketsReceived: u32,
9138     pub totalInvalidPacketsReceived: u32,
9139     pub currentQueuedWorkitems: u32,
9140 }
9141 impl IKEEXT_COMMON_STATISTICS0 {}
9142 impl ::std::default::Default for IKEEXT_COMMON_STATISTICS0 {
default() -> Self9143     fn default() -> Self {
9144         unsafe { ::std::mem::zeroed() }
9145     }
9146 }
9147 impl ::std::fmt::Debug for IKEEXT_COMMON_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9148     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9149         fmt.debug_struct("IKEEXT_COMMON_STATISTICS0")
9150             .field("v4Statistics", &self.v4Statistics)
9151             .field("v6Statistics", &self.v6Statistics)
9152             .field("totalPacketsReceived", &self.totalPacketsReceived)
9153             .field("totalInvalidPacketsReceived", &self.totalInvalidPacketsReceived)
9154             .field("currentQueuedWorkitems", &self.currentQueuedWorkitems)
9155             .finish()
9156     }
9157 }
9158 impl ::std::cmp::PartialEq for IKEEXT_COMMON_STATISTICS0 {
eq(&self, other: &Self) -> bool9159     fn eq(&self, other: &Self) -> bool {
9160         self.v4Statistics == other.v4Statistics && self.v6Statistics == other.v6Statistics && self.totalPacketsReceived == other.totalPacketsReceived && self.totalInvalidPacketsReceived == other.totalInvalidPacketsReceived && self.currentQueuedWorkitems == other.currentQueuedWorkitems
9161     }
9162 }
9163 impl ::std::cmp::Eq for IKEEXT_COMMON_STATISTICS0 {}
9164 unsafe impl ::windows::runtime::Abi for IKEEXT_COMMON_STATISTICS0 {
9165     type Abi = Self;
9166     type DefaultType = Self;
9167 }
9168 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9169 #[repr(C)]
9170 pub struct IKEEXT_COMMON_STATISTICS1 {
9171     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
9172     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
9173     pub totalPacketsReceived: u32,
9174     pub totalInvalidPacketsReceived: u32,
9175     pub currentQueuedWorkitems: u32,
9176 }
9177 impl IKEEXT_COMMON_STATISTICS1 {}
9178 impl ::std::default::Default for IKEEXT_COMMON_STATISTICS1 {
default() -> Self9179     fn default() -> Self {
9180         unsafe { ::std::mem::zeroed() }
9181     }
9182 }
9183 impl ::std::fmt::Debug for IKEEXT_COMMON_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9184     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9185         fmt.debug_struct("IKEEXT_COMMON_STATISTICS1")
9186             .field("v4Statistics", &self.v4Statistics)
9187             .field("v6Statistics", &self.v6Statistics)
9188             .field("totalPacketsReceived", &self.totalPacketsReceived)
9189             .field("totalInvalidPacketsReceived", &self.totalInvalidPacketsReceived)
9190             .field("currentQueuedWorkitems", &self.currentQueuedWorkitems)
9191             .finish()
9192     }
9193 }
9194 impl ::std::cmp::PartialEq for IKEEXT_COMMON_STATISTICS1 {
eq(&self, other: &Self) -> bool9195     fn eq(&self, other: &Self) -> bool {
9196         self.v4Statistics == other.v4Statistics && self.v6Statistics == other.v6Statistics && self.totalPacketsReceived == other.totalPacketsReceived && self.totalInvalidPacketsReceived == other.totalInvalidPacketsReceived && self.currentQueuedWorkitems == other.currentQueuedWorkitems
9197     }
9198 }
9199 impl ::std::cmp::Eq for IKEEXT_COMMON_STATISTICS1 {}
9200 unsafe impl ::windows::runtime::Abi for IKEEXT_COMMON_STATISTICS1 {
9201     type Abi = Self;
9202     type DefaultType = Self;
9203 }
9204 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9205 #[repr(C)]
9206 pub struct IKEEXT_COOKIE_PAIR0 {
9207     pub initiator: u64,
9208     pub responder: u64,
9209 }
9210 impl IKEEXT_COOKIE_PAIR0 {}
9211 impl ::std::default::Default for IKEEXT_COOKIE_PAIR0 {
default() -> Self9212     fn default() -> Self {
9213         unsafe { ::std::mem::zeroed() }
9214     }
9215 }
9216 impl ::std::fmt::Debug for IKEEXT_COOKIE_PAIR0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9217     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9218         fmt.debug_struct("IKEEXT_COOKIE_PAIR0").field("initiator", &self.initiator).field("responder", &self.responder).finish()
9219     }
9220 }
9221 impl ::std::cmp::PartialEq for IKEEXT_COOKIE_PAIR0 {
eq(&self, other: &Self) -> bool9222     fn eq(&self, other: &Self) -> bool {
9223         self.initiator == other.initiator && self.responder == other.responder
9224     }
9225 }
9226 impl ::std::cmp::Eq for IKEEXT_COOKIE_PAIR0 {}
9227 unsafe impl ::windows::runtime::Abi for IKEEXT_COOKIE_PAIR0 {
9228     type Abi = Self;
9229     type DefaultType = Self;
9230 }
9231 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9232 #[repr(C)]
9233 #[cfg(feature = "Win32_Foundation")]
9234 pub struct IKEEXT_CREDENTIAL0 {
9235     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
9236     pub impersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
9237     pub Anonymous: IKEEXT_CREDENTIAL0_0,
9238 }
9239 #[cfg(feature = "Win32_Foundation")]
9240 impl IKEEXT_CREDENTIAL0 {}
9241 #[cfg(feature = "Win32_Foundation")]
9242 impl ::std::default::Default for IKEEXT_CREDENTIAL0 {
default() -> Self9243     fn default() -> Self {
9244         unsafe { ::std::mem::zeroed() }
9245     }
9246 }
9247 #[cfg(feature = "Win32_Foundation")]
9248 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL0 {
eq(&self, _other: &Self) -> bool9249     fn eq(&self, _other: &Self) -> bool {
9250         unimplemented!()
9251     }
9252 }
9253 #[cfg(feature = "Win32_Foundation")]
9254 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL0 {}
9255 #[cfg(feature = "Win32_Foundation")]
9256 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL0 {
9257     type Abi = Self;
9258     type DefaultType = Self;
9259 }
9260 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9261 #[repr(C)]
9262 #[cfg(feature = "Win32_Foundation")]
9263 pub union IKEEXT_CREDENTIAL0_0 {
9264     pub presharedKey: *mut IKEEXT_PRESHARED_KEY_AUTHENTICATION0,
9265     pub certificate: *mut IKEEXT_CERTIFICATE_CREDENTIAL0,
9266     pub name: *mut IKEEXT_NAME_CREDENTIAL0,
9267 }
9268 #[cfg(feature = "Win32_Foundation")]
9269 impl IKEEXT_CREDENTIAL0_0 {}
9270 #[cfg(feature = "Win32_Foundation")]
9271 impl ::std::default::Default for IKEEXT_CREDENTIAL0_0 {
default() -> Self9272     fn default() -> Self {
9273         unsafe { ::std::mem::zeroed() }
9274     }
9275 }
9276 #[cfg(feature = "Win32_Foundation")]
9277 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL0_0 {
eq(&self, _other: &Self) -> bool9278     fn eq(&self, _other: &Self) -> bool {
9279         unimplemented!()
9280     }
9281 }
9282 #[cfg(feature = "Win32_Foundation")]
9283 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL0_0 {}
9284 #[cfg(feature = "Win32_Foundation")]
9285 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL0_0 {
9286     type Abi = Self;
9287     type DefaultType = Self;
9288 }
9289 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9290 #[repr(C)]
9291 #[cfg(feature = "Win32_Foundation")]
9292 pub struct IKEEXT_CREDENTIAL1 {
9293     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
9294     pub impersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
9295     pub Anonymous: IKEEXT_CREDENTIAL1_0,
9296 }
9297 #[cfg(feature = "Win32_Foundation")]
9298 impl IKEEXT_CREDENTIAL1 {}
9299 #[cfg(feature = "Win32_Foundation")]
9300 impl ::std::default::Default for IKEEXT_CREDENTIAL1 {
default() -> Self9301     fn default() -> Self {
9302         unsafe { ::std::mem::zeroed() }
9303     }
9304 }
9305 #[cfg(feature = "Win32_Foundation")]
9306 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL1 {
eq(&self, _other: &Self) -> bool9307     fn eq(&self, _other: &Self) -> bool {
9308         unimplemented!()
9309     }
9310 }
9311 #[cfg(feature = "Win32_Foundation")]
9312 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL1 {}
9313 #[cfg(feature = "Win32_Foundation")]
9314 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL1 {
9315     type Abi = Self;
9316     type DefaultType = Self;
9317 }
9318 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9319 #[repr(C)]
9320 #[cfg(feature = "Win32_Foundation")]
9321 pub union IKEEXT_CREDENTIAL1_0 {
9322     pub presharedKey: *mut IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
9323     pub certificate: *mut IKEEXT_CERTIFICATE_CREDENTIAL1,
9324     pub name: *mut IKEEXT_NAME_CREDENTIAL0,
9325 }
9326 #[cfg(feature = "Win32_Foundation")]
9327 impl IKEEXT_CREDENTIAL1_0 {}
9328 #[cfg(feature = "Win32_Foundation")]
9329 impl ::std::default::Default for IKEEXT_CREDENTIAL1_0 {
default() -> Self9330     fn default() -> Self {
9331         unsafe { ::std::mem::zeroed() }
9332     }
9333 }
9334 #[cfg(feature = "Win32_Foundation")]
9335 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL1_0 {
eq(&self, _other: &Self) -> bool9336     fn eq(&self, _other: &Self) -> bool {
9337         unimplemented!()
9338     }
9339 }
9340 #[cfg(feature = "Win32_Foundation")]
9341 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL1_0 {}
9342 #[cfg(feature = "Win32_Foundation")]
9343 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL1_0 {
9344     type Abi = Self;
9345     type DefaultType = Self;
9346 }
9347 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9348 #[repr(C)]
9349 #[cfg(feature = "Win32_Foundation")]
9350 pub struct IKEEXT_CREDENTIAL2 {
9351     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
9352     pub impersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
9353     pub Anonymous: IKEEXT_CREDENTIAL2_0,
9354 }
9355 #[cfg(feature = "Win32_Foundation")]
9356 impl IKEEXT_CREDENTIAL2 {}
9357 #[cfg(feature = "Win32_Foundation")]
9358 impl ::std::default::Default for IKEEXT_CREDENTIAL2 {
default() -> Self9359     fn default() -> Self {
9360         unsafe { ::std::mem::zeroed() }
9361     }
9362 }
9363 #[cfg(feature = "Win32_Foundation")]
9364 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL2 {
eq(&self, _other: &Self) -> bool9365     fn eq(&self, _other: &Self) -> bool {
9366         unimplemented!()
9367     }
9368 }
9369 #[cfg(feature = "Win32_Foundation")]
9370 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL2 {}
9371 #[cfg(feature = "Win32_Foundation")]
9372 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL2 {
9373     type Abi = Self;
9374     type DefaultType = Self;
9375 }
9376 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9377 #[repr(C)]
9378 #[cfg(feature = "Win32_Foundation")]
9379 pub union IKEEXT_CREDENTIAL2_0 {
9380     pub presharedKey: *mut IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
9381     pub certificate: *mut IKEEXT_CERTIFICATE_CREDENTIAL1,
9382     pub name: *mut IKEEXT_NAME_CREDENTIAL0,
9383 }
9384 #[cfg(feature = "Win32_Foundation")]
9385 impl IKEEXT_CREDENTIAL2_0 {}
9386 #[cfg(feature = "Win32_Foundation")]
9387 impl ::std::default::Default for IKEEXT_CREDENTIAL2_0 {
default() -> Self9388     fn default() -> Self {
9389         unsafe { ::std::mem::zeroed() }
9390     }
9391 }
9392 #[cfg(feature = "Win32_Foundation")]
9393 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL2_0 {
eq(&self, _other: &Self) -> bool9394     fn eq(&self, _other: &Self) -> bool {
9395         unimplemented!()
9396     }
9397 }
9398 #[cfg(feature = "Win32_Foundation")]
9399 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL2_0 {}
9400 #[cfg(feature = "Win32_Foundation")]
9401 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL2_0 {
9402     type Abi = Self;
9403     type DefaultType = Self;
9404 }
9405 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9406 #[repr(C)]
9407 #[cfg(feature = "Win32_Foundation")]
9408 pub struct IKEEXT_CREDENTIALS0 {
9409     pub numCredentials: u32,
9410     pub credentials: *mut IKEEXT_CREDENTIAL_PAIR0,
9411 }
9412 #[cfg(feature = "Win32_Foundation")]
9413 impl IKEEXT_CREDENTIALS0 {}
9414 #[cfg(feature = "Win32_Foundation")]
9415 impl ::std::default::Default for IKEEXT_CREDENTIALS0 {
default() -> Self9416     fn default() -> Self {
9417         unsafe { ::std::mem::zeroed() }
9418     }
9419 }
9420 #[cfg(feature = "Win32_Foundation")]
9421 impl ::std::fmt::Debug for IKEEXT_CREDENTIALS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9422     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9423         fmt.debug_struct("IKEEXT_CREDENTIALS0").field("numCredentials", &self.numCredentials).field("credentials", &self.credentials).finish()
9424     }
9425 }
9426 #[cfg(feature = "Win32_Foundation")]
9427 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIALS0 {
eq(&self, other: &Self) -> bool9428     fn eq(&self, other: &Self) -> bool {
9429         self.numCredentials == other.numCredentials && self.credentials == other.credentials
9430     }
9431 }
9432 #[cfg(feature = "Win32_Foundation")]
9433 impl ::std::cmp::Eq for IKEEXT_CREDENTIALS0 {}
9434 #[cfg(feature = "Win32_Foundation")]
9435 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIALS0 {
9436     type Abi = Self;
9437     type DefaultType = Self;
9438 }
9439 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9440 #[repr(C)]
9441 #[cfg(feature = "Win32_Foundation")]
9442 pub struct IKEEXT_CREDENTIALS1 {
9443     pub numCredentials: u32,
9444     pub credentials: *mut IKEEXT_CREDENTIAL_PAIR1,
9445 }
9446 #[cfg(feature = "Win32_Foundation")]
9447 impl IKEEXT_CREDENTIALS1 {}
9448 #[cfg(feature = "Win32_Foundation")]
9449 impl ::std::default::Default for IKEEXT_CREDENTIALS1 {
default() -> Self9450     fn default() -> Self {
9451         unsafe { ::std::mem::zeroed() }
9452     }
9453 }
9454 #[cfg(feature = "Win32_Foundation")]
9455 impl ::std::fmt::Debug for IKEEXT_CREDENTIALS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9456     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9457         fmt.debug_struct("IKEEXT_CREDENTIALS1").field("numCredentials", &self.numCredentials).field("credentials", &self.credentials).finish()
9458     }
9459 }
9460 #[cfg(feature = "Win32_Foundation")]
9461 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIALS1 {
eq(&self, other: &Self) -> bool9462     fn eq(&self, other: &Self) -> bool {
9463         self.numCredentials == other.numCredentials && self.credentials == other.credentials
9464     }
9465 }
9466 #[cfg(feature = "Win32_Foundation")]
9467 impl ::std::cmp::Eq for IKEEXT_CREDENTIALS1 {}
9468 #[cfg(feature = "Win32_Foundation")]
9469 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIALS1 {
9470     type Abi = Self;
9471     type DefaultType = Self;
9472 }
9473 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9474 #[repr(C)]
9475 #[cfg(feature = "Win32_Foundation")]
9476 pub struct IKEEXT_CREDENTIALS2 {
9477     pub numCredentials: u32,
9478     pub credentials: *mut IKEEXT_CREDENTIAL_PAIR2,
9479 }
9480 #[cfg(feature = "Win32_Foundation")]
9481 impl IKEEXT_CREDENTIALS2 {}
9482 #[cfg(feature = "Win32_Foundation")]
9483 impl ::std::default::Default for IKEEXT_CREDENTIALS2 {
default() -> Self9484     fn default() -> Self {
9485         unsafe { ::std::mem::zeroed() }
9486     }
9487 }
9488 #[cfg(feature = "Win32_Foundation")]
9489 impl ::std::fmt::Debug for IKEEXT_CREDENTIALS2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9490     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9491         fmt.debug_struct("IKEEXT_CREDENTIALS2").field("numCredentials", &self.numCredentials).field("credentials", &self.credentials).finish()
9492     }
9493 }
9494 #[cfg(feature = "Win32_Foundation")]
9495 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIALS2 {
eq(&self, other: &Self) -> bool9496     fn eq(&self, other: &Self) -> bool {
9497         self.numCredentials == other.numCredentials && self.credentials == other.credentials
9498     }
9499 }
9500 #[cfg(feature = "Win32_Foundation")]
9501 impl ::std::cmp::Eq for IKEEXT_CREDENTIALS2 {}
9502 #[cfg(feature = "Win32_Foundation")]
9503 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIALS2 {
9504     type Abi = Self;
9505     type DefaultType = Self;
9506 }
9507 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9508 #[repr(C)]
9509 #[cfg(feature = "Win32_Foundation")]
9510 pub struct IKEEXT_CREDENTIAL_PAIR0 {
9511     pub localCredentials: IKEEXT_CREDENTIAL0,
9512     pub peerCredentials: IKEEXT_CREDENTIAL0,
9513 }
9514 #[cfg(feature = "Win32_Foundation")]
9515 impl IKEEXT_CREDENTIAL_PAIR0 {}
9516 #[cfg(feature = "Win32_Foundation")]
9517 impl ::std::default::Default for IKEEXT_CREDENTIAL_PAIR0 {
default() -> Self9518     fn default() -> Self {
9519         unsafe { ::std::mem::zeroed() }
9520     }
9521 }
9522 #[cfg(feature = "Win32_Foundation")]
9523 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL_PAIR0 {
eq(&self, _other: &Self) -> bool9524     fn eq(&self, _other: &Self) -> bool {
9525         unimplemented!()
9526     }
9527 }
9528 #[cfg(feature = "Win32_Foundation")]
9529 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL_PAIR0 {}
9530 #[cfg(feature = "Win32_Foundation")]
9531 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL_PAIR0 {
9532     type Abi = Self;
9533     type DefaultType = Self;
9534 }
9535 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9536 #[repr(C)]
9537 #[cfg(feature = "Win32_Foundation")]
9538 pub struct IKEEXT_CREDENTIAL_PAIR1 {
9539     pub localCredentials: IKEEXT_CREDENTIAL1,
9540     pub peerCredentials: IKEEXT_CREDENTIAL1,
9541 }
9542 #[cfg(feature = "Win32_Foundation")]
9543 impl IKEEXT_CREDENTIAL_PAIR1 {}
9544 #[cfg(feature = "Win32_Foundation")]
9545 impl ::std::default::Default for IKEEXT_CREDENTIAL_PAIR1 {
default() -> Self9546     fn default() -> Self {
9547         unsafe { ::std::mem::zeroed() }
9548     }
9549 }
9550 #[cfg(feature = "Win32_Foundation")]
9551 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL_PAIR1 {
eq(&self, _other: &Self) -> bool9552     fn eq(&self, _other: &Self) -> bool {
9553         unimplemented!()
9554     }
9555 }
9556 #[cfg(feature = "Win32_Foundation")]
9557 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL_PAIR1 {}
9558 #[cfg(feature = "Win32_Foundation")]
9559 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL_PAIR1 {
9560     type Abi = Self;
9561     type DefaultType = Self;
9562 }
9563 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9564 #[repr(C)]
9565 #[cfg(feature = "Win32_Foundation")]
9566 pub struct IKEEXT_CREDENTIAL_PAIR2 {
9567     pub localCredentials: IKEEXT_CREDENTIAL2,
9568     pub peerCredentials: IKEEXT_CREDENTIAL2,
9569 }
9570 #[cfg(feature = "Win32_Foundation")]
9571 impl IKEEXT_CREDENTIAL_PAIR2 {}
9572 #[cfg(feature = "Win32_Foundation")]
9573 impl ::std::default::Default for IKEEXT_CREDENTIAL_PAIR2 {
default() -> Self9574     fn default() -> Self {
9575         unsafe { ::std::mem::zeroed() }
9576     }
9577 }
9578 #[cfg(feature = "Win32_Foundation")]
9579 impl ::std::cmp::PartialEq for IKEEXT_CREDENTIAL_PAIR2 {
eq(&self, _other: &Self) -> bool9580     fn eq(&self, _other: &Self) -> bool {
9581         unimplemented!()
9582     }
9583 }
9584 #[cfg(feature = "Win32_Foundation")]
9585 impl ::std::cmp::Eq for IKEEXT_CREDENTIAL_PAIR2 {}
9586 #[cfg(feature = "Win32_Foundation")]
9587 unsafe impl ::windows::runtime::Abi for IKEEXT_CREDENTIAL_PAIR2 {
9588     type Abi = Self;
9589     type DefaultType = Self;
9590 }
9591 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9592 #[repr(transparent)]
9593 pub struct IKEEXT_DH_GROUP(pub i32);
9594 pub const IKEEXT_DH_GROUP_NONE: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(0i32);
9595 pub const IKEEXT_DH_GROUP_1: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(1i32);
9596 pub const IKEEXT_DH_GROUP_2: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(2i32);
9597 pub const IKEEXT_DH_GROUP_14: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(3i32);
9598 pub const IKEEXT_DH_GROUP_2048: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(3i32);
9599 pub const IKEEXT_DH_ECP_256: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(4i32);
9600 pub const IKEEXT_DH_ECP_384: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(5i32);
9601 pub const IKEEXT_DH_GROUP_24: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(6i32);
9602 pub const IKEEXT_DH_GROUP_MAX: IKEEXT_DH_GROUP = IKEEXT_DH_GROUP(7i32);
9603 impl ::std::convert::From<i32> for IKEEXT_DH_GROUP {
from(value: i32) -> Self9604     fn from(value: i32) -> Self {
9605         Self(value)
9606     }
9607 }
9608 unsafe impl ::windows::runtime::Abi for IKEEXT_DH_GROUP {
9609     type Abi = Self;
9610     type DefaultType = Self;
9611 }
9612 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9613 #[repr(C)]
9614 pub struct IKEEXT_EAP_AUTHENTICATION0 {
9615     pub flags: IKEEXT_EAP_AUTHENTICATION_FLAGS,
9616 }
9617 impl IKEEXT_EAP_AUTHENTICATION0 {}
9618 impl ::std::default::Default for IKEEXT_EAP_AUTHENTICATION0 {
default() -> Self9619     fn default() -> Self {
9620         unsafe { ::std::mem::zeroed() }
9621     }
9622 }
9623 impl ::std::fmt::Debug for IKEEXT_EAP_AUTHENTICATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9624     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9625         fmt.debug_struct("IKEEXT_EAP_AUTHENTICATION0").field("flags", &self.flags).finish()
9626     }
9627 }
9628 impl ::std::cmp::PartialEq for IKEEXT_EAP_AUTHENTICATION0 {
eq(&self, other: &Self) -> bool9629     fn eq(&self, other: &Self) -> bool {
9630         self.flags == other.flags
9631     }
9632 }
9633 impl ::std::cmp::Eq for IKEEXT_EAP_AUTHENTICATION0 {}
9634 unsafe impl ::windows::runtime::Abi for IKEEXT_EAP_AUTHENTICATION0 {
9635     type Abi = Self;
9636     type DefaultType = Self;
9637 }
9638 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9639 #[repr(transparent)]
9640 pub struct IKEEXT_EAP_AUTHENTICATION_FLAGS(pub u32);
9641 pub const IKEEXT_EAP_FLAG_LOCAL_AUTH_ONLY: IKEEXT_EAP_AUTHENTICATION_FLAGS = IKEEXT_EAP_AUTHENTICATION_FLAGS(1u32);
9642 pub const IKEEXT_EAP_FLAG_REMOTE_AUTH_ONLY: IKEEXT_EAP_AUTHENTICATION_FLAGS = IKEEXT_EAP_AUTHENTICATION_FLAGS(2u32);
9643 impl ::std::convert::From<u32> for IKEEXT_EAP_AUTHENTICATION_FLAGS {
from(value: u32) -> Self9644     fn from(value: u32) -> Self {
9645         Self(value)
9646     }
9647 }
9648 unsafe impl ::windows::runtime::Abi for IKEEXT_EAP_AUTHENTICATION_FLAGS {
9649     type Abi = Self;
9650     type DefaultType = Self;
9651 }
9652 impl ::std::ops::BitOr for IKEEXT_EAP_AUTHENTICATION_FLAGS {
9653     type Output = Self;
bitor(self, rhs: Self) -> Self9654     fn bitor(self, rhs: Self) -> Self {
9655         Self(self.0 | rhs.0)
9656     }
9657 }
9658 impl ::std::ops::BitAnd for IKEEXT_EAP_AUTHENTICATION_FLAGS {
9659     type Output = Self;
bitand(self, rhs: Self) -> Self9660     fn bitand(self, rhs: Self) -> Self {
9661         Self(self.0 & rhs.0)
9662     }
9663 }
9664 impl ::std::ops::BitOrAssign for IKEEXT_EAP_AUTHENTICATION_FLAGS {
bitor_assign(&mut self, rhs: Self)9665     fn bitor_assign(&mut self, rhs: Self) {
9666         self.0.bitor_assign(rhs.0)
9667     }
9668 }
9669 impl ::std::ops::BitAndAssign for IKEEXT_EAP_AUTHENTICATION_FLAGS {
bitand_assign(&mut self, rhs: Self)9670     fn bitand_assign(&mut self, rhs: Self) {
9671         self.0.bitand_assign(rhs.0)
9672     }
9673 }
9674 impl ::std::ops::Not for IKEEXT_EAP_AUTHENTICATION_FLAGS {
9675     type Output = Self;
not(self) -> Self9676     fn not(self) -> Self {
9677         Self(self.0.not())
9678     }
9679 }
9680 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9681 #[repr(C)]
9682 #[cfg(feature = "Win32_Foundation")]
9683 pub struct IKEEXT_EM_POLICY0 {
9684     pub numAuthenticationMethods: u32,
9685     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD0,
9686     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
9687 }
9688 #[cfg(feature = "Win32_Foundation")]
9689 impl IKEEXT_EM_POLICY0 {}
9690 #[cfg(feature = "Win32_Foundation")]
9691 impl ::std::default::Default for IKEEXT_EM_POLICY0 {
default() -> Self9692     fn default() -> Self {
9693         unsafe { ::std::mem::zeroed() }
9694     }
9695 }
9696 #[cfg(feature = "Win32_Foundation")]
9697 impl ::std::fmt::Debug for IKEEXT_EM_POLICY0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9698     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9699         fmt.debug_struct("IKEEXT_EM_POLICY0").field("numAuthenticationMethods", &self.numAuthenticationMethods).field("authenticationMethods", &self.authenticationMethods).field("initiatorImpersonationType", &self.initiatorImpersonationType).finish()
9700     }
9701 }
9702 #[cfg(feature = "Win32_Foundation")]
9703 impl ::std::cmp::PartialEq for IKEEXT_EM_POLICY0 {
eq(&self, other: &Self) -> bool9704     fn eq(&self, other: &Self) -> bool {
9705         self.numAuthenticationMethods == other.numAuthenticationMethods && self.authenticationMethods == other.authenticationMethods && self.initiatorImpersonationType == other.initiatorImpersonationType
9706     }
9707 }
9708 #[cfg(feature = "Win32_Foundation")]
9709 impl ::std::cmp::Eq for IKEEXT_EM_POLICY0 {}
9710 #[cfg(feature = "Win32_Foundation")]
9711 unsafe impl ::windows::runtime::Abi for IKEEXT_EM_POLICY0 {
9712     type Abi = Self;
9713     type DefaultType = Self;
9714 }
9715 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9716 #[repr(C)]
9717 #[cfg(feature = "Win32_Foundation")]
9718 pub struct IKEEXT_EM_POLICY1 {
9719     pub numAuthenticationMethods: u32,
9720     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD1,
9721     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
9722 }
9723 #[cfg(feature = "Win32_Foundation")]
9724 impl IKEEXT_EM_POLICY1 {}
9725 #[cfg(feature = "Win32_Foundation")]
9726 impl ::std::default::Default for IKEEXT_EM_POLICY1 {
default() -> Self9727     fn default() -> Self {
9728         unsafe { ::std::mem::zeroed() }
9729     }
9730 }
9731 #[cfg(feature = "Win32_Foundation")]
9732 impl ::std::fmt::Debug for IKEEXT_EM_POLICY1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9733     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9734         fmt.debug_struct("IKEEXT_EM_POLICY1").field("numAuthenticationMethods", &self.numAuthenticationMethods).field("authenticationMethods", &self.authenticationMethods).field("initiatorImpersonationType", &self.initiatorImpersonationType).finish()
9735     }
9736 }
9737 #[cfg(feature = "Win32_Foundation")]
9738 impl ::std::cmp::PartialEq for IKEEXT_EM_POLICY1 {
eq(&self, other: &Self) -> bool9739     fn eq(&self, other: &Self) -> bool {
9740         self.numAuthenticationMethods == other.numAuthenticationMethods && self.authenticationMethods == other.authenticationMethods && self.initiatorImpersonationType == other.initiatorImpersonationType
9741     }
9742 }
9743 #[cfg(feature = "Win32_Foundation")]
9744 impl ::std::cmp::Eq for IKEEXT_EM_POLICY1 {}
9745 #[cfg(feature = "Win32_Foundation")]
9746 unsafe impl ::windows::runtime::Abi for IKEEXT_EM_POLICY1 {
9747     type Abi = Self;
9748     type DefaultType = Self;
9749 }
9750 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9751 #[repr(C)]
9752 #[cfg(feature = "Win32_Foundation")]
9753 pub struct IKEEXT_EM_POLICY2 {
9754     pub numAuthenticationMethods: u32,
9755     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD2,
9756     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
9757 }
9758 #[cfg(feature = "Win32_Foundation")]
9759 impl IKEEXT_EM_POLICY2 {}
9760 #[cfg(feature = "Win32_Foundation")]
9761 impl ::std::default::Default for IKEEXT_EM_POLICY2 {
default() -> Self9762     fn default() -> Self {
9763         unsafe { ::std::mem::zeroed() }
9764     }
9765 }
9766 #[cfg(feature = "Win32_Foundation")]
9767 impl ::std::fmt::Debug for IKEEXT_EM_POLICY2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9768     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9769         fmt.debug_struct("IKEEXT_EM_POLICY2").field("numAuthenticationMethods", &self.numAuthenticationMethods).field("authenticationMethods", &self.authenticationMethods).field("initiatorImpersonationType", &self.initiatorImpersonationType).finish()
9770     }
9771 }
9772 #[cfg(feature = "Win32_Foundation")]
9773 impl ::std::cmp::PartialEq for IKEEXT_EM_POLICY2 {
eq(&self, other: &Self) -> bool9774     fn eq(&self, other: &Self) -> bool {
9775         self.numAuthenticationMethods == other.numAuthenticationMethods && self.authenticationMethods == other.authenticationMethods && self.initiatorImpersonationType == other.initiatorImpersonationType
9776     }
9777 }
9778 #[cfg(feature = "Win32_Foundation")]
9779 impl ::std::cmp::Eq for IKEEXT_EM_POLICY2 {}
9780 #[cfg(feature = "Win32_Foundation")]
9781 unsafe impl ::windows::runtime::Abi for IKEEXT_EM_POLICY2 {
9782     type Abi = Self;
9783     type DefaultType = Self;
9784 }
9785 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9786 #[repr(transparent)]
9787 pub struct IKEEXT_EM_SA_STATE(pub i32);
9788 pub const IKEEXT_EM_SA_STATE_NONE: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(0i32);
9789 pub const IKEEXT_EM_SA_STATE_SENT_ATTS: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(1i32);
9790 pub const IKEEXT_EM_SA_STATE_SSPI_SENT: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(2i32);
9791 pub const IKEEXT_EM_SA_STATE_AUTH_COMPLETE: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(3i32);
9792 pub const IKEEXT_EM_SA_STATE_FINAL: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(4i32);
9793 pub const IKEEXT_EM_SA_STATE_COMPLETE: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(5i32);
9794 pub const IKEEXT_EM_SA_STATE_MAX: IKEEXT_EM_SA_STATE = IKEEXT_EM_SA_STATE(6i32);
9795 impl ::std::convert::From<i32> for IKEEXT_EM_SA_STATE {
from(value: i32) -> Self9796     fn from(value: i32) -> Self {
9797         Self(value)
9798     }
9799 }
9800 unsafe impl ::windows::runtime::Abi for IKEEXT_EM_SA_STATE {
9801     type Abi = Self;
9802     type DefaultType = Self;
9803 }
9804 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9805 #[repr(C)]
9806 pub struct IKEEXT_INTEGRITY_ALGORITHM0 {
9807     pub algoIdentifier: IKEEXT_INTEGRITY_TYPE,
9808 }
9809 impl IKEEXT_INTEGRITY_ALGORITHM0 {}
9810 impl ::std::default::Default for IKEEXT_INTEGRITY_ALGORITHM0 {
default() -> Self9811     fn default() -> Self {
9812         unsafe { ::std::mem::zeroed() }
9813     }
9814 }
9815 impl ::std::fmt::Debug for IKEEXT_INTEGRITY_ALGORITHM0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9816     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9817         fmt.debug_struct("IKEEXT_INTEGRITY_ALGORITHM0").field("algoIdentifier", &self.algoIdentifier).finish()
9818     }
9819 }
9820 impl ::std::cmp::PartialEq for IKEEXT_INTEGRITY_ALGORITHM0 {
eq(&self, other: &Self) -> bool9821     fn eq(&self, other: &Self) -> bool {
9822         self.algoIdentifier == other.algoIdentifier
9823     }
9824 }
9825 impl ::std::cmp::Eq for IKEEXT_INTEGRITY_ALGORITHM0 {}
9826 unsafe impl ::windows::runtime::Abi for IKEEXT_INTEGRITY_ALGORITHM0 {
9827     type Abi = Self;
9828     type DefaultType = Self;
9829 }
9830 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9831 #[repr(transparent)]
9832 pub struct IKEEXT_INTEGRITY_TYPE(pub i32);
9833 pub const IKEEXT_INTEGRITY_MD5: IKEEXT_INTEGRITY_TYPE = IKEEXT_INTEGRITY_TYPE(0i32);
9834 pub const IKEEXT_INTEGRITY_SHA1: IKEEXT_INTEGRITY_TYPE = IKEEXT_INTEGRITY_TYPE(1i32);
9835 pub const IKEEXT_INTEGRITY_SHA_256: IKEEXT_INTEGRITY_TYPE = IKEEXT_INTEGRITY_TYPE(2i32);
9836 pub const IKEEXT_INTEGRITY_SHA_384: IKEEXT_INTEGRITY_TYPE = IKEEXT_INTEGRITY_TYPE(3i32);
9837 pub const IKEEXT_INTEGRITY_TYPE_MAX: IKEEXT_INTEGRITY_TYPE = IKEEXT_INTEGRITY_TYPE(4i32);
9838 impl ::std::convert::From<i32> for IKEEXT_INTEGRITY_TYPE {
from(value: i32) -> Self9839     fn from(value: i32) -> Self {
9840         Self(value)
9841     }
9842 }
9843 unsafe impl ::windows::runtime::Abi for IKEEXT_INTEGRITY_TYPE {
9844     type Abi = Self;
9845     type DefaultType = Self;
9846 }
9847 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9848 #[repr(C)]
9849 #[cfg(feature = "Win32_Foundation")]
9850 pub struct IKEEXT_IPV6_CGA_AUTHENTICATION0 {
9851     pub keyContainerName: super::super::Foundation::PWSTR,
9852     pub cspName: super::super::Foundation::PWSTR,
9853     pub cspType: u32,
9854     pub cgaModifier: FWP_BYTE_ARRAY16,
9855     pub cgaCollisionCount: u8,
9856 }
9857 #[cfg(feature = "Win32_Foundation")]
9858 impl IKEEXT_IPV6_CGA_AUTHENTICATION0 {}
9859 #[cfg(feature = "Win32_Foundation")]
9860 impl ::std::default::Default for IKEEXT_IPV6_CGA_AUTHENTICATION0 {
default() -> Self9861     fn default() -> Self {
9862         unsafe { ::std::mem::zeroed() }
9863     }
9864 }
9865 #[cfg(feature = "Win32_Foundation")]
9866 impl ::std::fmt::Debug for IKEEXT_IPV6_CGA_AUTHENTICATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9867     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9868         fmt.debug_struct("IKEEXT_IPV6_CGA_AUTHENTICATION0").field("keyContainerName", &self.keyContainerName).field("cspName", &self.cspName).field("cspType", &self.cspType).field("cgaModifier", &self.cgaModifier).field("cgaCollisionCount", &self.cgaCollisionCount).finish()
9869     }
9870 }
9871 #[cfg(feature = "Win32_Foundation")]
9872 impl ::std::cmp::PartialEq for IKEEXT_IPV6_CGA_AUTHENTICATION0 {
eq(&self, other: &Self) -> bool9873     fn eq(&self, other: &Self) -> bool {
9874         self.keyContainerName == other.keyContainerName && self.cspName == other.cspName && self.cspType == other.cspType && self.cgaModifier == other.cgaModifier && self.cgaCollisionCount == other.cgaCollisionCount
9875     }
9876 }
9877 #[cfg(feature = "Win32_Foundation")]
9878 impl ::std::cmp::Eq for IKEEXT_IPV6_CGA_AUTHENTICATION0 {}
9879 #[cfg(feature = "Win32_Foundation")]
9880 unsafe impl ::windows::runtime::Abi for IKEEXT_IPV6_CGA_AUTHENTICATION0 {
9881     type Abi = Self;
9882     type DefaultType = Self;
9883 }
9884 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9885 #[repr(C)]
9886 pub struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
9887     pub totalSocketReceiveFailures: u32,
9888     pub totalSocketSendFailures: u32,
9889 }
9890 impl IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {}
9891 impl ::std::default::Default for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
default() -> Self9892     fn default() -> Self {
9893         unsafe { ::std::mem::zeroed() }
9894     }
9895 }
9896 impl ::std::fmt::Debug for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9897     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9898         fmt.debug_struct("IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0").field("totalSocketReceiveFailures", &self.totalSocketReceiveFailures).field("totalSocketSendFailures", &self.totalSocketSendFailures).finish()
9899     }
9900 }
9901 impl ::std::cmp::PartialEq for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
eq(&self, other: &Self) -> bool9902     fn eq(&self, other: &Self) -> bool {
9903         self.totalSocketReceiveFailures == other.totalSocketReceiveFailures && self.totalSocketSendFailures == other.totalSocketSendFailures
9904     }
9905 }
9906 impl ::std::cmp::Eq for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {}
9907 unsafe impl ::windows::runtime::Abi for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
9908     type Abi = Self;
9909     type DefaultType = Self;
9910 }
9911 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9912 #[repr(C)]
9913 pub struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
9914     pub totalSocketReceiveFailures: u32,
9915     pub totalSocketSendFailures: u32,
9916 }
9917 impl IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {}
9918 impl ::std::default::Default for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
default() -> Self9919     fn default() -> Self {
9920         unsafe { ::std::mem::zeroed() }
9921     }
9922 }
9923 impl ::std::fmt::Debug for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9924     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9925         fmt.debug_struct("IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1").field("totalSocketReceiveFailures", &self.totalSocketReceiveFailures).field("totalSocketSendFailures", &self.totalSocketSendFailures).finish()
9926     }
9927 }
9928 impl ::std::cmp::PartialEq for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
eq(&self, other: &Self) -> bool9929     fn eq(&self, other: &Self) -> bool {
9930         self.totalSocketReceiveFailures == other.totalSocketReceiveFailures && self.totalSocketSendFailures == other.totalSocketSendFailures
9931     }
9932 }
9933 impl ::std::cmp::Eq for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {}
9934 unsafe impl ::windows::runtime::Abi for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
9935     type Abi = Self;
9936     type DefaultType = Self;
9937 }
9938 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9939 #[repr(C)]
9940 pub struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
9941     pub currentActiveMainModes: u32,
9942     pub totalMainModesStarted: u32,
9943     pub totalSuccessfulMainModes: u32,
9944     pub totalFailedMainModes: u32,
9945     pub totalResponderMainModes: u32,
9946     pub currentNewResponderMainModes: u32,
9947     pub currentActiveQuickModes: u32,
9948     pub totalQuickModesStarted: u32,
9949     pub totalSuccessfulQuickModes: u32,
9950     pub totalFailedQuickModes: u32,
9951     pub totalAcquires: u32,
9952     pub totalReinitAcquires: u32,
9953     pub currentActiveExtendedModes: u32,
9954     pub totalExtendedModesStarted: u32,
9955     pub totalSuccessfulExtendedModes: u32,
9956     pub totalFailedExtendedModes: u32,
9957     pub totalImpersonationExtendedModes: u32,
9958     pub totalImpersonationMainModes: u32,
9959 }
9960 impl IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {}
9961 impl ::std::default::Default for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
default() -> Self9962     fn default() -> Self {
9963         unsafe { ::std::mem::zeroed() }
9964     }
9965 }
9966 impl ::std::fmt::Debug for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9967     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9968         fmt.debug_struct("IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0")
9969             .field("currentActiveMainModes", &self.currentActiveMainModes)
9970             .field("totalMainModesStarted", &self.totalMainModesStarted)
9971             .field("totalSuccessfulMainModes", &self.totalSuccessfulMainModes)
9972             .field("totalFailedMainModes", &self.totalFailedMainModes)
9973             .field("totalResponderMainModes", &self.totalResponderMainModes)
9974             .field("currentNewResponderMainModes", &self.currentNewResponderMainModes)
9975             .field("currentActiveQuickModes", &self.currentActiveQuickModes)
9976             .field("totalQuickModesStarted", &self.totalQuickModesStarted)
9977             .field("totalSuccessfulQuickModes", &self.totalSuccessfulQuickModes)
9978             .field("totalFailedQuickModes", &self.totalFailedQuickModes)
9979             .field("totalAcquires", &self.totalAcquires)
9980             .field("totalReinitAcquires", &self.totalReinitAcquires)
9981             .field("currentActiveExtendedModes", &self.currentActiveExtendedModes)
9982             .field("totalExtendedModesStarted", &self.totalExtendedModesStarted)
9983             .field("totalSuccessfulExtendedModes", &self.totalSuccessfulExtendedModes)
9984             .field("totalFailedExtendedModes", &self.totalFailedExtendedModes)
9985             .field("totalImpersonationExtendedModes", &self.totalImpersonationExtendedModes)
9986             .field("totalImpersonationMainModes", &self.totalImpersonationMainModes)
9987             .finish()
9988     }
9989 }
9990 impl ::std::cmp::PartialEq for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
eq(&self, other: &Self) -> bool9991     fn eq(&self, other: &Self) -> bool {
9992         self.currentActiveMainModes == other.currentActiveMainModes
9993             && self.totalMainModesStarted == other.totalMainModesStarted
9994             && self.totalSuccessfulMainModes == other.totalSuccessfulMainModes
9995             && self.totalFailedMainModes == other.totalFailedMainModes
9996             && self.totalResponderMainModes == other.totalResponderMainModes
9997             && self.currentNewResponderMainModes == other.currentNewResponderMainModes
9998             && self.currentActiveQuickModes == other.currentActiveQuickModes
9999             && self.totalQuickModesStarted == other.totalQuickModesStarted
10000             && self.totalSuccessfulQuickModes == other.totalSuccessfulQuickModes
10001             && self.totalFailedQuickModes == other.totalFailedQuickModes
10002             && self.totalAcquires == other.totalAcquires
10003             && self.totalReinitAcquires == other.totalReinitAcquires
10004             && self.currentActiveExtendedModes == other.currentActiveExtendedModes
10005             && self.totalExtendedModesStarted == other.totalExtendedModesStarted
10006             && self.totalSuccessfulExtendedModes == other.totalSuccessfulExtendedModes
10007             && self.totalFailedExtendedModes == other.totalFailedExtendedModes
10008             && self.totalImpersonationExtendedModes == other.totalImpersonationExtendedModes
10009             && self.totalImpersonationMainModes == other.totalImpersonationMainModes
10010     }
10011 }
10012 impl ::std::cmp::Eq for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {}
10013 unsafe impl ::windows::runtime::Abi for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
10014     type Abi = Self;
10015     type DefaultType = Self;
10016 }
10017 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10018 #[repr(C)]
10019 pub struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
10020     pub currentActiveMainModes: u32,
10021     pub totalMainModesStarted: u32,
10022     pub totalSuccessfulMainModes: u32,
10023     pub totalFailedMainModes: u32,
10024     pub totalResponderMainModes: u32,
10025     pub currentNewResponderMainModes: u32,
10026     pub currentActiveQuickModes: u32,
10027     pub totalQuickModesStarted: u32,
10028     pub totalSuccessfulQuickModes: u32,
10029     pub totalFailedQuickModes: u32,
10030     pub totalAcquires: u32,
10031     pub totalReinitAcquires: u32,
10032     pub currentActiveExtendedModes: u32,
10033     pub totalExtendedModesStarted: u32,
10034     pub totalSuccessfulExtendedModes: u32,
10035     pub totalFailedExtendedModes: u32,
10036     pub totalImpersonationExtendedModes: u32,
10037     pub totalImpersonationMainModes: u32,
10038 }
10039 impl IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {}
10040 impl ::std::default::Default for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
default() -> Self10041     fn default() -> Self {
10042         unsafe { ::std::mem::zeroed() }
10043     }
10044 }
10045 impl ::std::fmt::Debug for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10046     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10047         fmt.debug_struct("IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1")
10048             .field("currentActiveMainModes", &self.currentActiveMainModes)
10049             .field("totalMainModesStarted", &self.totalMainModesStarted)
10050             .field("totalSuccessfulMainModes", &self.totalSuccessfulMainModes)
10051             .field("totalFailedMainModes", &self.totalFailedMainModes)
10052             .field("totalResponderMainModes", &self.totalResponderMainModes)
10053             .field("currentNewResponderMainModes", &self.currentNewResponderMainModes)
10054             .field("currentActiveQuickModes", &self.currentActiveQuickModes)
10055             .field("totalQuickModesStarted", &self.totalQuickModesStarted)
10056             .field("totalSuccessfulQuickModes", &self.totalSuccessfulQuickModes)
10057             .field("totalFailedQuickModes", &self.totalFailedQuickModes)
10058             .field("totalAcquires", &self.totalAcquires)
10059             .field("totalReinitAcquires", &self.totalReinitAcquires)
10060             .field("currentActiveExtendedModes", &self.currentActiveExtendedModes)
10061             .field("totalExtendedModesStarted", &self.totalExtendedModesStarted)
10062             .field("totalSuccessfulExtendedModes", &self.totalSuccessfulExtendedModes)
10063             .field("totalFailedExtendedModes", &self.totalFailedExtendedModes)
10064             .field("totalImpersonationExtendedModes", &self.totalImpersonationExtendedModes)
10065             .field("totalImpersonationMainModes", &self.totalImpersonationMainModes)
10066             .finish()
10067     }
10068 }
10069 impl ::std::cmp::PartialEq for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
eq(&self, other: &Self) -> bool10070     fn eq(&self, other: &Self) -> bool {
10071         self.currentActiveMainModes == other.currentActiveMainModes
10072             && self.totalMainModesStarted == other.totalMainModesStarted
10073             && self.totalSuccessfulMainModes == other.totalSuccessfulMainModes
10074             && self.totalFailedMainModes == other.totalFailedMainModes
10075             && self.totalResponderMainModes == other.totalResponderMainModes
10076             && self.currentNewResponderMainModes == other.currentNewResponderMainModes
10077             && self.currentActiveQuickModes == other.currentActiveQuickModes
10078             && self.totalQuickModesStarted == other.totalQuickModesStarted
10079             && self.totalSuccessfulQuickModes == other.totalSuccessfulQuickModes
10080             && self.totalFailedQuickModes == other.totalFailedQuickModes
10081             && self.totalAcquires == other.totalAcquires
10082             && self.totalReinitAcquires == other.totalReinitAcquires
10083             && self.currentActiveExtendedModes == other.currentActiveExtendedModes
10084             && self.totalExtendedModesStarted == other.totalExtendedModesStarted
10085             && self.totalSuccessfulExtendedModes == other.totalSuccessfulExtendedModes
10086             && self.totalFailedExtendedModes == other.totalFailedExtendedModes
10087             && self.totalImpersonationExtendedModes == other.totalImpersonationExtendedModes
10088             && self.totalImpersonationMainModes == other.totalImpersonationMainModes
10089     }
10090 }
10091 impl ::std::cmp::Eq for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {}
10092 unsafe impl ::windows::runtime::Abi for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
10093     type Abi = Self;
10094     type DefaultType = Self;
10095 }
10096 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10097 #[repr(C)]
10098 pub struct IKEEXT_KERBEROS_AUTHENTICATION0 {
10099     pub flags: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS,
10100 }
10101 impl IKEEXT_KERBEROS_AUTHENTICATION0 {}
10102 impl ::std::default::Default for IKEEXT_KERBEROS_AUTHENTICATION0 {
default() -> Self10103     fn default() -> Self {
10104         unsafe { ::std::mem::zeroed() }
10105     }
10106 }
10107 impl ::std::fmt::Debug for IKEEXT_KERBEROS_AUTHENTICATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10108     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10109         fmt.debug_struct("IKEEXT_KERBEROS_AUTHENTICATION0").field("flags", &self.flags).finish()
10110     }
10111 }
10112 impl ::std::cmp::PartialEq for IKEEXT_KERBEROS_AUTHENTICATION0 {
eq(&self, other: &Self) -> bool10113     fn eq(&self, other: &Self) -> bool {
10114         self.flags == other.flags
10115     }
10116 }
10117 impl ::std::cmp::Eq for IKEEXT_KERBEROS_AUTHENTICATION0 {}
10118 unsafe impl ::windows::runtime::Abi for IKEEXT_KERBEROS_AUTHENTICATION0 {
10119     type Abi = Self;
10120     type DefaultType = Self;
10121 }
10122 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10123 #[repr(C)]
10124 #[cfg(feature = "Win32_Foundation")]
10125 pub struct IKEEXT_KERBEROS_AUTHENTICATION1 {
10126     pub flags: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS,
10127     pub proxyServer: super::super::Foundation::PWSTR,
10128 }
10129 #[cfg(feature = "Win32_Foundation")]
10130 impl IKEEXT_KERBEROS_AUTHENTICATION1 {}
10131 #[cfg(feature = "Win32_Foundation")]
10132 impl ::std::default::Default for IKEEXT_KERBEROS_AUTHENTICATION1 {
default() -> Self10133     fn default() -> Self {
10134         unsafe { ::std::mem::zeroed() }
10135     }
10136 }
10137 #[cfg(feature = "Win32_Foundation")]
10138 impl ::std::fmt::Debug for IKEEXT_KERBEROS_AUTHENTICATION1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10139     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10140         fmt.debug_struct("IKEEXT_KERBEROS_AUTHENTICATION1").field("flags", &self.flags).field("proxyServer", &self.proxyServer).finish()
10141     }
10142 }
10143 #[cfg(feature = "Win32_Foundation")]
10144 impl ::std::cmp::PartialEq for IKEEXT_KERBEROS_AUTHENTICATION1 {
eq(&self, other: &Self) -> bool10145     fn eq(&self, other: &Self) -> bool {
10146         self.flags == other.flags && self.proxyServer == other.proxyServer
10147     }
10148 }
10149 #[cfg(feature = "Win32_Foundation")]
10150 impl ::std::cmp::Eq for IKEEXT_KERBEROS_AUTHENTICATION1 {}
10151 #[cfg(feature = "Win32_Foundation")]
10152 unsafe impl ::windows::runtime::Abi for IKEEXT_KERBEROS_AUTHENTICATION1 {
10153     type Abi = Self;
10154     type DefaultType = Self;
10155 }
10156 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10157 #[repr(transparent)]
10158 pub struct IKEEXT_KERBEROS_AUTHENTICATION_FLAGS(pub u32);
10159 pub const IKEEXT_KERB_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS = IKEEXT_KERBEROS_AUTHENTICATION_FLAGS(1u32);
10160 pub const IKEEXT_KERB_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS = IKEEXT_KERBEROS_AUTHENTICATION_FLAGS(2u32);
10161 impl ::std::convert::From<u32> for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
from(value: u32) -> Self10162     fn from(value: u32) -> Self {
10163         Self(value)
10164     }
10165 }
10166 unsafe impl ::windows::runtime::Abi for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
10167     type Abi = Self;
10168     type DefaultType = Self;
10169 }
10170 impl ::std::ops::BitOr for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
10171     type Output = Self;
bitor(self, rhs: Self) -> Self10172     fn bitor(self, rhs: Self) -> Self {
10173         Self(self.0 | rhs.0)
10174     }
10175 }
10176 impl ::std::ops::BitAnd for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
10177     type Output = Self;
bitand(self, rhs: Self) -> Self10178     fn bitand(self, rhs: Self) -> Self {
10179         Self(self.0 & rhs.0)
10180     }
10181 }
10182 impl ::std::ops::BitOrAssign for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
bitor_assign(&mut self, rhs: Self)10183     fn bitor_assign(&mut self, rhs: Self) {
10184         self.0.bitor_assign(rhs.0)
10185     }
10186 }
10187 impl ::std::ops::BitAndAssign for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
bitand_assign(&mut self, rhs: Self)10188     fn bitand_assign(&mut self, rhs: Self) {
10189         self.0.bitand_assign(rhs.0)
10190     }
10191 }
10192 impl ::std::ops::Not for IKEEXT_KERBEROS_AUTHENTICATION_FLAGS {
10193     type Output = Self;
not(self) -> Self10194     fn not(self) -> Self {
10195         Self(self.0.not())
10196     }
10197 }
10198 pub const IKEEXT_KERB_AUTH_FORCE_PROXY_ON_INITIATOR: u32 = 4u32;
10199 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10200 #[repr(C)]
10201 pub struct IKEEXT_KEYMODULE_STATISTICS0 {
10202     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0,
10203     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0,
10204     pub errorFrequencyTable: [u32; 97],
10205     pub mainModeNegotiationTime: u32,
10206     pub quickModeNegotiationTime: u32,
10207     pub extendedModeNegotiationTime: u32,
10208 }
10209 impl IKEEXT_KEYMODULE_STATISTICS0 {}
10210 impl ::std::default::Default for IKEEXT_KEYMODULE_STATISTICS0 {
default() -> Self10211     fn default() -> Self {
10212         unsafe { ::std::mem::zeroed() }
10213     }
10214 }
10215 impl ::std::fmt::Debug for IKEEXT_KEYMODULE_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10216     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10217         fmt.debug_struct("IKEEXT_KEYMODULE_STATISTICS0")
10218             .field("v4Statistics", &self.v4Statistics)
10219             .field("v6Statistics", &self.v6Statistics)
10220             .field("errorFrequencyTable", &self.errorFrequencyTable)
10221             .field("mainModeNegotiationTime", &self.mainModeNegotiationTime)
10222             .field("quickModeNegotiationTime", &self.quickModeNegotiationTime)
10223             .field("extendedModeNegotiationTime", &self.extendedModeNegotiationTime)
10224             .finish()
10225     }
10226 }
10227 impl ::std::cmp::PartialEq for IKEEXT_KEYMODULE_STATISTICS0 {
eq(&self, other: &Self) -> bool10228     fn eq(&self, other: &Self) -> bool {
10229         self.v4Statistics == other.v4Statistics && self.v6Statistics == other.v6Statistics && self.errorFrequencyTable == other.errorFrequencyTable && self.mainModeNegotiationTime == other.mainModeNegotiationTime && self.quickModeNegotiationTime == other.quickModeNegotiationTime && self.extendedModeNegotiationTime == other.extendedModeNegotiationTime
10230     }
10231 }
10232 impl ::std::cmp::Eq for IKEEXT_KEYMODULE_STATISTICS0 {}
10233 unsafe impl ::windows::runtime::Abi for IKEEXT_KEYMODULE_STATISTICS0 {
10234     type Abi = Self;
10235     type DefaultType = Self;
10236 }
10237 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10238 #[repr(C)]
10239 pub struct IKEEXT_KEYMODULE_STATISTICS1 {
10240     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
10241     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
10242     pub errorFrequencyTable: [u32; 97],
10243     pub mainModeNegotiationTime: u32,
10244     pub quickModeNegotiationTime: u32,
10245     pub extendedModeNegotiationTime: u32,
10246 }
10247 impl IKEEXT_KEYMODULE_STATISTICS1 {}
10248 impl ::std::default::Default for IKEEXT_KEYMODULE_STATISTICS1 {
default() -> Self10249     fn default() -> Self {
10250         unsafe { ::std::mem::zeroed() }
10251     }
10252 }
10253 impl ::std::fmt::Debug for IKEEXT_KEYMODULE_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10254     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10255         fmt.debug_struct("IKEEXT_KEYMODULE_STATISTICS1")
10256             .field("v4Statistics", &self.v4Statistics)
10257             .field("v6Statistics", &self.v6Statistics)
10258             .field("errorFrequencyTable", &self.errorFrequencyTable)
10259             .field("mainModeNegotiationTime", &self.mainModeNegotiationTime)
10260             .field("quickModeNegotiationTime", &self.quickModeNegotiationTime)
10261             .field("extendedModeNegotiationTime", &self.extendedModeNegotiationTime)
10262             .finish()
10263     }
10264 }
10265 impl ::std::cmp::PartialEq for IKEEXT_KEYMODULE_STATISTICS1 {
eq(&self, other: &Self) -> bool10266     fn eq(&self, other: &Self) -> bool {
10267         self.v4Statistics == other.v4Statistics && self.v6Statistics == other.v6Statistics && self.errorFrequencyTable == other.errorFrequencyTable && self.mainModeNegotiationTime == other.mainModeNegotiationTime && self.quickModeNegotiationTime == other.quickModeNegotiationTime && self.extendedModeNegotiationTime == other.extendedModeNegotiationTime
10268     }
10269 }
10270 impl ::std::cmp::Eq for IKEEXT_KEYMODULE_STATISTICS1 {}
10271 unsafe impl ::windows::runtime::Abi for IKEEXT_KEYMODULE_STATISTICS1 {
10272     type Abi = Self;
10273     type DefaultType = Self;
10274 }
10275 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10276 #[repr(transparent)]
10277 pub struct IKEEXT_KEY_MODULE_TYPE(pub i32);
10278 pub const IKEEXT_KEY_MODULE_IKE: IKEEXT_KEY_MODULE_TYPE = IKEEXT_KEY_MODULE_TYPE(0i32);
10279 pub const IKEEXT_KEY_MODULE_AUTHIP: IKEEXT_KEY_MODULE_TYPE = IKEEXT_KEY_MODULE_TYPE(1i32);
10280 pub const IKEEXT_KEY_MODULE_IKEV2: IKEEXT_KEY_MODULE_TYPE = IKEEXT_KEY_MODULE_TYPE(2i32);
10281 pub const IKEEXT_KEY_MODULE_MAX: IKEEXT_KEY_MODULE_TYPE = IKEEXT_KEY_MODULE_TYPE(3i32);
10282 impl ::std::convert::From<i32> for IKEEXT_KEY_MODULE_TYPE {
from(value: i32) -> Self10283     fn from(value: i32) -> Self {
10284         Self(value)
10285     }
10286 }
10287 unsafe impl ::windows::runtime::Abi for IKEEXT_KEY_MODULE_TYPE {
10288     type Abi = Self;
10289     type DefaultType = Self;
10290 }
10291 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10292 #[repr(transparent)]
10293 pub struct IKEEXT_MM_SA_STATE(pub i32);
10294 pub const IKEEXT_MM_SA_STATE_NONE: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(0i32);
10295 pub const IKEEXT_MM_SA_STATE_SA_SENT: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(1i32);
10296 pub const IKEEXT_MM_SA_STATE_SSPI_SENT: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(2i32);
10297 pub const IKEEXT_MM_SA_STATE_FINAL: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(3i32);
10298 pub const IKEEXT_MM_SA_STATE_FINAL_SENT: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(4i32);
10299 pub const IKEEXT_MM_SA_STATE_COMPLETE: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(5i32);
10300 pub const IKEEXT_MM_SA_STATE_MAX: IKEEXT_MM_SA_STATE = IKEEXT_MM_SA_STATE(6i32);
10301 impl ::std::convert::From<i32> for IKEEXT_MM_SA_STATE {
from(value: i32) -> Self10302     fn from(value: i32) -> Self {
10303         Self(value)
10304     }
10305 }
10306 unsafe impl ::windows::runtime::Abi for IKEEXT_MM_SA_STATE {
10307     type Abi = Self;
10308     type DefaultType = Self;
10309 }
10310 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10311 #[repr(C)]
10312 #[cfg(feature = "Win32_Foundation")]
10313 pub struct IKEEXT_NAME_CREDENTIAL0 {
10314     pub principalName: super::super::Foundation::PWSTR,
10315 }
10316 #[cfg(feature = "Win32_Foundation")]
10317 impl IKEEXT_NAME_CREDENTIAL0 {}
10318 #[cfg(feature = "Win32_Foundation")]
10319 impl ::std::default::Default for IKEEXT_NAME_CREDENTIAL0 {
default() -> Self10320     fn default() -> Self {
10321         unsafe { ::std::mem::zeroed() }
10322     }
10323 }
10324 #[cfg(feature = "Win32_Foundation")]
10325 impl ::std::fmt::Debug for IKEEXT_NAME_CREDENTIAL0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10326     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10327         fmt.debug_struct("IKEEXT_NAME_CREDENTIAL0").field("principalName", &self.principalName).finish()
10328     }
10329 }
10330 #[cfg(feature = "Win32_Foundation")]
10331 impl ::std::cmp::PartialEq for IKEEXT_NAME_CREDENTIAL0 {
eq(&self, other: &Self) -> bool10332     fn eq(&self, other: &Self) -> bool {
10333         self.principalName == other.principalName
10334     }
10335 }
10336 #[cfg(feature = "Win32_Foundation")]
10337 impl ::std::cmp::Eq for IKEEXT_NAME_CREDENTIAL0 {}
10338 #[cfg(feature = "Win32_Foundation")]
10339 unsafe impl ::windows::runtime::Abi for IKEEXT_NAME_CREDENTIAL0 {
10340     type Abi = Self;
10341     type DefaultType = Self;
10342 }
10343 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10344 #[repr(C)]
10345 pub struct IKEEXT_NTLM_V2_AUTHENTICATION0 {
10346     pub flags: u32,
10347 }
10348 impl IKEEXT_NTLM_V2_AUTHENTICATION0 {}
10349 impl ::std::default::Default for IKEEXT_NTLM_V2_AUTHENTICATION0 {
default() -> Self10350     fn default() -> Self {
10351         unsafe { ::std::mem::zeroed() }
10352     }
10353 }
10354 impl ::std::fmt::Debug for IKEEXT_NTLM_V2_AUTHENTICATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10355     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10356         fmt.debug_struct("IKEEXT_NTLM_V2_AUTHENTICATION0").field("flags", &self.flags).finish()
10357     }
10358 }
10359 impl ::std::cmp::PartialEq for IKEEXT_NTLM_V2_AUTHENTICATION0 {
eq(&self, other: &Self) -> bool10360     fn eq(&self, other: &Self) -> bool {
10361         self.flags == other.flags
10362     }
10363 }
10364 impl ::std::cmp::Eq for IKEEXT_NTLM_V2_AUTHENTICATION0 {}
10365 unsafe impl ::windows::runtime::Abi for IKEEXT_NTLM_V2_AUTHENTICATION0 {
10366     type Abi = Self;
10367     type DefaultType = Self;
10368 }
10369 pub const IKEEXT_NTLM_V2_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS: u32 = 1u32;
10370 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10371 #[repr(C)]
10372 #[cfg(feature = "Win32_Foundation")]
10373 pub struct IKEEXT_POLICY0 {
10374     pub softExpirationTime: u32,
10375     pub numAuthenticationMethods: u32,
10376     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD0,
10377     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
10378     pub numIkeProposals: u32,
10379     pub ikeProposals: *mut IKEEXT_PROPOSAL0,
10380     pub flags: IKEEXT_POLICY_FLAG,
10381     pub maxDynamicFilters: u32,
10382 }
10383 #[cfg(feature = "Win32_Foundation")]
10384 impl IKEEXT_POLICY0 {}
10385 #[cfg(feature = "Win32_Foundation")]
10386 impl ::std::default::Default for IKEEXT_POLICY0 {
default() -> Self10387     fn default() -> Self {
10388         unsafe { ::std::mem::zeroed() }
10389     }
10390 }
10391 #[cfg(feature = "Win32_Foundation")]
10392 impl ::std::fmt::Debug for IKEEXT_POLICY0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10393     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10394         fmt.debug_struct("IKEEXT_POLICY0")
10395             .field("softExpirationTime", &self.softExpirationTime)
10396             .field("numAuthenticationMethods", &self.numAuthenticationMethods)
10397             .field("authenticationMethods", &self.authenticationMethods)
10398             .field("initiatorImpersonationType", &self.initiatorImpersonationType)
10399             .field("numIkeProposals", &self.numIkeProposals)
10400             .field("ikeProposals", &self.ikeProposals)
10401             .field("flags", &self.flags)
10402             .field("maxDynamicFilters", &self.maxDynamicFilters)
10403             .finish()
10404     }
10405 }
10406 #[cfg(feature = "Win32_Foundation")]
10407 impl ::std::cmp::PartialEq for IKEEXT_POLICY0 {
eq(&self, other: &Self) -> bool10408     fn eq(&self, other: &Self) -> bool {
10409         self.softExpirationTime == other.softExpirationTime && self.numAuthenticationMethods == other.numAuthenticationMethods && self.authenticationMethods == other.authenticationMethods && self.initiatorImpersonationType == other.initiatorImpersonationType && self.numIkeProposals == other.numIkeProposals && self.ikeProposals == other.ikeProposals && self.flags == other.flags && self.maxDynamicFilters == other.maxDynamicFilters
10410     }
10411 }
10412 #[cfg(feature = "Win32_Foundation")]
10413 impl ::std::cmp::Eq for IKEEXT_POLICY0 {}
10414 #[cfg(feature = "Win32_Foundation")]
10415 unsafe impl ::windows::runtime::Abi for IKEEXT_POLICY0 {
10416     type Abi = Self;
10417     type DefaultType = Self;
10418 }
10419 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10420 #[repr(C)]
10421 #[cfg(feature = "Win32_Foundation")]
10422 pub struct IKEEXT_POLICY1 {
10423     pub softExpirationTime: u32,
10424     pub numAuthenticationMethods: u32,
10425     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD1,
10426     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
10427     pub numIkeProposals: u32,
10428     pub ikeProposals: *mut IKEEXT_PROPOSAL0,
10429     pub flags: IKEEXT_POLICY_FLAG,
10430     pub maxDynamicFilters: u32,
10431     pub retransmitDurationSecs: u32,
10432 }
10433 #[cfg(feature = "Win32_Foundation")]
10434 impl IKEEXT_POLICY1 {}
10435 #[cfg(feature = "Win32_Foundation")]
10436 impl ::std::default::Default for IKEEXT_POLICY1 {
default() -> Self10437     fn default() -> Self {
10438         unsafe { ::std::mem::zeroed() }
10439     }
10440 }
10441 #[cfg(feature = "Win32_Foundation")]
10442 impl ::std::fmt::Debug for IKEEXT_POLICY1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10443     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10444         fmt.debug_struct("IKEEXT_POLICY1")
10445             .field("softExpirationTime", &self.softExpirationTime)
10446             .field("numAuthenticationMethods", &self.numAuthenticationMethods)
10447             .field("authenticationMethods", &self.authenticationMethods)
10448             .field("initiatorImpersonationType", &self.initiatorImpersonationType)
10449             .field("numIkeProposals", &self.numIkeProposals)
10450             .field("ikeProposals", &self.ikeProposals)
10451             .field("flags", &self.flags)
10452             .field("maxDynamicFilters", &self.maxDynamicFilters)
10453             .field("retransmitDurationSecs", &self.retransmitDurationSecs)
10454             .finish()
10455     }
10456 }
10457 #[cfg(feature = "Win32_Foundation")]
10458 impl ::std::cmp::PartialEq for IKEEXT_POLICY1 {
eq(&self, other: &Self) -> bool10459     fn eq(&self, other: &Self) -> bool {
10460         self.softExpirationTime == other.softExpirationTime && self.numAuthenticationMethods == other.numAuthenticationMethods && self.authenticationMethods == other.authenticationMethods && self.initiatorImpersonationType == other.initiatorImpersonationType && self.numIkeProposals == other.numIkeProposals && self.ikeProposals == other.ikeProposals && self.flags == other.flags && self.maxDynamicFilters == other.maxDynamicFilters && self.retransmitDurationSecs == other.retransmitDurationSecs
10461     }
10462 }
10463 #[cfg(feature = "Win32_Foundation")]
10464 impl ::std::cmp::Eq for IKEEXT_POLICY1 {}
10465 #[cfg(feature = "Win32_Foundation")]
10466 unsafe impl ::windows::runtime::Abi for IKEEXT_POLICY1 {
10467     type Abi = Self;
10468     type DefaultType = Self;
10469 }
10470 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10471 #[repr(C)]
10472 #[cfg(feature = "Win32_Foundation")]
10473 pub struct IKEEXT_POLICY2 {
10474     pub softExpirationTime: u32,
10475     pub numAuthenticationMethods: u32,
10476     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD2,
10477     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
10478     pub numIkeProposals: u32,
10479     pub ikeProposals: *mut IKEEXT_PROPOSAL0,
10480     pub flags: IKEEXT_POLICY_FLAG,
10481     pub maxDynamicFilters: u32,
10482     pub retransmitDurationSecs: u32,
10483 }
10484 #[cfg(feature = "Win32_Foundation")]
10485 impl IKEEXT_POLICY2 {}
10486 #[cfg(feature = "Win32_Foundation")]
10487 impl ::std::default::Default for IKEEXT_POLICY2 {
default() -> Self10488     fn default() -> Self {
10489         unsafe { ::std::mem::zeroed() }
10490     }
10491 }
10492 #[cfg(feature = "Win32_Foundation")]
10493 impl ::std::fmt::Debug for IKEEXT_POLICY2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10494     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10495         fmt.debug_struct("IKEEXT_POLICY2")
10496             .field("softExpirationTime", &self.softExpirationTime)
10497             .field("numAuthenticationMethods", &self.numAuthenticationMethods)
10498             .field("authenticationMethods", &self.authenticationMethods)
10499             .field("initiatorImpersonationType", &self.initiatorImpersonationType)
10500             .field("numIkeProposals", &self.numIkeProposals)
10501             .field("ikeProposals", &self.ikeProposals)
10502             .field("flags", &self.flags)
10503             .field("maxDynamicFilters", &self.maxDynamicFilters)
10504             .field("retransmitDurationSecs", &self.retransmitDurationSecs)
10505             .finish()
10506     }
10507 }
10508 #[cfg(feature = "Win32_Foundation")]
10509 impl ::std::cmp::PartialEq for IKEEXT_POLICY2 {
eq(&self, other: &Self) -> bool10510     fn eq(&self, other: &Self) -> bool {
10511         self.softExpirationTime == other.softExpirationTime && self.numAuthenticationMethods == other.numAuthenticationMethods && self.authenticationMethods == other.authenticationMethods && self.initiatorImpersonationType == other.initiatorImpersonationType && self.numIkeProposals == other.numIkeProposals && self.ikeProposals == other.ikeProposals && self.flags == other.flags && self.maxDynamicFilters == other.maxDynamicFilters && self.retransmitDurationSecs == other.retransmitDurationSecs
10512     }
10513 }
10514 #[cfg(feature = "Win32_Foundation")]
10515 impl ::std::cmp::Eq for IKEEXT_POLICY2 {}
10516 #[cfg(feature = "Win32_Foundation")]
10517 unsafe impl ::windows::runtime::Abi for IKEEXT_POLICY2 {
10518     type Abi = Self;
10519     type DefaultType = Self;
10520 }
10521 pub const IKEEXT_POLICY_ENABLE_IKEV2_FRAGMENTATION: u32 = 128u32;
10522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10523 #[repr(transparent)]
10524 pub struct IKEEXT_POLICY_FLAG(pub u32);
10525 pub const IKEEXT_POLICY_FLAG_DISABLE_DIAGNOSTICS: IKEEXT_POLICY_FLAG = IKEEXT_POLICY_FLAG(1u32);
10526 pub const IKEEXT_POLICY_FLAG_NO_MACHINE_LUID_VERIFY: IKEEXT_POLICY_FLAG = IKEEXT_POLICY_FLAG(2u32);
10527 pub const IKEEXT_POLICY_FLAG_NO_IMPERSONATION_LUID_VERIFY: IKEEXT_POLICY_FLAG = IKEEXT_POLICY_FLAG(4u32);
10528 pub const IKEEXT_POLICY_FLAG_ENABLE_OPTIONAL_DH: IKEEXT_POLICY_FLAG = IKEEXT_POLICY_FLAG(8u32);
10529 impl ::std::convert::From<u32> for IKEEXT_POLICY_FLAG {
from(value: u32) -> Self10530     fn from(value: u32) -> Self {
10531         Self(value)
10532     }
10533 }
10534 unsafe impl ::windows::runtime::Abi for IKEEXT_POLICY_FLAG {
10535     type Abi = Self;
10536     type DefaultType = Self;
10537 }
10538 impl ::std::ops::BitOr for IKEEXT_POLICY_FLAG {
10539     type Output = Self;
bitor(self, rhs: Self) -> Self10540     fn bitor(self, rhs: Self) -> Self {
10541         Self(self.0 | rhs.0)
10542     }
10543 }
10544 impl ::std::ops::BitAnd for IKEEXT_POLICY_FLAG {
10545     type Output = Self;
bitand(self, rhs: Self) -> Self10546     fn bitand(self, rhs: Self) -> Self {
10547         Self(self.0 & rhs.0)
10548     }
10549 }
10550 impl ::std::ops::BitOrAssign for IKEEXT_POLICY_FLAG {
bitor_assign(&mut self, rhs: Self)10551     fn bitor_assign(&mut self, rhs: Self) {
10552         self.0.bitor_assign(rhs.0)
10553     }
10554 }
10555 impl ::std::ops::BitAndAssign for IKEEXT_POLICY_FLAG {
bitand_assign(&mut self, rhs: Self)10556     fn bitand_assign(&mut self, rhs: Self) {
10557         self.0.bitand_assign(rhs.0)
10558     }
10559 }
10560 impl ::std::ops::Not for IKEEXT_POLICY_FLAG {
10561     type Output = Self;
not(self) -> Self10562     fn not(self) -> Self {
10563         Self(self.0.not())
10564     }
10565 }
10566 pub const IKEEXT_POLICY_FLAG_IMS_VPN: u32 = 64u32;
10567 pub const IKEEXT_POLICY_FLAG_MOBIKE_NOT_SUPPORTED: u32 = 16u32;
10568 pub const IKEEXT_POLICY_FLAG_SITE_TO_SITE: u32 = 32u32;
10569 pub const IKEEXT_POLICY_SUPPORT_LOW_POWER_MODE: u32 = 256u32;
10570 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10571 #[repr(C)]
10572 pub struct IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
10573     pub presharedKey: FWP_BYTE_BLOB,
10574 }
10575 impl IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {}
10576 impl ::std::default::Default for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
default() -> Self10577     fn default() -> Self {
10578         unsafe { ::std::mem::zeroed() }
10579     }
10580 }
10581 impl ::std::fmt::Debug for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10582     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10583         fmt.debug_struct("IKEEXT_PRESHARED_KEY_AUTHENTICATION0").field("presharedKey", &self.presharedKey).finish()
10584     }
10585 }
10586 impl ::std::cmp::PartialEq for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
eq(&self, other: &Self) -> bool10587     fn eq(&self, other: &Self) -> bool {
10588         self.presharedKey == other.presharedKey
10589     }
10590 }
10591 impl ::std::cmp::Eq for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {}
10592 unsafe impl ::windows::runtime::Abi for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
10593     type Abi = Self;
10594     type DefaultType = Self;
10595 }
10596 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10597 #[repr(C)]
10598 pub struct IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
10599     pub presharedKey: FWP_BYTE_BLOB,
10600     pub flags: IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS,
10601 }
10602 impl IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {}
10603 impl ::std::default::Default for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
default() -> Self10604     fn default() -> Self {
10605         unsafe { ::std::mem::zeroed() }
10606     }
10607 }
10608 impl ::std::fmt::Debug for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10609     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10610         fmt.debug_struct("IKEEXT_PRESHARED_KEY_AUTHENTICATION1").field("presharedKey", &self.presharedKey).field("flags", &self.flags).finish()
10611     }
10612 }
10613 impl ::std::cmp::PartialEq for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
eq(&self, other: &Self) -> bool10614     fn eq(&self, other: &Self) -> bool {
10615         self.presharedKey == other.presharedKey && self.flags == other.flags
10616     }
10617 }
10618 impl ::std::cmp::Eq for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {}
10619 unsafe impl ::windows::runtime::Abi for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
10620     type Abi = Self;
10621     type DefaultType = Self;
10622 }
10623 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10624 #[repr(transparent)]
10625 pub struct IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS(pub u32);
10626 pub const IKEEXT_PSK_FLAG_LOCAL_AUTH_ONLY: IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS = IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS(1u32);
10627 pub const IKEEXT_PSK_FLAG_REMOTE_AUTH_ONLY: IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS = IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS(2u32);
10628 impl ::std::convert::From<u32> for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
from(value: u32) -> Self10629     fn from(value: u32) -> Self {
10630         Self(value)
10631     }
10632 }
10633 unsafe impl ::windows::runtime::Abi for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
10634     type Abi = Self;
10635     type DefaultType = Self;
10636 }
10637 impl ::std::ops::BitOr for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
10638     type Output = Self;
bitor(self, rhs: Self) -> Self10639     fn bitor(self, rhs: Self) -> Self {
10640         Self(self.0 | rhs.0)
10641     }
10642 }
10643 impl ::std::ops::BitAnd for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
10644     type Output = Self;
bitand(self, rhs: Self) -> Self10645     fn bitand(self, rhs: Self) -> Self {
10646         Self(self.0 & rhs.0)
10647     }
10648 }
10649 impl ::std::ops::BitOrAssign for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
bitor_assign(&mut self, rhs: Self)10650     fn bitor_assign(&mut self, rhs: Self) {
10651         self.0.bitor_assign(rhs.0)
10652     }
10653 }
10654 impl ::std::ops::BitAndAssign for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
bitand_assign(&mut self, rhs: Self)10655     fn bitand_assign(&mut self, rhs: Self) {
10656         self.0.bitand_assign(rhs.0)
10657     }
10658 }
10659 impl ::std::ops::Not for IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS {
10660     type Output = Self;
not(self) -> Self10661     fn not(self) -> Self {
10662         Self(self.0.not())
10663     }
10664 }
10665 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10666 #[repr(C)]
10667 pub struct IKEEXT_PROPOSAL0 {
10668     pub cipherAlgorithm: IKEEXT_CIPHER_ALGORITHM0,
10669     pub integrityAlgorithm: IKEEXT_INTEGRITY_ALGORITHM0,
10670     pub maxLifetimeSeconds: u32,
10671     pub dhGroup: IKEEXT_DH_GROUP,
10672     pub quickModeLimit: u32,
10673 }
10674 impl IKEEXT_PROPOSAL0 {}
10675 impl ::std::default::Default for IKEEXT_PROPOSAL0 {
default() -> Self10676     fn default() -> Self {
10677         unsafe { ::std::mem::zeroed() }
10678     }
10679 }
10680 impl ::std::fmt::Debug for IKEEXT_PROPOSAL0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10681     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10682         fmt.debug_struct("IKEEXT_PROPOSAL0").field("cipherAlgorithm", &self.cipherAlgorithm).field("integrityAlgorithm", &self.integrityAlgorithm).field("maxLifetimeSeconds", &self.maxLifetimeSeconds).field("dhGroup", &self.dhGroup).field("quickModeLimit", &self.quickModeLimit).finish()
10683     }
10684 }
10685 impl ::std::cmp::PartialEq for IKEEXT_PROPOSAL0 {
eq(&self, other: &Self) -> bool10686     fn eq(&self, other: &Self) -> bool {
10687         self.cipherAlgorithm == other.cipherAlgorithm && self.integrityAlgorithm == other.integrityAlgorithm && self.maxLifetimeSeconds == other.maxLifetimeSeconds && self.dhGroup == other.dhGroup && self.quickModeLimit == other.quickModeLimit
10688     }
10689 }
10690 impl ::std::cmp::Eq for IKEEXT_PROPOSAL0 {}
10691 unsafe impl ::windows::runtime::Abi for IKEEXT_PROPOSAL0 {
10692     type Abi = Self;
10693     type DefaultType = Self;
10694 }
10695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10696 #[repr(transparent)]
10697 pub struct IKEEXT_QM_SA_STATE(pub i32);
10698 pub const IKEEXT_QM_SA_STATE_NONE: IKEEXT_QM_SA_STATE = IKEEXT_QM_SA_STATE(0i32);
10699 pub const IKEEXT_QM_SA_STATE_INITIAL: IKEEXT_QM_SA_STATE = IKEEXT_QM_SA_STATE(1i32);
10700 pub const IKEEXT_QM_SA_STATE_FINAL: IKEEXT_QM_SA_STATE = IKEEXT_QM_SA_STATE(2i32);
10701 pub const IKEEXT_QM_SA_STATE_COMPLETE: IKEEXT_QM_SA_STATE = IKEEXT_QM_SA_STATE(3i32);
10702 pub const IKEEXT_QM_SA_STATE_MAX: IKEEXT_QM_SA_STATE = IKEEXT_QM_SA_STATE(4i32);
10703 impl ::std::convert::From<i32> for IKEEXT_QM_SA_STATE {
from(value: i32) -> Self10704     fn from(value: i32) -> Self {
10705         Self(value)
10706     }
10707 }
10708 unsafe impl ::windows::runtime::Abi for IKEEXT_QM_SA_STATE {
10709     type Abi = Self;
10710     type DefaultType = Self;
10711 }
10712 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10713 #[repr(C)]
10714 pub struct IKEEXT_RESERVED_AUTHENTICATION0 {
10715     pub flags: IKEEXT_RESERVED_AUTHENTICATION_FLAGS,
10716 }
10717 impl IKEEXT_RESERVED_AUTHENTICATION0 {}
10718 impl ::std::default::Default for IKEEXT_RESERVED_AUTHENTICATION0 {
default() -> Self10719     fn default() -> Self {
10720         unsafe { ::std::mem::zeroed() }
10721     }
10722 }
10723 impl ::std::fmt::Debug for IKEEXT_RESERVED_AUTHENTICATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10724     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10725         fmt.debug_struct("IKEEXT_RESERVED_AUTHENTICATION0").field("flags", &self.flags).finish()
10726     }
10727 }
10728 impl ::std::cmp::PartialEq for IKEEXT_RESERVED_AUTHENTICATION0 {
eq(&self, other: &Self) -> bool10729     fn eq(&self, other: &Self) -> bool {
10730         self.flags == other.flags
10731     }
10732 }
10733 impl ::std::cmp::Eq for IKEEXT_RESERVED_AUTHENTICATION0 {}
10734 unsafe impl ::windows::runtime::Abi for IKEEXT_RESERVED_AUTHENTICATION0 {
10735     type Abi = Self;
10736     type DefaultType = Self;
10737 }
10738 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10739 #[repr(transparent)]
10740 pub struct IKEEXT_RESERVED_AUTHENTICATION_FLAGS(pub u32);
10741 pub const IKEEXT_RESERVED_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION: IKEEXT_RESERVED_AUTHENTICATION_FLAGS = IKEEXT_RESERVED_AUTHENTICATION_FLAGS(1u32);
10742 impl ::std::convert::From<u32> for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
from(value: u32) -> Self10743     fn from(value: u32) -> Self {
10744         Self(value)
10745     }
10746 }
10747 unsafe impl ::windows::runtime::Abi for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
10748     type Abi = Self;
10749     type DefaultType = Self;
10750 }
10751 impl ::std::ops::BitOr for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
10752     type Output = Self;
bitor(self, rhs: Self) -> Self10753     fn bitor(self, rhs: Self) -> Self {
10754         Self(self.0 | rhs.0)
10755     }
10756 }
10757 impl ::std::ops::BitAnd for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
10758     type Output = Self;
bitand(self, rhs: Self) -> Self10759     fn bitand(self, rhs: Self) -> Self {
10760         Self(self.0 & rhs.0)
10761     }
10762 }
10763 impl ::std::ops::BitOrAssign for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
bitor_assign(&mut self, rhs: Self)10764     fn bitor_assign(&mut self, rhs: Self) {
10765         self.0.bitor_assign(rhs.0)
10766     }
10767 }
10768 impl ::std::ops::BitAndAssign for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
bitand_assign(&mut self, rhs: Self)10769     fn bitand_assign(&mut self, rhs: Self) {
10770         self.0.bitand_assign(rhs.0)
10771     }
10772 }
10773 impl ::std::ops::Not for IKEEXT_RESERVED_AUTHENTICATION_FLAGS {
10774     type Output = Self;
not(self) -> Self10775     fn not(self) -> Self {
10776         Self(self.0.not())
10777     }
10778 }
10779 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10780 #[repr(C)]
10781 #[cfg(feature = "Win32_Foundation")]
10782 pub struct IKEEXT_SA_DETAILS0 {
10783     pub saId: u64,
10784     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
10785     pub ipVersion: FWP_IP_VERSION,
10786     pub Anonymous: IKEEXT_SA_DETAILS0_0,
10787     pub ikeTraffic: IKEEXT_TRAFFIC0,
10788     pub ikeProposal: IKEEXT_PROPOSAL0,
10789     pub cookiePair: IKEEXT_COOKIE_PAIR0,
10790     pub ikeCredentials: IKEEXT_CREDENTIALS0,
10791     pub ikePolicyKey: ::windows::runtime::GUID,
10792     pub virtualIfTunnelId: u64,
10793 }
10794 #[cfg(feature = "Win32_Foundation")]
10795 impl IKEEXT_SA_DETAILS0 {}
10796 #[cfg(feature = "Win32_Foundation")]
10797 impl ::std::default::Default for IKEEXT_SA_DETAILS0 {
default() -> Self10798     fn default() -> Self {
10799         unsafe { ::std::mem::zeroed() }
10800     }
10801 }
10802 #[cfg(feature = "Win32_Foundation")]
10803 impl ::std::cmp::PartialEq for IKEEXT_SA_DETAILS0 {
eq(&self, _other: &Self) -> bool10804     fn eq(&self, _other: &Self) -> bool {
10805         unimplemented!()
10806     }
10807 }
10808 #[cfg(feature = "Win32_Foundation")]
10809 impl ::std::cmp::Eq for IKEEXT_SA_DETAILS0 {}
10810 #[cfg(feature = "Win32_Foundation")]
10811 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_DETAILS0 {
10812     type Abi = Self;
10813     type DefaultType = Self;
10814 }
10815 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10816 #[repr(C)]
10817 pub union IKEEXT_SA_DETAILS0_0 {
10818     pub v4UdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
10819 }
10820 impl IKEEXT_SA_DETAILS0_0 {}
10821 impl ::std::default::Default for IKEEXT_SA_DETAILS0_0 {
default() -> Self10822     fn default() -> Self {
10823         unsafe { ::std::mem::zeroed() }
10824     }
10825 }
10826 impl ::std::cmp::PartialEq for IKEEXT_SA_DETAILS0_0 {
eq(&self, _other: &Self) -> bool10827     fn eq(&self, _other: &Self) -> bool {
10828         unimplemented!()
10829     }
10830 }
10831 impl ::std::cmp::Eq for IKEEXT_SA_DETAILS0_0 {}
10832 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_DETAILS0_0 {
10833     type Abi = Self;
10834     type DefaultType = Self;
10835 }
10836 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10837 #[repr(C)]
10838 #[cfg(feature = "Win32_Foundation")]
10839 pub struct IKEEXT_SA_DETAILS1 {
10840     pub saId: u64,
10841     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
10842     pub ipVersion: FWP_IP_VERSION,
10843     pub Anonymous: IKEEXT_SA_DETAILS1_0,
10844     pub ikeTraffic: IKEEXT_TRAFFIC0,
10845     pub ikeProposal: IKEEXT_PROPOSAL0,
10846     pub cookiePair: IKEEXT_COOKIE_PAIR0,
10847     pub ikeCredentials: IKEEXT_CREDENTIALS1,
10848     pub ikePolicyKey: ::windows::runtime::GUID,
10849     pub virtualIfTunnelId: u64,
10850     pub correlationKey: FWP_BYTE_BLOB,
10851 }
10852 #[cfg(feature = "Win32_Foundation")]
10853 impl IKEEXT_SA_DETAILS1 {}
10854 #[cfg(feature = "Win32_Foundation")]
10855 impl ::std::default::Default for IKEEXT_SA_DETAILS1 {
default() -> Self10856     fn default() -> Self {
10857         unsafe { ::std::mem::zeroed() }
10858     }
10859 }
10860 #[cfg(feature = "Win32_Foundation")]
10861 impl ::std::cmp::PartialEq for IKEEXT_SA_DETAILS1 {
eq(&self, _other: &Self) -> bool10862     fn eq(&self, _other: &Self) -> bool {
10863         unimplemented!()
10864     }
10865 }
10866 #[cfg(feature = "Win32_Foundation")]
10867 impl ::std::cmp::Eq for IKEEXT_SA_DETAILS1 {}
10868 #[cfg(feature = "Win32_Foundation")]
10869 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_DETAILS1 {
10870     type Abi = Self;
10871     type DefaultType = Self;
10872 }
10873 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10874 #[repr(C)]
10875 pub union IKEEXT_SA_DETAILS1_0 {
10876     pub v4UdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
10877 }
10878 impl IKEEXT_SA_DETAILS1_0 {}
10879 impl ::std::default::Default for IKEEXT_SA_DETAILS1_0 {
default() -> Self10880     fn default() -> Self {
10881         unsafe { ::std::mem::zeroed() }
10882     }
10883 }
10884 impl ::std::cmp::PartialEq for IKEEXT_SA_DETAILS1_0 {
eq(&self, _other: &Self) -> bool10885     fn eq(&self, _other: &Self) -> bool {
10886         unimplemented!()
10887     }
10888 }
10889 impl ::std::cmp::Eq for IKEEXT_SA_DETAILS1_0 {}
10890 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_DETAILS1_0 {
10891     type Abi = Self;
10892     type DefaultType = Self;
10893 }
10894 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10895 #[repr(C)]
10896 #[cfg(feature = "Win32_Foundation")]
10897 pub struct IKEEXT_SA_DETAILS2 {
10898     pub saId: u64,
10899     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
10900     pub ipVersion: FWP_IP_VERSION,
10901     pub Anonymous: IKEEXT_SA_DETAILS2_0,
10902     pub ikeTraffic: IKEEXT_TRAFFIC0,
10903     pub ikeProposal: IKEEXT_PROPOSAL0,
10904     pub cookiePair: IKEEXT_COOKIE_PAIR0,
10905     pub ikeCredentials: IKEEXT_CREDENTIALS2,
10906     pub ikePolicyKey: ::windows::runtime::GUID,
10907     pub virtualIfTunnelId: u64,
10908     pub correlationKey: FWP_BYTE_BLOB,
10909 }
10910 #[cfg(feature = "Win32_Foundation")]
10911 impl IKEEXT_SA_DETAILS2 {}
10912 #[cfg(feature = "Win32_Foundation")]
10913 impl ::std::default::Default for IKEEXT_SA_DETAILS2 {
default() -> Self10914     fn default() -> Self {
10915         unsafe { ::std::mem::zeroed() }
10916     }
10917 }
10918 #[cfg(feature = "Win32_Foundation")]
10919 impl ::std::cmp::PartialEq for IKEEXT_SA_DETAILS2 {
eq(&self, _other: &Self) -> bool10920     fn eq(&self, _other: &Self) -> bool {
10921         unimplemented!()
10922     }
10923 }
10924 #[cfg(feature = "Win32_Foundation")]
10925 impl ::std::cmp::Eq for IKEEXT_SA_DETAILS2 {}
10926 #[cfg(feature = "Win32_Foundation")]
10927 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_DETAILS2 {
10928     type Abi = Self;
10929     type DefaultType = Self;
10930 }
10931 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10932 #[repr(C)]
10933 pub union IKEEXT_SA_DETAILS2_0 {
10934     pub v4UdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
10935 }
10936 impl IKEEXT_SA_DETAILS2_0 {}
10937 impl ::std::default::Default for IKEEXT_SA_DETAILS2_0 {
default() -> Self10938     fn default() -> Self {
10939         unsafe { ::std::mem::zeroed() }
10940     }
10941 }
10942 impl ::std::cmp::PartialEq for IKEEXT_SA_DETAILS2_0 {
eq(&self, _other: &Self) -> bool10943     fn eq(&self, _other: &Self) -> bool {
10944         unimplemented!()
10945     }
10946 }
10947 impl ::std::cmp::Eq for IKEEXT_SA_DETAILS2_0 {}
10948 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_DETAILS2_0 {
10949     type Abi = Self;
10950     type DefaultType = Self;
10951 }
10952 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10953 #[repr(C)]
10954 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10955 pub struct IKEEXT_SA_ENUM_TEMPLATE0 {
10956     pub localSubNet: FWP_CONDITION_VALUE0,
10957     pub remoteSubNet: FWP_CONDITION_VALUE0,
10958     pub localMainModeCertHash: FWP_BYTE_BLOB,
10959 }
10960 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10961 impl IKEEXT_SA_ENUM_TEMPLATE0 {}
10962 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10963 impl ::std::default::Default for IKEEXT_SA_ENUM_TEMPLATE0 {
default() -> Self10964     fn default() -> Self {
10965         unsafe { ::std::mem::zeroed() }
10966     }
10967 }
10968 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10969 impl ::std::cmp::PartialEq for IKEEXT_SA_ENUM_TEMPLATE0 {
eq(&self, _other: &Self) -> bool10970     fn eq(&self, _other: &Self) -> bool {
10971         unimplemented!()
10972     }
10973 }
10974 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10975 impl ::std::cmp::Eq for IKEEXT_SA_ENUM_TEMPLATE0 {}
10976 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
10977 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_ENUM_TEMPLATE0 {
10978     type Abi = Self;
10979     type DefaultType = Self;
10980 }
10981 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10982 #[repr(transparent)]
10983 pub struct IKEEXT_SA_ROLE(pub i32);
10984 pub const IKEEXT_SA_ROLE_INITIATOR: IKEEXT_SA_ROLE = IKEEXT_SA_ROLE(0i32);
10985 pub const IKEEXT_SA_ROLE_RESPONDER: IKEEXT_SA_ROLE = IKEEXT_SA_ROLE(1i32);
10986 pub const IKEEXT_SA_ROLE_MAX: IKEEXT_SA_ROLE = IKEEXT_SA_ROLE(2i32);
10987 impl ::std::convert::From<i32> for IKEEXT_SA_ROLE {
from(value: i32) -> Self10988     fn from(value: i32) -> Self {
10989         Self(value)
10990     }
10991 }
10992 unsafe impl ::windows::runtime::Abi for IKEEXT_SA_ROLE {
10993     type Abi = Self;
10994     type DefaultType = Self;
10995 }
10996 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10997 #[repr(C)]
10998 pub struct IKEEXT_STATISTICS0 {
10999     pub ikeStatistics: IKEEXT_KEYMODULE_STATISTICS0,
11000     pub authipStatistics: IKEEXT_KEYMODULE_STATISTICS0,
11001     pub commonStatistics: IKEEXT_COMMON_STATISTICS0,
11002 }
11003 impl IKEEXT_STATISTICS0 {}
11004 impl ::std::default::Default for IKEEXT_STATISTICS0 {
default() -> Self11005     fn default() -> Self {
11006         unsafe { ::std::mem::zeroed() }
11007     }
11008 }
11009 impl ::std::fmt::Debug for IKEEXT_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11010     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11011         fmt.debug_struct("IKEEXT_STATISTICS0").field("ikeStatistics", &self.ikeStatistics).field("authipStatistics", &self.authipStatistics).field("commonStatistics", &self.commonStatistics).finish()
11012     }
11013 }
11014 impl ::std::cmp::PartialEq for IKEEXT_STATISTICS0 {
eq(&self, other: &Self) -> bool11015     fn eq(&self, other: &Self) -> bool {
11016         self.ikeStatistics == other.ikeStatistics && self.authipStatistics == other.authipStatistics && self.commonStatistics == other.commonStatistics
11017     }
11018 }
11019 impl ::std::cmp::Eq for IKEEXT_STATISTICS0 {}
11020 unsafe impl ::windows::runtime::Abi for IKEEXT_STATISTICS0 {
11021     type Abi = Self;
11022     type DefaultType = Self;
11023 }
11024 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11025 #[repr(C)]
11026 pub struct IKEEXT_STATISTICS1 {
11027     pub ikeStatistics: IKEEXT_KEYMODULE_STATISTICS1,
11028     pub authipStatistics: IKEEXT_KEYMODULE_STATISTICS1,
11029     pub ikeV2Statistics: IKEEXT_KEYMODULE_STATISTICS1,
11030     pub commonStatistics: IKEEXT_COMMON_STATISTICS1,
11031 }
11032 impl IKEEXT_STATISTICS1 {}
11033 impl ::std::default::Default for IKEEXT_STATISTICS1 {
default() -> Self11034     fn default() -> Self {
11035         unsafe { ::std::mem::zeroed() }
11036     }
11037 }
11038 impl ::std::fmt::Debug for IKEEXT_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11039     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11040         fmt.debug_struct("IKEEXT_STATISTICS1").field("ikeStatistics", &self.ikeStatistics).field("authipStatistics", &self.authipStatistics).field("ikeV2Statistics", &self.ikeV2Statistics).field("commonStatistics", &self.commonStatistics).finish()
11041     }
11042 }
11043 impl ::std::cmp::PartialEq for IKEEXT_STATISTICS1 {
eq(&self, other: &Self) -> bool11044     fn eq(&self, other: &Self) -> bool {
11045         self.ikeStatistics == other.ikeStatistics && self.authipStatistics == other.authipStatistics && self.ikeV2Statistics == other.ikeV2Statistics && self.commonStatistics == other.commonStatistics
11046     }
11047 }
11048 impl ::std::cmp::Eq for IKEEXT_STATISTICS1 {}
11049 unsafe impl ::windows::runtime::Abi for IKEEXT_STATISTICS1 {
11050     type Abi = Self;
11051     type DefaultType = Self;
11052 }
11053 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11054 #[repr(C)]
11055 pub struct IKEEXT_TRAFFIC0 {
11056     pub ipVersion: FWP_IP_VERSION,
11057     pub Anonymous1: IKEEXT_TRAFFIC0_0,
11058     pub Anonymous2: IKEEXT_TRAFFIC0_1,
11059     pub authIpFilterId: u64,
11060 }
11061 impl IKEEXT_TRAFFIC0 {}
11062 impl ::std::default::Default for IKEEXT_TRAFFIC0 {
default() -> Self11063     fn default() -> Self {
11064         unsafe { ::std::mem::zeroed() }
11065     }
11066 }
11067 impl ::std::cmp::PartialEq for IKEEXT_TRAFFIC0 {
eq(&self, _other: &Self) -> bool11068     fn eq(&self, _other: &Self) -> bool {
11069         unimplemented!()
11070     }
11071 }
11072 impl ::std::cmp::Eq for IKEEXT_TRAFFIC0 {}
11073 unsafe impl ::windows::runtime::Abi for IKEEXT_TRAFFIC0 {
11074     type Abi = Self;
11075     type DefaultType = Self;
11076 }
11077 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11078 #[repr(C)]
11079 pub union IKEEXT_TRAFFIC0_0 {
11080     pub localV4Address: u32,
11081     pub localV6Address: [u8; 16],
11082 }
11083 impl IKEEXT_TRAFFIC0_0 {}
11084 impl ::std::default::Default for IKEEXT_TRAFFIC0_0 {
default() -> Self11085     fn default() -> Self {
11086         unsafe { ::std::mem::zeroed() }
11087     }
11088 }
11089 impl ::std::cmp::PartialEq for IKEEXT_TRAFFIC0_0 {
eq(&self, _other: &Self) -> bool11090     fn eq(&self, _other: &Self) -> bool {
11091         unimplemented!()
11092     }
11093 }
11094 impl ::std::cmp::Eq for IKEEXT_TRAFFIC0_0 {}
11095 unsafe impl ::windows::runtime::Abi for IKEEXT_TRAFFIC0_0 {
11096     type Abi = Self;
11097     type DefaultType = Self;
11098 }
11099 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11100 #[repr(C)]
11101 pub union IKEEXT_TRAFFIC0_1 {
11102     pub remoteV4Address: u32,
11103     pub remoteV6Address: [u8; 16],
11104 }
11105 impl IKEEXT_TRAFFIC0_1 {}
11106 impl ::std::default::Default for IKEEXT_TRAFFIC0_1 {
default() -> Self11107     fn default() -> Self {
11108         unsafe { ::std::mem::zeroed() }
11109     }
11110 }
11111 impl ::std::cmp::PartialEq for IKEEXT_TRAFFIC0_1 {
eq(&self, _other: &Self) -> bool11112     fn eq(&self, _other: &Self) -> bool {
11113         unimplemented!()
11114     }
11115 }
11116 impl ::std::cmp::Eq for IKEEXT_TRAFFIC0_1 {}
11117 unsafe impl ::windows::runtime::Abi for IKEEXT_TRAFFIC0_1 {
11118     type Abi = Self;
11119     type DefaultType = Self;
11120 }
11121 pub const IN6_EMBEDDEDV4_BITS_IN_BYTE: u32 = 8u32;
11122 pub const IN6_EMBEDDEDV4_UOCTET_POSITION: u32 = 8u32;
11123 pub const IP4_OFF_MASK: u32 = 65311u32;
11124 pub const IP6F_MORE_FRAG: u32 = 256u32;
11125 pub const IP6F_OFF_MASK: u32 = 63743u32;
11126 pub const IP6F_RESERVED_MASK: u32 = 1536u32;
11127 pub const IP6OPT_MUTABLE: u32 = 32u32;
11128 pub const IP6OPT_TYPE_DISCARD: u32 = 64u32;
11129 pub const IP6OPT_TYPE_FORCEICMP: u32 = 128u32;
11130 pub const IP6OPT_TYPE_ICMP: u32 = 192u32;
11131 pub const IP6OPT_TYPE_SKIP: u32 = 0u32;
11132 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11133 #[repr(C)]
11134 pub struct IPSEC_ADDRESS_INFO0 {
11135     pub numV4Addresses: u32,
11136     pub v4Addresses: *mut u32,
11137     pub numV6Addresses: u32,
11138     pub v6Addresses: *mut FWP_BYTE_ARRAY16,
11139 }
11140 impl IPSEC_ADDRESS_INFO0 {}
11141 impl ::std::default::Default for IPSEC_ADDRESS_INFO0 {
default() -> Self11142     fn default() -> Self {
11143         unsafe { ::std::mem::zeroed() }
11144     }
11145 }
11146 impl ::std::fmt::Debug for IPSEC_ADDRESS_INFO0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11147     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11148         fmt.debug_struct("IPSEC_ADDRESS_INFO0").field("numV4Addresses", &self.numV4Addresses).field("v4Addresses", &self.v4Addresses).field("numV6Addresses", &self.numV6Addresses).field("v6Addresses", &self.v6Addresses).finish()
11149     }
11150 }
11151 impl ::std::cmp::PartialEq for IPSEC_ADDRESS_INFO0 {
eq(&self, other: &Self) -> bool11152     fn eq(&self, other: &Self) -> bool {
11153         self.numV4Addresses == other.numV4Addresses && self.v4Addresses == other.v4Addresses && self.numV6Addresses == other.numV6Addresses && self.v6Addresses == other.v6Addresses
11154     }
11155 }
11156 impl ::std::cmp::Eq for IPSEC_ADDRESS_INFO0 {}
11157 unsafe impl ::windows::runtime::Abi for IPSEC_ADDRESS_INFO0 {
11158     type Abi = Self;
11159     type DefaultType = Self;
11160 }
11161 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11162 #[repr(C)]
11163 pub struct IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
11164     pub invalidSpisOnInbound: u32,
11165     pub decryptionFailuresOnInbound: u32,
11166     pub authenticationFailuresOnInbound: u32,
11167     pub udpEspValidationFailuresOnInbound: u32,
11168     pub replayCheckFailuresOnInbound: u32,
11169     pub invalidClearTextInbound: u32,
11170     pub saNotInitializedOnInbound: u32,
11171     pub receiveOverIncorrectSaInbound: u32,
11172     pub secureReceivesNotMatchingFilters: u32,
11173 }
11174 impl IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {}
11175 impl ::std::default::Default for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
default() -> Self11176     fn default() -> Self {
11177         unsafe { ::std::mem::zeroed() }
11178     }
11179 }
11180 impl ::std::fmt::Debug for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11181     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11182         fmt.debug_struct("IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0")
11183             .field("invalidSpisOnInbound", &self.invalidSpisOnInbound)
11184             .field("decryptionFailuresOnInbound", &self.decryptionFailuresOnInbound)
11185             .field("authenticationFailuresOnInbound", &self.authenticationFailuresOnInbound)
11186             .field("udpEspValidationFailuresOnInbound", &self.udpEspValidationFailuresOnInbound)
11187             .field("replayCheckFailuresOnInbound", &self.replayCheckFailuresOnInbound)
11188             .field("invalidClearTextInbound", &self.invalidClearTextInbound)
11189             .field("saNotInitializedOnInbound", &self.saNotInitializedOnInbound)
11190             .field("receiveOverIncorrectSaInbound", &self.receiveOverIncorrectSaInbound)
11191             .field("secureReceivesNotMatchingFilters", &self.secureReceivesNotMatchingFilters)
11192             .finish()
11193     }
11194 }
11195 impl ::std::cmp::PartialEq for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
eq(&self, other: &Self) -> bool11196     fn eq(&self, other: &Self) -> bool {
11197         self.invalidSpisOnInbound == other.invalidSpisOnInbound
11198             && self.decryptionFailuresOnInbound == other.decryptionFailuresOnInbound
11199             && self.authenticationFailuresOnInbound == other.authenticationFailuresOnInbound
11200             && self.udpEspValidationFailuresOnInbound == other.udpEspValidationFailuresOnInbound
11201             && self.replayCheckFailuresOnInbound == other.replayCheckFailuresOnInbound
11202             && self.invalidClearTextInbound == other.invalidClearTextInbound
11203             && self.saNotInitializedOnInbound == other.saNotInitializedOnInbound
11204             && self.receiveOverIncorrectSaInbound == other.receiveOverIncorrectSaInbound
11205             && self.secureReceivesNotMatchingFilters == other.secureReceivesNotMatchingFilters
11206     }
11207 }
11208 impl ::std::cmp::Eq for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {}
11209 unsafe impl ::windows::runtime::Abi for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
11210     type Abi = Self;
11211     type DefaultType = Self;
11212 }
11213 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11214 #[repr(C)]
11215 pub struct IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
11216     pub invalidSpisOnInbound: u32,
11217     pub decryptionFailuresOnInbound: u32,
11218     pub authenticationFailuresOnInbound: u32,
11219     pub udpEspValidationFailuresOnInbound: u32,
11220     pub replayCheckFailuresOnInbound: u32,
11221     pub invalidClearTextInbound: u32,
11222     pub saNotInitializedOnInbound: u32,
11223     pub receiveOverIncorrectSaInbound: u32,
11224     pub secureReceivesNotMatchingFilters: u32,
11225     pub totalDropPacketsInbound: u32,
11226 }
11227 impl IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {}
11228 impl ::std::default::Default for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
default() -> Self11229     fn default() -> Self {
11230         unsafe { ::std::mem::zeroed() }
11231     }
11232 }
11233 impl ::std::fmt::Debug for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11234     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11235         fmt.debug_struct("IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1")
11236             .field("invalidSpisOnInbound", &self.invalidSpisOnInbound)
11237             .field("decryptionFailuresOnInbound", &self.decryptionFailuresOnInbound)
11238             .field("authenticationFailuresOnInbound", &self.authenticationFailuresOnInbound)
11239             .field("udpEspValidationFailuresOnInbound", &self.udpEspValidationFailuresOnInbound)
11240             .field("replayCheckFailuresOnInbound", &self.replayCheckFailuresOnInbound)
11241             .field("invalidClearTextInbound", &self.invalidClearTextInbound)
11242             .field("saNotInitializedOnInbound", &self.saNotInitializedOnInbound)
11243             .field("receiveOverIncorrectSaInbound", &self.receiveOverIncorrectSaInbound)
11244             .field("secureReceivesNotMatchingFilters", &self.secureReceivesNotMatchingFilters)
11245             .field("totalDropPacketsInbound", &self.totalDropPacketsInbound)
11246             .finish()
11247     }
11248 }
11249 impl ::std::cmp::PartialEq for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
eq(&self, other: &Self) -> bool11250     fn eq(&self, other: &Self) -> bool {
11251         self.invalidSpisOnInbound == other.invalidSpisOnInbound
11252             && self.decryptionFailuresOnInbound == other.decryptionFailuresOnInbound
11253             && self.authenticationFailuresOnInbound == other.authenticationFailuresOnInbound
11254             && self.udpEspValidationFailuresOnInbound == other.udpEspValidationFailuresOnInbound
11255             && self.replayCheckFailuresOnInbound == other.replayCheckFailuresOnInbound
11256             && self.invalidClearTextInbound == other.invalidClearTextInbound
11257             && self.saNotInitializedOnInbound == other.saNotInitializedOnInbound
11258             && self.receiveOverIncorrectSaInbound == other.receiveOverIncorrectSaInbound
11259             && self.secureReceivesNotMatchingFilters == other.secureReceivesNotMatchingFilters
11260             && self.totalDropPacketsInbound == other.totalDropPacketsInbound
11261     }
11262 }
11263 impl ::std::cmp::Eq for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {}
11264 unsafe impl ::windows::runtime::Abi for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
11265     type Abi = Self;
11266     type DefaultType = Self;
11267 }
11268 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11269 #[repr(C)]
11270 pub struct IPSEC_AGGREGATE_SA_STATISTICS0 {
11271     pub activeSas: u32,
11272     pub pendingSaNegotiations: u32,
11273     pub totalSasAdded: u32,
11274     pub totalSasDeleted: u32,
11275     pub successfulRekeys: u32,
11276     pub activeTunnels: u32,
11277     pub offloadedSas: u32,
11278 }
11279 impl IPSEC_AGGREGATE_SA_STATISTICS0 {}
11280 impl ::std::default::Default for IPSEC_AGGREGATE_SA_STATISTICS0 {
default() -> Self11281     fn default() -> Self {
11282         unsafe { ::std::mem::zeroed() }
11283     }
11284 }
11285 impl ::std::fmt::Debug for IPSEC_AGGREGATE_SA_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11286     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11287         fmt.debug_struct("IPSEC_AGGREGATE_SA_STATISTICS0")
11288             .field("activeSas", &self.activeSas)
11289             .field("pendingSaNegotiations", &self.pendingSaNegotiations)
11290             .field("totalSasAdded", &self.totalSasAdded)
11291             .field("totalSasDeleted", &self.totalSasDeleted)
11292             .field("successfulRekeys", &self.successfulRekeys)
11293             .field("activeTunnels", &self.activeTunnels)
11294             .field("offloadedSas", &self.offloadedSas)
11295             .finish()
11296     }
11297 }
11298 impl ::std::cmp::PartialEq for IPSEC_AGGREGATE_SA_STATISTICS0 {
eq(&self, other: &Self) -> bool11299     fn eq(&self, other: &Self) -> bool {
11300         self.activeSas == other.activeSas && self.pendingSaNegotiations == other.pendingSaNegotiations && self.totalSasAdded == other.totalSasAdded && self.totalSasDeleted == other.totalSasDeleted && self.successfulRekeys == other.successfulRekeys && self.activeTunnels == other.activeTunnels && self.offloadedSas == other.offloadedSas
11301     }
11302 }
11303 impl ::std::cmp::Eq for IPSEC_AGGREGATE_SA_STATISTICS0 {}
11304 unsafe impl ::windows::runtime::Abi for IPSEC_AGGREGATE_SA_STATISTICS0 {
11305     type Abi = Self;
11306     type DefaultType = Self;
11307 }
11308 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11309 #[repr(C)]
11310 pub struct IPSEC_AH_DROP_PACKET_STATISTICS0 {
11311     pub invalidSpisOnInbound: u32,
11312     pub authenticationFailuresOnInbound: u32,
11313     pub replayCheckFailuresOnInbound: u32,
11314     pub saNotInitializedOnInbound: u32,
11315 }
11316 impl IPSEC_AH_DROP_PACKET_STATISTICS0 {}
11317 impl ::std::default::Default for IPSEC_AH_DROP_PACKET_STATISTICS0 {
default() -> Self11318     fn default() -> Self {
11319         unsafe { ::std::mem::zeroed() }
11320     }
11321 }
11322 impl ::std::fmt::Debug for IPSEC_AH_DROP_PACKET_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11323     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11324         fmt.debug_struct("IPSEC_AH_DROP_PACKET_STATISTICS0")
11325             .field("invalidSpisOnInbound", &self.invalidSpisOnInbound)
11326             .field("authenticationFailuresOnInbound", &self.authenticationFailuresOnInbound)
11327             .field("replayCheckFailuresOnInbound", &self.replayCheckFailuresOnInbound)
11328             .field("saNotInitializedOnInbound", &self.saNotInitializedOnInbound)
11329             .finish()
11330     }
11331 }
11332 impl ::std::cmp::PartialEq for IPSEC_AH_DROP_PACKET_STATISTICS0 {
eq(&self, other: &Self) -> bool11333     fn eq(&self, other: &Self) -> bool {
11334         self.invalidSpisOnInbound == other.invalidSpisOnInbound && self.authenticationFailuresOnInbound == other.authenticationFailuresOnInbound && self.replayCheckFailuresOnInbound == other.replayCheckFailuresOnInbound && self.saNotInitializedOnInbound == other.saNotInitializedOnInbound
11335     }
11336 }
11337 impl ::std::cmp::Eq for IPSEC_AH_DROP_PACKET_STATISTICS0 {}
11338 unsafe impl ::windows::runtime::Abi for IPSEC_AH_DROP_PACKET_STATISTICS0 {
11339     type Abi = Self;
11340     type DefaultType = Self;
11341 }
11342 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11343 #[repr(C)]
11344 pub struct IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
11345     pub authTransform: IPSEC_AUTH_TRANSFORM0,
11346     pub cipherTransform: IPSEC_CIPHER_TRANSFORM0,
11347 }
11348 impl IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {}
11349 impl ::std::default::Default for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
default() -> Self11350     fn default() -> Self {
11351         unsafe { ::std::mem::zeroed() }
11352     }
11353 }
11354 impl ::std::fmt::Debug for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11355     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11356         fmt.debug_struct("IPSEC_AUTH_AND_CIPHER_TRANSFORM0").field("authTransform", &self.authTransform).field("cipherTransform", &self.cipherTransform).finish()
11357     }
11358 }
11359 impl ::std::cmp::PartialEq for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
eq(&self, other: &Self) -> bool11360     fn eq(&self, other: &Self) -> bool {
11361         self.authTransform == other.authTransform && self.cipherTransform == other.cipherTransform
11362     }
11363 }
11364 impl ::std::cmp::Eq for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {}
11365 unsafe impl ::windows::runtime::Abi for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
11366     type Abi = Self;
11367     type DefaultType = Self;
11368 }
11369 pub const IPSEC_AUTH_CONFIG_GCM_AES_128: u32 = 3u32;
11370 pub const IPSEC_AUTH_CONFIG_GCM_AES_192: u32 = 4u32;
11371 pub const IPSEC_AUTH_CONFIG_GCM_AES_256: u32 = 5u32;
11372 pub const IPSEC_AUTH_CONFIG_HMAC_MD5_96: u32 = 0u32;
11373 pub const IPSEC_AUTH_CONFIG_HMAC_SHA_1_96: u32 = 1u32;
11374 pub const IPSEC_AUTH_CONFIG_HMAC_SHA_256_128: u32 = 2u32;
11375 pub const IPSEC_AUTH_CONFIG_MAX: u32 = 6u32;
11376 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11377 #[repr(C)]
11378 pub struct IPSEC_AUTH_TRANSFORM0 {
11379     pub authTransformId: IPSEC_AUTH_TRANSFORM_ID0,
11380     pub cryptoModuleId: *mut ::windows::runtime::GUID,
11381 }
11382 impl IPSEC_AUTH_TRANSFORM0 {}
11383 impl ::std::default::Default for IPSEC_AUTH_TRANSFORM0 {
default() -> Self11384     fn default() -> Self {
11385         unsafe { ::std::mem::zeroed() }
11386     }
11387 }
11388 impl ::std::fmt::Debug for IPSEC_AUTH_TRANSFORM0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11389     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11390         fmt.debug_struct("IPSEC_AUTH_TRANSFORM0").field("authTransformId", &self.authTransformId).field("cryptoModuleId", &self.cryptoModuleId).finish()
11391     }
11392 }
11393 impl ::std::cmp::PartialEq for IPSEC_AUTH_TRANSFORM0 {
eq(&self, other: &Self) -> bool11394     fn eq(&self, other: &Self) -> bool {
11395         self.authTransformId == other.authTransformId && self.cryptoModuleId == other.cryptoModuleId
11396     }
11397 }
11398 impl ::std::cmp::Eq for IPSEC_AUTH_TRANSFORM0 {}
11399 unsafe impl ::windows::runtime::Abi for IPSEC_AUTH_TRANSFORM0 {
11400     type Abi = Self;
11401     type DefaultType = Self;
11402 }
11403 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11404 #[repr(C)]
11405 pub struct IPSEC_AUTH_TRANSFORM_ID0 {
11406     pub authType: IPSEC_AUTH_TYPE,
11407     pub authConfig: u8,
11408 }
11409 impl IPSEC_AUTH_TRANSFORM_ID0 {}
11410 impl ::std::default::Default for IPSEC_AUTH_TRANSFORM_ID0 {
default() -> Self11411     fn default() -> Self {
11412         unsafe { ::std::mem::zeroed() }
11413     }
11414 }
11415 impl ::std::fmt::Debug for IPSEC_AUTH_TRANSFORM_ID0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11416     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11417         fmt.debug_struct("IPSEC_AUTH_TRANSFORM_ID0").field("authType", &self.authType).field("authConfig", &self.authConfig).finish()
11418     }
11419 }
11420 impl ::std::cmp::PartialEq for IPSEC_AUTH_TRANSFORM_ID0 {
eq(&self, other: &Self) -> bool11421     fn eq(&self, other: &Self) -> bool {
11422         self.authType == other.authType && self.authConfig == other.authConfig
11423     }
11424 }
11425 impl ::std::cmp::Eq for IPSEC_AUTH_TRANSFORM_ID0 {}
11426 unsafe impl ::windows::runtime::Abi for IPSEC_AUTH_TRANSFORM_ID0 {
11427     type Abi = Self;
11428     type DefaultType = Self;
11429 }
11430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11431 #[repr(transparent)]
11432 pub struct IPSEC_AUTH_TYPE(pub i32);
11433 pub const IPSEC_AUTH_MD5: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(0i32);
11434 pub const IPSEC_AUTH_SHA_1: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(1i32);
11435 pub const IPSEC_AUTH_SHA_256: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(2i32);
11436 pub const IPSEC_AUTH_AES_128: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(3i32);
11437 pub const IPSEC_AUTH_AES_192: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(4i32);
11438 pub const IPSEC_AUTH_AES_256: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(5i32);
11439 pub const IPSEC_AUTH_MAX: IPSEC_AUTH_TYPE = IPSEC_AUTH_TYPE(6i32);
11440 impl ::std::convert::From<i32> for IPSEC_AUTH_TYPE {
from(value: i32) -> Self11441     fn from(value: i32) -> Self {
11442         Self(value)
11443     }
11444 }
11445 unsafe impl ::windows::runtime::Abi for IPSEC_AUTH_TYPE {
11446     type Abi = Self;
11447     type DefaultType = Self;
11448 }
11449 pub const IPSEC_CIPHER_CONFIG_CBC_3DES: u32 = 2u32;
11450 pub const IPSEC_CIPHER_CONFIG_CBC_AES_128: u32 = 3u32;
11451 pub const IPSEC_CIPHER_CONFIG_CBC_AES_192: u32 = 4u32;
11452 pub const IPSEC_CIPHER_CONFIG_CBC_AES_256: u32 = 5u32;
11453 pub const IPSEC_CIPHER_CONFIG_CBC_DES: u32 = 1u32;
11454 pub const IPSEC_CIPHER_CONFIG_GCM_AES_128: u32 = 6u32;
11455 pub const IPSEC_CIPHER_CONFIG_GCM_AES_192: u32 = 7u32;
11456 pub const IPSEC_CIPHER_CONFIG_GCM_AES_256: u32 = 8u32;
11457 pub const IPSEC_CIPHER_CONFIG_MAX: u32 = 9u32;
11458 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11459 #[repr(C)]
11460 pub struct IPSEC_CIPHER_TRANSFORM0 {
11461     pub cipherTransformId: IPSEC_CIPHER_TRANSFORM_ID0,
11462     pub cryptoModuleId: *mut ::windows::runtime::GUID,
11463 }
11464 impl IPSEC_CIPHER_TRANSFORM0 {}
11465 impl ::std::default::Default for IPSEC_CIPHER_TRANSFORM0 {
default() -> Self11466     fn default() -> Self {
11467         unsafe { ::std::mem::zeroed() }
11468     }
11469 }
11470 impl ::std::fmt::Debug for IPSEC_CIPHER_TRANSFORM0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11471     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11472         fmt.debug_struct("IPSEC_CIPHER_TRANSFORM0").field("cipherTransformId", &self.cipherTransformId).field("cryptoModuleId", &self.cryptoModuleId).finish()
11473     }
11474 }
11475 impl ::std::cmp::PartialEq for IPSEC_CIPHER_TRANSFORM0 {
eq(&self, other: &Self) -> bool11476     fn eq(&self, other: &Self) -> bool {
11477         self.cipherTransformId == other.cipherTransformId && self.cryptoModuleId == other.cryptoModuleId
11478     }
11479 }
11480 impl ::std::cmp::Eq for IPSEC_CIPHER_TRANSFORM0 {}
11481 unsafe impl ::windows::runtime::Abi for IPSEC_CIPHER_TRANSFORM0 {
11482     type Abi = Self;
11483     type DefaultType = Self;
11484 }
11485 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11486 #[repr(C)]
11487 pub struct IPSEC_CIPHER_TRANSFORM_ID0 {
11488     pub cipherType: IPSEC_CIPHER_TYPE,
11489     pub cipherConfig: u8,
11490 }
11491 impl IPSEC_CIPHER_TRANSFORM_ID0 {}
11492 impl ::std::default::Default for IPSEC_CIPHER_TRANSFORM_ID0 {
default() -> Self11493     fn default() -> Self {
11494         unsafe { ::std::mem::zeroed() }
11495     }
11496 }
11497 impl ::std::fmt::Debug for IPSEC_CIPHER_TRANSFORM_ID0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11498     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11499         fmt.debug_struct("IPSEC_CIPHER_TRANSFORM_ID0").field("cipherType", &self.cipherType).field("cipherConfig", &self.cipherConfig).finish()
11500     }
11501 }
11502 impl ::std::cmp::PartialEq for IPSEC_CIPHER_TRANSFORM_ID0 {
eq(&self, other: &Self) -> bool11503     fn eq(&self, other: &Self) -> bool {
11504         self.cipherType == other.cipherType && self.cipherConfig == other.cipherConfig
11505     }
11506 }
11507 impl ::std::cmp::Eq for IPSEC_CIPHER_TRANSFORM_ID0 {}
11508 unsafe impl ::windows::runtime::Abi for IPSEC_CIPHER_TRANSFORM_ID0 {
11509     type Abi = Self;
11510     type DefaultType = Self;
11511 }
11512 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11513 #[repr(transparent)]
11514 pub struct IPSEC_CIPHER_TYPE(pub i32);
11515 pub const IPSEC_CIPHER_TYPE_DES: IPSEC_CIPHER_TYPE = IPSEC_CIPHER_TYPE(1i32);
11516 pub const IPSEC_CIPHER_TYPE_3DES: IPSEC_CIPHER_TYPE = IPSEC_CIPHER_TYPE(2i32);
11517 pub const IPSEC_CIPHER_TYPE_AES_128: IPSEC_CIPHER_TYPE = IPSEC_CIPHER_TYPE(3i32);
11518 pub const IPSEC_CIPHER_TYPE_AES_192: IPSEC_CIPHER_TYPE = IPSEC_CIPHER_TYPE(4i32);
11519 pub const IPSEC_CIPHER_TYPE_AES_256: IPSEC_CIPHER_TYPE = IPSEC_CIPHER_TYPE(5i32);
11520 pub const IPSEC_CIPHER_TYPE_MAX: IPSEC_CIPHER_TYPE = IPSEC_CIPHER_TYPE(6i32);
11521 impl ::std::convert::From<i32> for IPSEC_CIPHER_TYPE {
from(value: i32) -> Self11522     fn from(value: i32) -> Self {
11523         Self(value)
11524     }
11525 }
11526 unsafe impl ::windows::runtime::Abi for IPSEC_CIPHER_TYPE {
11527     type Abi = Self;
11528     type DefaultType = Self;
11529 }
11530 pub const IPSEC_DOSP_DSCP_DISABLE_VALUE: u32 = 255u32;
11531 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11532 #[repr(transparent)]
11533 pub struct IPSEC_DOSP_FLAGS(pub u32);
11534 pub const IPSEC_DOSP_FLAG_ENABLE_IKEV1: IPSEC_DOSP_FLAGS = IPSEC_DOSP_FLAGS(1u32);
11535 pub const IPSEC_DOSP_FLAG_ENABLE_IKEV2: IPSEC_DOSP_FLAGS = IPSEC_DOSP_FLAGS(2u32);
11536 pub const IPSEC_DOSP_FLAG_DISABLE_AUTHIP: IPSEC_DOSP_FLAGS = IPSEC_DOSP_FLAGS(4u32);
11537 pub const IPSEC_DOSP_FLAG_DISABLE_DEFAULT_BLOCK: IPSEC_DOSP_FLAGS = IPSEC_DOSP_FLAGS(8u32);
11538 pub const IPSEC_DOSP_FLAG_FILTER_BLOCK: IPSEC_DOSP_FLAGS = IPSEC_DOSP_FLAGS(16u32);
11539 pub const IPSEC_DOSP_FLAG_FILTER_EXEMPT: IPSEC_DOSP_FLAGS = IPSEC_DOSP_FLAGS(32u32);
11540 impl ::std::convert::From<u32> for IPSEC_DOSP_FLAGS {
from(value: u32) -> Self11541     fn from(value: u32) -> Self {
11542         Self(value)
11543     }
11544 }
11545 unsafe impl ::windows::runtime::Abi for IPSEC_DOSP_FLAGS {
11546     type Abi = Self;
11547     type DefaultType = Self;
11548 }
11549 impl ::std::ops::BitOr for IPSEC_DOSP_FLAGS {
11550     type Output = Self;
bitor(self, rhs: Self) -> Self11551     fn bitor(self, rhs: Self) -> Self {
11552         Self(self.0 | rhs.0)
11553     }
11554 }
11555 impl ::std::ops::BitAnd for IPSEC_DOSP_FLAGS {
11556     type Output = Self;
bitand(self, rhs: Self) -> Self11557     fn bitand(self, rhs: Self) -> Self {
11558         Self(self.0 & rhs.0)
11559     }
11560 }
11561 impl ::std::ops::BitOrAssign for IPSEC_DOSP_FLAGS {
bitor_assign(&mut self, rhs: Self)11562     fn bitor_assign(&mut self, rhs: Self) {
11563         self.0.bitor_assign(rhs.0)
11564     }
11565 }
11566 impl ::std::ops::BitAndAssign for IPSEC_DOSP_FLAGS {
bitand_assign(&mut self, rhs: Self)11567     fn bitand_assign(&mut self, rhs: Self) {
11568         self.0.bitand_assign(rhs.0)
11569     }
11570 }
11571 impl ::std::ops::Not for IPSEC_DOSP_FLAGS {
11572     type Output = Self;
not(self) -> Self11573     fn not(self) -> Self {
11574         Self(self.0.not())
11575     }
11576 }
11577 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11578 #[repr(C)]
11579 pub struct IPSEC_DOSP_OPTIONS0 {
11580     pub stateIdleTimeoutSeconds: u32,
11581     pub perIPRateLimitQueueIdleTimeoutSeconds: u32,
11582     pub ipV6IPsecUnauthDscp: u8,
11583     pub ipV6IPsecUnauthRateLimitBytesPerSec: u32,
11584     pub ipV6IPsecUnauthPerIPRateLimitBytesPerSec: u32,
11585     pub ipV6IPsecAuthDscp: u8,
11586     pub ipV6IPsecAuthRateLimitBytesPerSec: u32,
11587     pub icmpV6Dscp: u8,
11588     pub icmpV6RateLimitBytesPerSec: u32,
11589     pub ipV6FilterExemptDscp: u8,
11590     pub ipV6FilterExemptRateLimitBytesPerSec: u32,
11591     pub defBlockExemptDscp: u8,
11592     pub defBlockExemptRateLimitBytesPerSec: u32,
11593     pub maxStateEntries: u32,
11594     pub maxPerIPRateLimitQueues: u32,
11595     pub flags: IPSEC_DOSP_FLAGS,
11596     pub numPublicIFLuids: u32,
11597     pub publicIFLuids: *mut u64,
11598     pub numInternalIFLuids: u32,
11599     pub internalIFLuids: *mut u64,
11600     pub publicV6AddrMask: FWP_V6_ADDR_AND_MASK,
11601     pub internalV6AddrMask: FWP_V6_ADDR_AND_MASK,
11602 }
11603 impl IPSEC_DOSP_OPTIONS0 {}
11604 impl ::std::default::Default for IPSEC_DOSP_OPTIONS0 {
default() -> Self11605     fn default() -> Self {
11606         unsafe { ::std::mem::zeroed() }
11607     }
11608 }
11609 impl ::std::fmt::Debug for IPSEC_DOSP_OPTIONS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11610     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11611         fmt.debug_struct("IPSEC_DOSP_OPTIONS0")
11612             .field("stateIdleTimeoutSeconds", &self.stateIdleTimeoutSeconds)
11613             .field("perIPRateLimitQueueIdleTimeoutSeconds", &self.perIPRateLimitQueueIdleTimeoutSeconds)
11614             .field("ipV6IPsecUnauthDscp", &self.ipV6IPsecUnauthDscp)
11615             .field("ipV6IPsecUnauthRateLimitBytesPerSec", &self.ipV6IPsecUnauthRateLimitBytesPerSec)
11616             .field("ipV6IPsecUnauthPerIPRateLimitBytesPerSec", &self.ipV6IPsecUnauthPerIPRateLimitBytesPerSec)
11617             .field("ipV6IPsecAuthDscp", &self.ipV6IPsecAuthDscp)
11618             .field("ipV6IPsecAuthRateLimitBytesPerSec", &self.ipV6IPsecAuthRateLimitBytesPerSec)
11619             .field("icmpV6Dscp", &self.icmpV6Dscp)
11620             .field("icmpV6RateLimitBytesPerSec", &self.icmpV6RateLimitBytesPerSec)
11621             .field("ipV6FilterExemptDscp", &self.ipV6FilterExemptDscp)
11622             .field("ipV6FilterExemptRateLimitBytesPerSec", &self.ipV6FilterExemptRateLimitBytesPerSec)
11623             .field("defBlockExemptDscp", &self.defBlockExemptDscp)
11624             .field("defBlockExemptRateLimitBytesPerSec", &self.defBlockExemptRateLimitBytesPerSec)
11625             .field("maxStateEntries", &self.maxStateEntries)
11626             .field("maxPerIPRateLimitQueues", &self.maxPerIPRateLimitQueues)
11627             .field("flags", &self.flags)
11628             .field("numPublicIFLuids", &self.numPublicIFLuids)
11629             .field("publicIFLuids", &self.publicIFLuids)
11630             .field("numInternalIFLuids", &self.numInternalIFLuids)
11631             .field("internalIFLuids", &self.internalIFLuids)
11632             .field("publicV6AddrMask", &self.publicV6AddrMask)
11633             .field("internalV6AddrMask", &self.internalV6AddrMask)
11634             .finish()
11635     }
11636 }
11637 impl ::std::cmp::PartialEq for IPSEC_DOSP_OPTIONS0 {
eq(&self, other: &Self) -> bool11638     fn eq(&self, other: &Self) -> bool {
11639         self.stateIdleTimeoutSeconds == other.stateIdleTimeoutSeconds
11640             && self.perIPRateLimitQueueIdleTimeoutSeconds == other.perIPRateLimitQueueIdleTimeoutSeconds
11641             && self.ipV6IPsecUnauthDscp == other.ipV6IPsecUnauthDscp
11642             && self.ipV6IPsecUnauthRateLimitBytesPerSec == other.ipV6IPsecUnauthRateLimitBytesPerSec
11643             && self.ipV6IPsecUnauthPerIPRateLimitBytesPerSec == other.ipV6IPsecUnauthPerIPRateLimitBytesPerSec
11644             && self.ipV6IPsecAuthDscp == other.ipV6IPsecAuthDscp
11645             && self.ipV6IPsecAuthRateLimitBytesPerSec == other.ipV6IPsecAuthRateLimitBytesPerSec
11646             && self.icmpV6Dscp == other.icmpV6Dscp
11647             && self.icmpV6RateLimitBytesPerSec == other.icmpV6RateLimitBytesPerSec
11648             && self.ipV6FilterExemptDscp == other.ipV6FilterExemptDscp
11649             && self.ipV6FilterExemptRateLimitBytesPerSec == other.ipV6FilterExemptRateLimitBytesPerSec
11650             && self.defBlockExemptDscp == other.defBlockExemptDscp
11651             && self.defBlockExemptRateLimitBytesPerSec == other.defBlockExemptRateLimitBytesPerSec
11652             && self.maxStateEntries == other.maxStateEntries
11653             && self.maxPerIPRateLimitQueues == other.maxPerIPRateLimitQueues
11654             && self.flags == other.flags
11655             && self.numPublicIFLuids == other.numPublicIFLuids
11656             && self.publicIFLuids == other.publicIFLuids
11657             && self.numInternalIFLuids == other.numInternalIFLuids
11658             && self.internalIFLuids == other.internalIFLuids
11659             && self.publicV6AddrMask == other.publicV6AddrMask
11660             && self.internalV6AddrMask == other.internalV6AddrMask
11661     }
11662 }
11663 impl ::std::cmp::Eq for IPSEC_DOSP_OPTIONS0 {}
11664 unsafe impl ::windows::runtime::Abi for IPSEC_DOSP_OPTIONS0 {
11665     type Abi = Self;
11666     type DefaultType = Self;
11667 }
11668 pub const IPSEC_DOSP_RATE_LIMIT_DISABLE_VALUE: u32 = 0u32;
11669 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11670 #[repr(C)]
11671 pub struct IPSEC_DOSP_STATE0 {
11672     pub publicHostV6Addr: [u8; 16],
11673     pub internalHostV6Addr: [u8; 16],
11674     pub totalInboundIPv6IPsecAuthPackets: u64,
11675     pub totalOutboundIPv6IPsecAuthPackets: u64,
11676     pub durationSecs: u32,
11677 }
11678 impl IPSEC_DOSP_STATE0 {}
11679 impl ::std::default::Default for IPSEC_DOSP_STATE0 {
default() -> Self11680     fn default() -> Self {
11681         unsafe { ::std::mem::zeroed() }
11682     }
11683 }
11684 impl ::std::fmt::Debug for IPSEC_DOSP_STATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11685     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11686         fmt.debug_struct("IPSEC_DOSP_STATE0")
11687             .field("publicHostV6Addr", &self.publicHostV6Addr)
11688             .field("internalHostV6Addr", &self.internalHostV6Addr)
11689             .field("totalInboundIPv6IPsecAuthPackets", &self.totalInboundIPv6IPsecAuthPackets)
11690             .field("totalOutboundIPv6IPsecAuthPackets", &self.totalOutboundIPv6IPsecAuthPackets)
11691             .field("durationSecs", &self.durationSecs)
11692             .finish()
11693     }
11694 }
11695 impl ::std::cmp::PartialEq for IPSEC_DOSP_STATE0 {
eq(&self, other: &Self) -> bool11696     fn eq(&self, other: &Self) -> bool {
11697         self.publicHostV6Addr == other.publicHostV6Addr && self.internalHostV6Addr == other.internalHostV6Addr && self.totalInboundIPv6IPsecAuthPackets == other.totalInboundIPv6IPsecAuthPackets && self.totalOutboundIPv6IPsecAuthPackets == other.totalOutboundIPv6IPsecAuthPackets && self.durationSecs == other.durationSecs
11698     }
11699 }
11700 impl ::std::cmp::Eq for IPSEC_DOSP_STATE0 {}
11701 unsafe impl ::windows::runtime::Abi for IPSEC_DOSP_STATE0 {
11702     type Abi = Self;
11703     type DefaultType = Self;
11704 }
11705 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11706 #[repr(C)]
11707 pub struct IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
11708     pub publicV6AddrMask: FWP_V6_ADDR_AND_MASK,
11709     pub internalV6AddrMask: FWP_V6_ADDR_AND_MASK,
11710 }
11711 impl IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {}
11712 impl ::std::default::Default for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
default() -> Self11713     fn default() -> Self {
11714         unsafe { ::std::mem::zeroed() }
11715     }
11716 }
11717 impl ::std::fmt::Debug for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11718     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11719         fmt.debug_struct("IPSEC_DOSP_STATE_ENUM_TEMPLATE0").field("publicV6AddrMask", &self.publicV6AddrMask).field("internalV6AddrMask", &self.internalV6AddrMask).finish()
11720     }
11721 }
11722 impl ::std::cmp::PartialEq for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool11723     fn eq(&self, other: &Self) -> bool {
11724         self.publicV6AddrMask == other.publicV6AddrMask && self.internalV6AddrMask == other.internalV6AddrMask
11725     }
11726 }
11727 impl ::std::cmp::Eq for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {}
11728 unsafe impl ::windows::runtime::Abi for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
11729     type Abi = Self;
11730     type DefaultType = Self;
11731 }
11732 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11733 #[repr(C)]
11734 pub struct IPSEC_DOSP_STATISTICS0 {
11735     pub totalStateEntriesCreated: u64,
11736     pub currentStateEntries: u64,
11737     pub totalInboundAllowedIPv6IPsecUnauthPkts: u64,
11738     pub totalInboundRatelimitDiscardedIPv6IPsecUnauthPkts: u64,
11739     pub totalInboundPerIPRatelimitDiscardedIPv6IPsecUnauthPkts: u64,
11740     pub totalInboundOtherDiscardedIPv6IPsecUnauthPkts: u64,
11741     pub totalInboundAllowedIPv6IPsecAuthPkts: u64,
11742     pub totalInboundRatelimitDiscardedIPv6IPsecAuthPkts: u64,
11743     pub totalInboundOtherDiscardedIPv6IPsecAuthPkts: u64,
11744     pub totalInboundAllowedICMPv6Pkts: u64,
11745     pub totalInboundRatelimitDiscardedICMPv6Pkts: u64,
11746     pub totalInboundAllowedIPv6FilterExemptPkts: u64,
11747     pub totalInboundRatelimitDiscardedIPv6FilterExemptPkts: u64,
11748     pub totalInboundDiscardedIPv6FilterBlockPkts: u64,
11749     pub totalInboundAllowedDefBlockExemptPkts: u64,
11750     pub totalInboundRatelimitDiscardedDefBlockExemptPkts: u64,
11751     pub totalInboundDiscardedDefBlockPkts: u64,
11752     pub currentInboundIPv6IPsecUnauthPerIPRateLimitQueues: u64,
11753 }
11754 impl IPSEC_DOSP_STATISTICS0 {}
11755 impl ::std::default::Default for IPSEC_DOSP_STATISTICS0 {
default() -> Self11756     fn default() -> Self {
11757         unsafe { ::std::mem::zeroed() }
11758     }
11759 }
11760 impl ::std::fmt::Debug for IPSEC_DOSP_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11761     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11762         fmt.debug_struct("IPSEC_DOSP_STATISTICS0")
11763             .field("totalStateEntriesCreated", &self.totalStateEntriesCreated)
11764             .field("currentStateEntries", &self.currentStateEntries)
11765             .field("totalInboundAllowedIPv6IPsecUnauthPkts", &self.totalInboundAllowedIPv6IPsecUnauthPkts)
11766             .field("totalInboundRatelimitDiscardedIPv6IPsecUnauthPkts", &self.totalInboundRatelimitDiscardedIPv6IPsecUnauthPkts)
11767             .field("totalInboundPerIPRatelimitDiscardedIPv6IPsecUnauthPkts", &self.totalInboundPerIPRatelimitDiscardedIPv6IPsecUnauthPkts)
11768             .field("totalInboundOtherDiscardedIPv6IPsecUnauthPkts", &self.totalInboundOtherDiscardedIPv6IPsecUnauthPkts)
11769             .field("totalInboundAllowedIPv6IPsecAuthPkts", &self.totalInboundAllowedIPv6IPsecAuthPkts)
11770             .field("totalInboundRatelimitDiscardedIPv6IPsecAuthPkts", &self.totalInboundRatelimitDiscardedIPv6IPsecAuthPkts)
11771             .field("totalInboundOtherDiscardedIPv6IPsecAuthPkts", &self.totalInboundOtherDiscardedIPv6IPsecAuthPkts)
11772             .field("totalInboundAllowedICMPv6Pkts", &self.totalInboundAllowedICMPv6Pkts)
11773             .field("totalInboundRatelimitDiscardedICMPv6Pkts", &self.totalInboundRatelimitDiscardedICMPv6Pkts)
11774             .field("totalInboundAllowedIPv6FilterExemptPkts", &self.totalInboundAllowedIPv6FilterExemptPkts)
11775             .field("totalInboundRatelimitDiscardedIPv6FilterExemptPkts", &self.totalInboundRatelimitDiscardedIPv6FilterExemptPkts)
11776             .field("totalInboundDiscardedIPv6FilterBlockPkts", &self.totalInboundDiscardedIPv6FilterBlockPkts)
11777             .field("totalInboundAllowedDefBlockExemptPkts", &self.totalInboundAllowedDefBlockExemptPkts)
11778             .field("totalInboundRatelimitDiscardedDefBlockExemptPkts", &self.totalInboundRatelimitDiscardedDefBlockExemptPkts)
11779             .field("totalInboundDiscardedDefBlockPkts", &self.totalInboundDiscardedDefBlockPkts)
11780             .field("currentInboundIPv6IPsecUnauthPerIPRateLimitQueues", &self.currentInboundIPv6IPsecUnauthPerIPRateLimitQueues)
11781             .finish()
11782     }
11783 }
11784 impl ::std::cmp::PartialEq for IPSEC_DOSP_STATISTICS0 {
eq(&self, other: &Self) -> bool11785     fn eq(&self, other: &Self) -> bool {
11786         self.totalStateEntriesCreated == other.totalStateEntriesCreated
11787             && self.currentStateEntries == other.currentStateEntries
11788             && self.totalInboundAllowedIPv6IPsecUnauthPkts == other.totalInboundAllowedIPv6IPsecUnauthPkts
11789             && self.totalInboundRatelimitDiscardedIPv6IPsecUnauthPkts == other.totalInboundRatelimitDiscardedIPv6IPsecUnauthPkts
11790             && self.totalInboundPerIPRatelimitDiscardedIPv6IPsecUnauthPkts == other.totalInboundPerIPRatelimitDiscardedIPv6IPsecUnauthPkts
11791             && self.totalInboundOtherDiscardedIPv6IPsecUnauthPkts == other.totalInboundOtherDiscardedIPv6IPsecUnauthPkts
11792             && self.totalInboundAllowedIPv6IPsecAuthPkts == other.totalInboundAllowedIPv6IPsecAuthPkts
11793             && self.totalInboundRatelimitDiscardedIPv6IPsecAuthPkts == other.totalInboundRatelimitDiscardedIPv6IPsecAuthPkts
11794             && self.totalInboundOtherDiscardedIPv6IPsecAuthPkts == other.totalInboundOtherDiscardedIPv6IPsecAuthPkts
11795             && self.totalInboundAllowedICMPv6Pkts == other.totalInboundAllowedICMPv6Pkts
11796             && self.totalInboundRatelimitDiscardedICMPv6Pkts == other.totalInboundRatelimitDiscardedICMPv6Pkts
11797             && self.totalInboundAllowedIPv6FilterExemptPkts == other.totalInboundAllowedIPv6FilterExemptPkts
11798             && self.totalInboundRatelimitDiscardedIPv6FilterExemptPkts == other.totalInboundRatelimitDiscardedIPv6FilterExemptPkts
11799             && self.totalInboundDiscardedIPv6FilterBlockPkts == other.totalInboundDiscardedIPv6FilterBlockPkts
11800             && self.totalInboundAllowedDefBlockExemptPkts == other.totalInboundAllowedDefBlockExemptPkts
11801             && self.totalInboundRatelimitDiscardedDefBlockExemptPkts == other.totalInboundRatelimitDiscardedDefBlockExemptPkts
11802             && self.totalInboundDiscardedDefBlockPkts == other.totalInboundDiscardedDefBlockPkts
11803             && self.currentInboundIPv6IPsecUnauthPerIPRateLimitQueues == other.currentInboundIPv6IPsecUnauthPerIPRateLimitQueues
11804     }
11805 }
11806 impl ::std::cmp::Eq for IPSEC_DOSP_STATISTICS0 {}
11807 unsafe impl ::windows::runtime::Abi for IPSEC_DOSP_STATISTICS0 {
11808     type Abi = Self;
11809     type DefaultType = Self;
11810 }
11811 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11812 #[repr(C)]
11813 pub struct IPSEC_ESP_DROP_PACKET_STATISTICS0 {
11814     pub invalidSpisOnInbound: u32,
11815     pub decryptionFailuresOnInbound: u32,
11816     pub authenticationFailuresOnInbound: u32,
11817     pub replayCheckFailuresOnInbound: u32,
11818     pub saNotInitializedOnInbound: u32,
11819 }
11820 impl IPSEC_ESP_DROP_PACKET_STATISTICS0 {}
11821 impl ::std::default::Default for IPSEC_ESP_DROP_PACKET_STATISTICS0 {
default() -> Self11822     fn default() -> Self {
11823         unsafe { ::std::mem::zeroed() }
11824     }
11825 }
11826 impl ::std::fmt::Debug for IPSEC_ESP_DROP_PACKET_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11827     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11828         fmt.debug_struct("IPSEC_ESP_DROP_PACKET_STATISTICS0")
11829             .field("invalidSpisOnInbound", &self.invalidSpisOnInbound)
11830             .field("decryptionFailuresOnInbound", &self.decryptionFailuresOnInbound)
11831             .field("authenticationFailuresOnInbound", &self.authenticationFailuresOnInbound)
11832             .field("replayCheckFailuresOnInbound", &self.replayCheckFailuresOnInbound)
11833             .field("saNotInitializedOnInbound", &self.saNotInitializedOnInbound)
11834             .finish()
11835     }
11836 }
11837 impl ::std::cmp::PartialEq for IPSEC_ESP_DROP_PACKET_STATISTICS0 {
eq(&self, other: &Self) -> bool11838     fn eq(&self, other: &Self) -> bool {
11839         self.invalidSpisOnInbound == other.invalidSpisOnInbound && self.decryptionFailuresOnInbound == other.decryptionFailuresOnInbound && self.authenticationFailuresOnInbound == other.authenticationFailuresOnInbound && self.replayCheckFailuresOnInbound == other.replayCheckFailuresOnInbound && self.saNotInitializedOnInbound == other.saNotInitializedOnInbound
11840     }
11841 }
11842 impl ::std::cmp::Eq for IPSEC_ESP_DROP_PACKET_STATISTICS0 {}
11843 unsafe impl ::windows::runtime::Abi for IPSEC_ESP_DROP_PACKET_STATISTICS0 {
11844     type Abi = Self;
11845     type DefaultType = Self;
11846 }
11847 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11848 #[repr(transparent)]
11849 pub struct IPSEC_FAILURE_POINT(pub i32);
11850 pub const IPSEC_FAILURE_NONE: IPSEC_FAILURE_POINT = IPSEC_FAILURE_POINT(0i32);
11851 pub const IPSEC_FAILURE_ME: IPSEC_FAILURE_POINT = IPSEC_FAILURE_POINT(1i32);
11852 pub const IPSEC_FAILURE_PEER: IPSEC_FAILURE_POINT = IPSEC_FAILURE_POINT(2i32);
11853 pub const IPSEC_FAILURE_POINT_MAX: IPSEC_FAILURE_POINT = IPSEC_FAILURE_POINT(3i32);
11854 impl ::std::convert::From<i32> for IPSEC_FAILURE_POINT {
from(value: i32) -> Self11855     fn from(value: i32) -> Self {
11856         Self(value)
11857     }
11858 }
11859 unsafe impl ::windows::runtime::Abi for IPSEC_FAILURE_POINT {
11860     type Abi = Self;
11861     type DefaultType = Self;
11862 }
11863 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11864 #[repr(C)]
11865 pub struct IPSEC_GETSPI0 {
11866     pub inboundIpsecTraffic: IPSEC_TRAFFIC0,
11867     pub ipVersion: FWP_IP_VERSION,
11868     pub Anonymous: IPSEC_GETSPI0_0,
11869     pub rngCryptoModuleID: *mut ::windows::runtime::GUID,
11870 }
11871 impl IPSEC_GETSPI0 {}
11872 impl ::std::default::Default for IPSEC_GETSPI0 {
default() -> Self11873     fn default() -> Self {
11874         unsafe { ::std::mem::zeroed() }
11875     }
11876 }
11877 impl ::std::cmp::PartialEq for IPSEC_GETSPI0 {
eq(&self, _other: &Self) -> bool11878     fn eq(&self, _other: &Self) -> bool {
11879         unimplemented!()
11880     }
11881 }
11882 impl ::std::cmp::Eq for IPSEC_GETSPI0 {}
11883 unsafe impl ::windows::runtime::Abi for IPSEC_GETSPI0 {
11884     type Abi = Self;
11885     type DefaultType = Self;
11886 }
11887 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11888 #[repr(C)]
11889 pub union IPSEC_GETSPI0_0 {
11890     pub inboundUdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
11891 }
11892 impl IPSEC_GETSPI0_0 {}
11893 impl ::std::default::Default for IPSEC_GETSPI0_0 {
default() -> Self11894     fn default() -> Self {
11895         unsafe { ::std::mem::zeroed() }
11896     }
11897 }
11898 impl ::std::cmp::PartialEq for IPSEC_GETSPI0_0 {
eq(&self, _other: &Self) -> bool11899     fn eq(&self, _other: &Self) -> bool {
11900         unimplemented!()
11901     }
11902 }
11903 impl ::std::cmp::Eq for IPSEC_GETSPI0_0 {}
11904 unsafe impl ::windows::runtime::Abi for IPSEC_GETSPI0_0 {
11905     type Abi = Self;
11906     type DefaultType = Self;
11907 }
11908 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11909 #[repr(C)]
11910 pub struct IPSEC_GETSPI1 {
11911     pub inboundIpsecTraffic: IPSEC_TRAFFIC1,
11912     pub ipVersion: FWP_IP_VERSION,
11913     pub Anonymous: IPSEC_GETSPI1_0,
11914     pub rngCryptoModuleID: *mut ::windows::runtime::GUID,
11915 }
11916 impl IPSEC_GETSPI1 {}
11917 impl ::std::default::Default for IPSEC_GETSPI1 {
default() -> Self11918     fn default() -> Self {
11919         unsafe { ::std::mem::zeroed() }
11920     }
11921 }
11922 impl ::std::cmp::PartialEq for IPSEC_GETSPI1 {
eq(&self, _other: &Self) -> bool11923     fn eq(&self, _other: &Self) -> bool {
11924         unimplemented!()
11925     }
11926 }
11927 impl ::std::cmp::Eq for IPSEC_GETSPI1 {}
11928 unsafe impl ::windows::runtime::Abi for IPSEC_GETSPI1 {
11929     type Abi = Self;
11930     type DefaultType = Self;
11931 }
11932 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11933 #[repr(C)]
11934 pub union IPSEC_GETSPI1_0 {
11935     pub inboundUdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
11936 }
11937 impl IPSEC_GETSPI1_0 {}
11938 impl ::std::default::Default for IPSEC_GETSPI1_0 {
default() -> Self11939     fn default() -> Self {
11940         unsafe { ::std::mem::zeroed() }
11941     }
11942 }
11943 impl ::std::cmp::PartialEq for IPSEC_GETSPI1_0 {
eq(&self, _other: &Self) -> bool11944     fn eq(&self, _other: &Self) -> bool {
11945         unimplemented!()
11946     }
11947 }
11948 impl ::std::cmp::Eq for IPSEC_GETSPI1_0 {}
11949 unsafe impl ::windows::runtime::Abi for IPSEC_GETSPI1_0 {
11950     type Abi = Self;
11951     type DefaultType = Self;
11952 }
11953 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11954 #[repr(C)]
11955 #[cfg(feature = "Win32_Foundation")]
11956 pub struct IPSEC_ID0 {
11957     pub mmTargetName: super::super::Foundation::PWSTR,
11958     pub emTargetName: super::super::Foundation::PWSTR,
11959     pub numTokens: u32,
11960     pub tokens: *mut IPSEC_TOKEN0,
11961     pub explicitCredentials: u64,
11962     pub logonId: u64,
11963 }
11964 #[cfg(feature = "Win32_Foundation")]
11965 impl IPSEC_ID0 {}
11966 #[cfg(feature = "Win32_Foundation")]
11967 impl ::std::default::Default for IPSEC_ID0 {
default() -> Self11968     fn default() -> Self {
11969         unsafe { ::std::mem::zeroed() }
11970     }
11971 }
11972 #[cfg(feature = "Win32_Foundation")]
11973 impl ::std::fmt::Debug for IPSEC_ID0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11974     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11975         fmt.debug_struct("IPSEC_ID0").field("mmTargetName", &self.mmTargetName).field("emTargetName", &self.emTargetName).field("numTokens", &self.numTokens).field("tokens", &self.tokens).field("explicitCredentials", &self.explicitCredentials).field("logonId", &self.logonId).finish()
11976     }
11977 }
11978 #[cfg(feature = "Win32_Foundation")]
11979 impl ::std::cmp::PartialEq for IPSEC_ID0 {
eq(&self, other: &Self) -> bool11980     fn eq(&self, other: &Self) -> bool {
11981         self.mmTargetName == other.mmTargetName && self.emTargetName == other.emTargetName && self.numTokens == other.numTokens && self.tokens == other.tokens && self.explicitCredentials == other.explicitCredentials && self.logonId == other.logonId
11982     }
11983 }
11984 #[cfg(feature = "Win32_Foundation")]
11985 impl ::std::cmp::Eq for IPSEC_ID0 {}
11986 #[cfg(feature = "Win32_Foundation")]
11987 unsafe impl ::windows::runtime::Abi for IPSEC_ID0 {
11988     type Abi = Self;
11989     type DefaultType = Self;
11990 }
11991 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11992 #[repr(C)]
11993 pub struct IPSEC_KEYING_POLICY0 {
11994     pub numKeyMods: u32,
11995     pub keyModKeys: *mut ::windows::runtime::GUID,
11996 }
11997 impl IPSEC_KEYING_POLICY0 {}
11998 impl ::std::default::Default for IPSEC_KEYING_POLICY0 {
default() -> Self11999     fn default() -> Self {
12000         unsafe { ::std::mem::zeroed() }
12001     }
12002 }
12003 impl ::std::fmt::Debug for IPSEC_KEYING_POLICY0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12004     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12005         fmt.debug_struct("IPSEC_KEYING_POLICY0").field("numKeyMods", &self.numKeyMods).field("keyModKeys", &self.keyModKeys).finish()
12006     }
12007 }
12008 impl ::std::cmp::PartialEq for IPSEC_KEYING_POLICY0 {
eq(&self, other: &Self) -> bool12009     fn eq(&self, other: &Self) -> bool {
12010         self.numKeyMods == other.numKeyMods && self.keyModKeys == other.keyModKeys
12011     }
12012 }
12013 impl ::std::cmp::Eq for IPSEC_KEYING_POLICY0 {}
12014 unsafe impl ::windows::runtime::Abi for IPSEC_KEYING_POLICY0 {
12015     type Abi = Self;
12016     type DefaultType = Self;
12017 }
12018 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12019 #[repr(C)]
12020 pub struct IPSEC_KEYING_POLICY1 {
12021     pub numKeyMods: u32,
12022     pub keyModKeys: *mut ::windows::runtime::GUID,
12023     pub flags: u32,
12024 }
12025 impl IPSEC_KEYING_POLICY1 {}
12026 impl ::std::default::Default for IPSEC_KEYING_POLICY1 {
default() -> Self12027     fn default() -> Self {
12028         unsafe { ::std::mem::zeroed() }
12029     }
12030 }
12031 impl ::std::fmt::Debug for IPSEC_KEYING_POLICY1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12032     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12033         fmt.debug_struct("IPSEC_KEYING_POLICY1").field("numKeyMods", &self.numKeyMods).field("keyModKeys", &self.keyModKeys).field("flags", &self.flags).finish()
12034     }
12035 }
12036 impl ::std::cmp::PartialEq for IPSEC_KEYING_POLICY1 {
eq(&self, other: &Self) -> bool12037     fn eq(&self, other: &Self) -> bool {
12038         self.numKeyMods == other.numKeyMods && self.keyModKeys == other.keyModKeys && self.flags == other.flags
12039     }
12040 }
12041 impl ::std::cmp::Eq for IPSEC_KEYING_POLICY1 {}
12042 unsafe impl ::windows::runtime::Abi for IPSEC_KEYING_POLICY1 {
12043     type Abi = Self;
12044     type DefaultType = Self;
12045 }
12046 pub const IPSEC_KEYING_POLICY_FLAG_TERMINATING_MATCH: u32 = 1u32;
12047 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12048 #[repr(C)]
12049 pub struct IPSEC_KEYMODULE_STATE0 {
12050     pub keyModuleKey: ::windows::runtime::GUID,
12051     pub stateBlob: FWP_BYTE_BLOB,
12052 }
12053 impl IPSEC_KEYMODULE_STATE0 {}
12054 impl ::std::default::Default for IPSEC_KEYMODULE_STATE0 {
default() -> Self12055     fn default() -> Self {
12056         unsafe { ::std::mem::zeroed() }
12057     }
12058 }
12059 impl ::std::fmt::Debug for IPSEC_KEYMODULE_STATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12060     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12061         fmt.debug_struct("IPSEC_KEYMODULE_STATE0").field("keyModuleKey", &self.keyModuleKey).field("stateBlob", &self.stateBlob).finish()
12062     }
12063 }
12064 impl ::std::cmp::PartialEq for IPSEC_KEYMODULE_STATE0 {
eq(&self, other: &Self) -> bool12065     fn eq(&self, other: &Self) -> bool {
12066         self.keyModuleKey == other.keyModuleKey && self.stateBlob == other.stateBlob
12067     }
12068 }
12069 impl ::std::cmp::Eq for IPSEC_KEYMODULE_STATE0 {}
12070 unsafe impl ::windows::runtime::Abi for IPSEC_KEYMODULE_STATE0 {
12071     type Abi = Self;
12072     type DefaultType = Self;
12073 }
12074 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12075 #[repr(C)]
12076 #[cfg(feature = "Win32_Foundation")]
12077 pub struct IPSEC_KEY_MANAGER0 {
12078     pub keyManagerKey: ::windows::runtime::GUID,
12079     pub displayData: FWPM_DISPLAY_DATA0,
12080     pub flags: u32,
12081     pub keyDictationTimeoutHint: u8,
12082 }
12083 #[cfg(feature = "Win32_Foundation")]
12084 impl IPSEC_KEY_MANAGER0 {}
12085 #[cfg(feature = "Win32_Foundation")]
12086 impl ::std::default::Default for IPSEC_KEY_MANAGER0 {
default() -> Self12087     fn default() -> Self {
12088         unsafe { ::std::mem::zeroed() }
12089     }
12090 }
12091 #[cfg(feature = "Win32_Foundation")]
12092 impl ::std::fmt::Debug for IPSEC_KEY_MANAGER0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12093     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12094         fmt.debug_struct("IPSEC_KEY_MANAGER0").field("keyManagerKey", &self.keyManagerKey).field("displayData", &self.displayData).field("flags", &self.flags).field("keyDictationTimeoutHint", &self.keyDictationTimeoutHint).finish()
12095     }
12096 }
12097 #[cfg(feature = "Win32_Foundation")]
12098 impl ::std::cmp::PartialEq for IPSEC_KEY_MANAGER0 {
eq(&self, other: &Self) -> bool12099     fn eq(&self, other: &Self) -> bool {
12100         self.keyManagerKey == other.keyManagerKey && self.displayData == other.displayData && self.flags == other.flags && self.keyDictationTimeoutHint == other.keyDictationTimeoutHint
12101     }
12102 }
12103 #[cfg(feature = "Win32_Foundation")]
12104 impl ::std::cmp::Eq for IPSEC_KEY_MANAGER0 {}
12105 #[cfg(feature = "Win32_Foundation")]
12106 unsafe impl ::windows::runtime::Abi for IPSEC_KEY_MANAGER0 {
12107     type Abi = Self;
12108     type DefaultType = Self;
12109 }
12110 #[derive(:: std :: clone :: Clone)]
12111 #[repr(C)]
12112 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12113 pub struct IPSEC_KEY_MANAGER_CALLBACKS0 {
12114     pub reserved: ::windows::runtime::GUID,
12115     pub flags: u32,
12116     pub keyDictationCheck: ::std::option::Option<IPSEC_KEY_MANAGER_KEY_DICTATION_CHECK0>,
12117     pub keyDictation: ::std::option::Option<IPSEC_KEY_MANAGER_DICTATE_KEY0>,
12118     pub keyNotify: ::std::option::Option<IPSEC_KEY_MANAGER_NOTIFY_KEY0>,
12119 }
12120 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12121 impl IPSEC_KEY_MANAGER_CALLBACKS0 {}
12122 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12123 impl ::std::default::Default for IPSEC_KEY_MANAGER_CALLBACKS0 {
default() -> Self12124     fn default() -> Self {
12125         unsafe { ::std::mem::zeroed() }
12126     }
12127 }
12128 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12129 impl ::std::fmt::Debug for IPSEC_KEY_MANAGER_CALLBACKS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12130     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12131         fmt.debug_struct("IPSEC_KEY_MANAGER_CALLBACKS0").field("reserved", &self.reserved).field("flags", &self.flags).finish()
12132     }
12133 }
12134 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12135 impl ::std::cmp::PartialEq for IPSEC_KEY_MANAGER_CALLBACKS0 {
eq(&self, other: &Self) -> bool12136     fn eq(&self, other: &Self) -> bool {
12137         self.reserved == other.reserved && self.flags == other.flags && self.keyDictationCheck.map(|f| f as usize) == other.keyDictationCheck.map(|f| f as usize) && self.keyDictation.map(|f| f as usize) == other.keyDictation.map(|f| f as usize) && self.keyNotify.map(|f| f as usize) == other.keyNotify.map(|f| f as usize)
12138     }
12139 }
12140 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12141 impl ::std::cmp::Eq for IPSEC_KEY_MANAGER_CALLBACKS0 {}
12142 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12143 unsafe impl ::windows::runtime::Abi for IPSEC_KEY_MANAGER_CALLBACKS0 {
12144     type Abi = ::std::mem::ManuallyDrop<Self>;
12145     type DefaultType = Self;
12146 }
12147 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12148 pub type IPSEC_KEY_MANAGER_DICTATE_KEY0 = unsafe extern "system" fn(inboundsadetails: *mut IPSEC_SA_DETAILS1, outboundsadetails: *mut IPSEC_SA_DETAILS1, keyingmodulegenkey: *mut super::super::Foundation::BOOL) -> u32;
12149 pub const IPSEC_KEY_MANAGER_FLAG_DICTATE_KEY: u32 = 1u32;
12150 #[cfg(feature = "Win32_Foundation")]
12151 pub type IPSEC_KEY_MANAGER_KEY_DICTATION_CHECK0 = unsafe extern "system" fn(iketraffic: *const IKEEXT_TRAFFIC0, willdictatekey: *mut super::super::Foundation::BOOL, weight: *mut u32);
12152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12153 pub type IPSEC_KEY_MANAGER_NOTIFY_KEY0 = unsafe extern "system" fn(inboundsa: *const IPSEC_SA_DETAILS1, outboundsa: *const IPSEC_SA_DETAILS1);
12154 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12155 #[repr(transparent)]
12156 pub struct IPSEC_PFS_GROUP(pub i32);
12157 pub const IPSEC_PFS_NONE: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(0i32);
12158 pub const IPSEC_PFS_1: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(1i32);
12159 pub const IPSEC_PFS_2: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(2i32);
12160 pub const IPSEC_PFS_2048: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(3i32);
12161 pub const IPSEC_PFS_14: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(3i32);
12162 pub const IPSEC_PFS_ECP_256: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(4i32);
12163 pub const IPSEC_PFS_ECP_384: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(5i32);
12164 pub const IPSEC_PFS_MM: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(6i32);
12165 pub const IPSEC_PFS_24: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(7i32);
12166 pub const IPSEC_PFS_MAX: IPSEC_PFS_GROUP = IPSEC_PFS_GROUP(8i32);
12167 impl ::std::convert::From<i32> for IPSEC_PFS_GROUP {
from(value: i32) -> Self12168     fn from(value: i32) -> Self {
12169         Self(value)
12170     }
12171 }
12172 unsafe impl ::windows::runtime::Abi for IPSEC_PFS_GROUP {
12173     type Abi = Self;
12174     type DefaultType = Self;
12175 }
12176 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12177 #[repr(transparent)]
12178 pub struct IPSEC_POLICY_FLAG(pub u32);
12179 pub const IPSEC_POLICY_FLAG_ND_SECURE: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(2u32);
12180 pub const IPSEC_POLICY_FLAG_ND_BOUNDARY: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(4u32);
12181 pub const IPSEC_POLICY_FLAG_NAT_ENCAP_ALLOW_PEER_BEHIND_NAT: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(16u32);
12182 pub const IPSEC_POLICY_FLAG_NAT_ENCAP_ALLOW_GENERAL_NAT_TRAVERSAL: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(32u32);
12183 pub const IPSEC_POLICY_FLAG_DONT_NEGOTIATE_SECOND_LIFETIME: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(64u32);
12184 pub const IPSEC_POLICY_FLAG_DONT_NEGOTIATE_BYTE_LIFETIME: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(128u32);
12185 pub const IPSEC_POLICY_FLAG_CLEAR_DF_ON_TUNNEL: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(8u32);
12186 pub const IPSEC_POLICY_FLAG_ENABLE_V6_IN_V4_TUNNELING: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(256u32);
12187 pub const IPSEC_POLICY_FLAG_ENABLE_SERVER_ADDR_ASSIGNMENT: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(512u32);
12188 pub const IPSEC_POLICY_FLAG_TUNNEL_ALLOW_OUTBOUND_CLEAR_CONNECTION: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(1024u32);
12189 pub const IPSEC_POLICY_FLAG_TUNNEL_BYPASS_ALREADY_SECURE_CONNECTION: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(2048u32);
12190 pub const IPSEC_POLICY_FLAG_TUNNEL_BYPASS_ICMPV6: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(4096u32);
12191 pub const IPSEC_POLICY_FLAG_KEY_MANAGER_ALLOW_DICTATE_KEY: IPSEC_POLICY_FLAG = IPSEC_POLICY_FLAG(8192u32);
12192 impl ::std::convert::From<u32> for IPSEC_POLICY_FLAG {
from(value: u32) -> Self12193     fn from(value: u32) -> Self {
12194         Self(value)
12195     }
12196 }
12197 unsafe impl ::windows::runtime::Abi for IPSEC_POLICY_FLAG {
12198     type Abi = Self;
12199     type DefaultType = Self;
12200 }
12201 impl ::std::ops::BitOr for IPSEC_POLICY_FLAG {
12202     type Output = Self;
bitor(self, rhs: Self) -> Self12203     fn bitor(self, rhs: Self) -> Self {
12204         Self(self.0 | rhs.0)
12205     }
12206 }
12207 impl ::std::ops::BitAnd for IPSEC_POLICY_FLAG {
12208     type Output = Self;
bitand(self, rhs: Self) -> Self12209     fn bitand(self, rhs: Self) -> Self {
12210         Self(self.0 & rhs.0)
12211     }
12212 }
12213 impl ::std::ops::BitOrAssign for IPSEC_POLICY_FLAG {
bitor_assign(&mut self, rhs: Self)12214     fn bitor_assign(&mut self, rhs: Self) {
12215         self.0.bitor_assign(rhs.0)
12216     }
12217 }
12218 impl ::std::ops::BitAndAssign for IPSEC_POLICY_FLAG {
bitand_assign(&mut self, rhs: Self)12219     fn bitand_assign(&mut self, rhs: Self) {
12220         self.0.bitand_assign(rhs.0)
12221     }
12222 }
12223 impl ::std::ops::Not for IPSEC_POLICY_FLAG {
12224     type Output = Self;
not(self) -> Self12225     fn not(self) -> Self {
12226         Self(self.0.not())
12227     }
12228 }
12229 pub const IPSEC_POLICY_FLAG_KEY_MANAGER_ALLOW_NOTIFY_KEY: u32 = 16384u32;
12230 pub const IPSEC_POLICY_FLAG_RESERVED1: u32 = 32768u32;
12231 pub const IPSEC_POLICY_FLAG_SITE_TO_SITE_TUNNEL: u32 = 65536u32;
12232 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12233 #[repr(C)]
12234 pub struct IPSEC_PROPOSAL0 {
12235     pub lifetime: IPSEC_SA_LIFETIME0,
12236     pub numSaTransforms: u32,
12237     pub saTransforms: *mut IPSEC_SA_TRANSFORM0,
12238     pub pfsGroup: IPSEC_PFS_GROUP,
12239 }
12240 impl IPSEC_PROPOSAL0 {}
12241 impl ::std::default::Default for IPSEC_PROPOSAL0 {
default() -> Self12242     fn default() -> Self {
12243         unsafe { ::std::mem::zeroed() }
12244     }
12245 }
12246 impl ::std::fmt::Debug for IPSEC_PROPOSAL0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12247     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12248         fmt.debug_struct("IPSEC_PROPOSAL0").field("lifetime", &self.lifetime).field("numSaTransforms", &self.numSaTransforms).field("saTransforms", &self.saTransforms).field("pfsGroup", &self.pfsGroup).finish()
12249     }
12250 }
12251 impl ::std::cmp::PartialEq for IPSEC_PROPOSAL0 {
eq(&self, other: &Self) -> bool12252     fn eq(&self, other: &Self) -> bool {
12253         self.lifetime == other.lifetime && self.numSaTransforms == other.numSaTransforms && self.saTransforms == other.saTransforms && self.pfsGroup == other.pfsGroup
12254     }
12255 }
12256 impl ::std::cmp::Eq for IPSEC_PROPOSAL0 {}
12257 unsafe impl ::windows::runtime::Abi for IPSEC_PROPOSAL0 {
12258     type Abi = Self;
12259     type DefaultType = Self;
12260 }
12261 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12262 #[repr(C)]
12263 pub struct IPSEC_SA0 {
12264     pub spi: u32,
12265     pub saTransformType: IPSEC_TRANSFORM_TYPE,
12266     pub Anonymous: IPSEC_SA0_0,
12267 }
12268 impl IPSEC_SA0 {}
12269 impl ::std::default::Default for IPSEC_SA0 {
default() -> Self12270     fn default() -> Self {
12271         unsafe { ::std::mem::zeroed() }
12272     }
12273 }
12274 impl ::std::cmp::PartialEq for IPSEC_SA0 {
eq(&self, _other: &Self) -> bool12275     fn eq(&self, _other: &Self) -> bool {
12276         unimplemented!()
12277     }
12278 }
12279 impl ::std::cmp::Eq for IPSEC_SA0 {}
12280 unsafe impl ::windows::runtime::Abi for IPSEC_SA0 {
12281     type Abi = Self;
12282     type DefaultType = Self;
12283 }
12284 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12285 #[repr(C)]
12286 pub union IPSEC_SA0_0 {
12287     pub ahInformation: *mut IPSEC_SA_AUTH_INFORMATION0,
12288     pub espAuthInformation: *mut IPSEC_SA_AUTH_INFORMATION0,
12289     pub espCipherInformation: *mut IPSEC_SA_CIPHER_INFORMATION0,
12290     pub espAuthAndCipherInformation: *mut IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0,
12291     pub espAuthFwInformation: *mut IPSEC_SA_AUTH_INFORMATION0,
12292 }
12293 impl IPSEC_SA0_0 {}
12294 impl ::std::default::Default for IPSEC_SA0_0 {
default() -> Self12295     fn default() -> Self {
12296         unsafe { ::std::mem::zeroed() }
12297     }
12298 }
12299 impl ::std::cmp::PartialEq for IPSEC_SA0_0 {
eq(&self, _other: &Self) -> bool12300     fn eq(&self, _other: &Self) -> bool {
12301         unimplemented!()
12302     }
12303 }
12304 impl ::std::cmp::Eq for IPSEC_SA0_0 {}
12305 unsafe impl ::windows::runtime::Abi for IPSEC_SA0_0 {
12306     type Abi = Self;
12307     type DefaultType = Self;
12308 }
12309 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12310 #[repr(C)]
12311 pub struct IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
12312     pub saCipherInformation: IPSEC_SA_CIPHER_INFORMATION0,
12313     pub saAuthInformation: IPSEC_SA_AUTH_INFORMATION0,
12314 }
12315 impl IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {}
12316 impl ::std::default::Default for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
default() -> Self12317     fn default() -> Self {
12318         unsafe { ::std::mem::zeroed() }
12319     }
12320 }
12321 impl ::std::fmt::Debug for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12322     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12323         fmt.debug_struct("IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0").field("saCipherInformation", &self.saCipherInformation).field("saAuthInformation", &self.saAuthInformation).finish()
12324     }
12325 }
12326 impl ::std::cmp::PartialEq for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
eq(&self, other: &Self) -> bool12327     fn eq(&self, other: &Self) -> bool {
12328         self.saCipherInformation == other.saCipherInformation && self.saAuthInformation == other.saAuthInformation
12329     }
12330 }
12331 impl ::std::cmp::Eq for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {}
12332 unsafe impl ::windows::runtime::Abi for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
12333     type Abi = Self;
12334     type DefaultType = Self;
12335 }
12336 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12337 #[repr(C)]
12338 pub struct IPSEC_SA_AUTH_INFORMATION0 {
12339     pub authTransform: IPSEC_AUTH_TRANSFORM0,
12340     pub authKey: FWP_BYTE_BLOB,
12341 }
12342 impl IPSEC_SA_AUTH_INFORMATION0 {}
12343 impl ::std::default::Default for IPSEC_SA_AUTH_INFORMATION0 {
default() -> Self12344     fn default() -> Self {
12345         unsafe { ::std::mem::zeroed() }
12346     }
12347 }
12348 impl ::std::fmt::Debug for IPSEC_SA_AUTH_INFORMATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12349     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12350         fmt.debug_struct("IPSEC_SA_AUTH_INFORMATION0").field("authTransform", &self.authTransform).field("authKey", &self.authKey).finish()
12351     }
12352 }
12353 impl ::std::cmp::PartialEq for IPSEC_SA_AUTH_INFORMATION0 {
eq(&self, other: &Self) -> bool12354     fn eq(&self, other: &Self) -> bool {
12355         self.authTransform == other.authTransform && self.authKey == other.authKey
12356     }
12357 }
12358 impl ::std::cmp::Eq for IPSEC_SA_AUTH_INFORMATION0 {}
12359 unsafe impl ::windows::runtime::Abi for IPSEC_SA_AUTH_INFORMATION0 {
12360     type Abi = Self;
12361     type DefaultType = Self;
12362 }
12363 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12364 #[repr(C)]
12365 #[cfg(feature = "Win32_Foundation")]
12366 pub struct IPSEC_SA_BUNDLE0 {
12367     pub flags: IPSEC_SA_BUNDLE_FLAGS,
12368     pub lifetime: IPSEC_SA_LIFETIME0,
12369     pub idleTimeoutSeconds: u32,
12370     pub ndAllowClearTimeoutSeconds: u32,
12371     pub ipsecId: *mut IPSEC_ID0,
12372     pub napContext: u32,
12373     pub qmSaId: u32,
12374     pub numSAs: u32,
12375     pub saList: *mut IPSEC_SA0,
12376     pub keyModuleState: *mut IPSEC_KEYMODULE_STATE0,
12377     pub ipVersion: FWP_IP_VERSION,
12378     pub Anonymous: IPSEC_SA_BUNDLE0_0,
12379     pub mmSaId: u64,
12380     pub pfsGroup: IPSEC_PFS_GROUP,
12381 }
12382 #[cfg(feature = "Win32_Foundation")]
12383 impl IPSEC_SA_BUNDLE0 {}
12384 #[cfg(feature = "Win32_Foundation")]
12385 impl ::std::default::Default for IPSEC_SA_BUNDLE0 {
default() -> Self12386     fn default() -> Self {
12387         unsafe { ::std::mem::zeroed() }
12388     }
12389 }
12390 #[cfg(feature = "Win32_Foundation")]
12391 impl ::std::cmp::PartialEq for IPSEC_SA_BUNDLE0 {
eq(&self, _other: &Self) -> bool12392     fn eq(&self, _other: &Self) -> bool {
12393         unimplemented!()
12394     }
12395 }
12396 #[cfg(feature = "Win32_Foundation")]
12397 impl ::std::cmp::Eq for IPSEC_SA_BUNDLE0 {}
12398 #[cfg(feature = "Win32_Foundation")]
12399 unsafe impl ::windows::runtime::Abi for IPSEC_SA_BUNDLE0 {
12400     type Abi = Self;
12401     type DefaultType = Self;
12402 }
12403 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12404 #[repr(C)]
12405 pub union IPSEC_SA_BUNDLE0_0 {
12406     pub peerV4PrivateAddress: u32,
12407 }
12408 impl IPSEC_SA_BUNDLE0_0 {}
12409 impl ::std::default::Default for IPSEC_SA_BUNDLE0_0 {
default() -> Self12410     fn default() -> Self {
12411         unsafe { ::std::mem::zeroed() }
12412     }
12413 }
12414 impl ::std::cmp::PartialEq for IPSEC_SA_BUNDLE0_0 {
eq(&self, _other: &Self) -> bool12415     fn eq(&self, _other: &Self) -> bool {
12416         unimplemented!()
12417     }
12418 }
12419 impl ::std::cmp::Eq for IPSEC_SA_BUNDLE0_0 {}
12420 unsafe impl ::windows::runtime::Abi for IPSEC_SA_BUNDLE0_0 {
12421     type Abi = Self;
12422     type DefaultType = Self;
12423 }
12424 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12425 #[repr(C)]
12426 #[cfg(feature = "Win32_Foundation")]
12427 pub struct IPSEC_SA_BUNDLE1 {
12428     pub flags: IPSEC_SA_BUNDLE_FLAGS,
12429     pub lifetime: IPSEC_SA_LIFETIME0,
12430     pub idleTimeoutSeconds: u32,
12431     pub ndAllowClearTimeoutSeconds: u32,
12432     pub ipsecId: *mut IPSEC_ID0,
12433     pub napContext: u32,
12434     pub qmSaId: u32,
12435     pub numSAs: u32,
12436     pub saList: *mut IPSEC_SA0,
12437     pub keyModuleState: *mut IPSEC_KEYMODULE_STATE0,
12438     pub ipVersion: FWP_IP_VERSION,
12439     pub Anonymous: IPSEC_SA_BUNDLE1_0,
12440     pub mmSaId: u64,
12441     pub pfsGroup: IPSEC_PFS_GROUP,
12442     pub saLookupContext: ::windows::runtime::GUID,
12443     pub qmFilterId: u64,
12444 }
12445 #[cfg(feature = "Win32_Foundation")]
12446 impl IPSEC_SA_BUNDLE1 {}
12447 #[cfg(feature = "Win32_Foundation")]
12448 impl ::std::default::Default for IPSEC_SA_BUNDLE1 {
default() -> Self12449     fn default() -> Self {
12450         unsafe { ::std::mem::zeroed() }
12451     }
12452 }
12453 #[cfg(feature = "Win32_Foundation")]
12454 impl ::std::cmp::PartialEq for IPSEC_SA_BUNDLE1 {
eq(&self, _other: &Self) -> bool12455     fn eq(&self, _other: &Self) -> bool {
12456         unimplemented!()
12457     }
12458 }
12459 #[cfg(feature = "Win32_Foundation")]
12460 impl ::std::cmp::Eq for IPSEC_SA_BUNDLE1 {}
12461 #[cfg(feature = "Win32_Foundation")]
12462 unsafe impl ::windows::runtime::Abi for IPSEC_SA_BUNDLE1 {
12463     type Abi = Self;
12464     type DefaultType = Self;
12465 }
12466 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12467 #[repr(C)]
12468 pub union IPSEC_SA_BUNDLE1_0 {
12469     pub peerV4PrivateAddress: u32,
12470 }
12471 impl IPSEC_SA_BUNDLE1_0 {}
12472 impl ::std::default::Default for IPSEC_SA_BUNDLE1_0 {
default() -> Self12473     fn default() -> Self {
12474         unsafe { ::std::mem::zeroed() }
12475     }
12476 }
12477 impl ::std::cmp::PartialEq for IPSEC_SA_BUNDLE1_0 {
eq(&self, _other: &Self) -> bool12478     fn eq(&self, _other: &Self) -> bool {
12479         unimplemented!()
12480     }
12481 }
12482 impl ::std::cmp::Eq for IPSEC_SA_BUNDLE1_0 {}
12483 unsafe impl ::windows::runtime::Abi for IPSEC_SA_BUNDLE1_0 {
12484     type Abi = Self;
12485     type DefaultType = Self;
12486 }
12487 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12488 #[repr(transparent)]
12489 pub struct IPSEC_SA_BUNDLE_FLAGS(pub u32);
12490 pub const IPSEC_SA_BUNDLE_FLAG_ND_SECURE: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(1u32);
12491 pub const IPSEC_SA_BUNDLE_FLAG_ND_BOUNDARY: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(2u32);
12492 pub const IPSEC_SA_BUNDLE_FLAG_ND_PEER_NAT_BOUNDARY: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(4u32);
12493 pub const IPSEC_SA_BUNDLE_FLAG_GUARANTEE_ENCRYPTION: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(8u32);
12494 pub const IPSEC_SA_BUNDLE_FLAG_ALLOW_NULL_TARGET_NAME_MATCH: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(512u32);
12495 pub const IPSEC_SA_BUNDLE_FLAG_CLEAR_DF_ON_TUNNEL: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(1024u32);
12496 pub const IPSEC_SA_BUNDLE_FLAG_ASSUME_UDP_CONTEXT_OUTBOUND: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(2048u32);
12497 pub const IPSEC_SA_BUNDLE_FLAG_ND_PEER_BOUNDARY: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(4096u32);
12498 pub const IPSEC_SA_BUNDLE_FLAG_SUPPRESS_DUPLICATE_DELETION: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(8192u32);
12499 pub const IPSEC_SA_BUNDLE_FLAG_PEER_SUPPORTS_GUARANTEE_ENCRYPTION: IPSEC_SA_BUNDLE_FLAGS = IPSEC_SA_BUNDLE_FLAGS(16384u32);
12500 impl ::std::convert::From<u32> for IPSEC_SA_BUNDLE_FLAGS {
from(value: u32) -> Self12501     fn from(value: u32) -> Self {
12502         Self(value)
12503     }
12504 }
12505 unsafe impl ::windows::runtime::Abi for IPSEC_SA_BUNDLE_FLAGS {
12506     type Abi = Self;
12507     type DefaultType = Self;
12508 }
12509 impl ::std::ops::BitOr for IPSEC_SA_BUNDLE_FLAGS {
12510     type Output = Self;
bitor(self, rhs: Self) -> Self12511     fn bitor(self, rhs: Self) -> Self {
12512         Self(self.0 | rhs.0)
12513     }
12514 }
12515 impl ::std::ops::BitAnd for IPSEC_SA_BUNDLE_FLAGS {
12516     type Output = Self;
bitand(self, rhs: Self) -> Self12517     fn bitand(self, rhs: Self) -> Self {
12518         Self(self.0 & rhs.0)
12519     }
12520 }
12521 impl ::std::ops::BitOrAssign for IPSEC_SA_BUNDLE_FLAGS {
bitor_assign(&mut self, rhs: Self)12522     fn bitor_assign(&mut self, rhs: Self) {
12523         self.0.bitor_assign(rhs.0)
12524     }
12525 }
12526 impl ::std::ops::BitAndAssign for IPSEC_SA_BUNDLE_FLAGS {
bitand_assign(&mut self, rhs: Self)12527     fn bitand_assign(&mut self, rhs: Self) {
12528         self.0.bitand_assign(rhs.0)
12529     }
12530 }
12531 impl ::std::ops::Not for IPSEC_SA_BUNDLE_FLAGS {
12532     type Output = Self;
not(self) -> Self12533     fn not(self) -> Self {
12534         Self(self.0.not())
12535     }
12536 }
12537 pub const IPSEC_SA_BUNDLE_FLAG_ENABLE_OPTIONAL_ASYMMETRIC_IDLE: u32 = 262144u32;
12538 pub const IPSEC_SA_BUNDLE_FLAG_FORCE_INBOUND_CONNECTIONS: u32 = 32768u32;
12539 pub const IPSEC_SA_BUNDLE_FLAG_FORCE_OUTBOUND_CONNECTIONS: u32 = 65536u32;
12540 pub const IPSEC_SA_BUNDLE_FLAG_FORWARD_PATH_INITIATOR: u32 = 131072u32;
12541 pub const IPSEC_SA_BUNDLE_FLAG_IP_IN_IP_PKT: u32 = 4194304u32;
12542 pub const IPSEC_SA_BUNDLE_FLAG_LOCALLY_DICTATED_KEYS: u32 = 1048576u32;
12543 pub const IPSEC_SA_BUNDLE_FLAG_LOW_POWER_MODE_SUPPORT: u32 = 8388608u32;
12544 pub const IPSEC_SA_BUNDLE_FLAG_NLB: u32 = 16u32;
12545 pub const IPSEC_SA_BUNDLE_FLAG_NO_EXPLICIT_CRED_MATCH: u32 = 128u32;
12546 pub const IPSEC_SA_BUNDLE_FLAG_NO_IMPERSONATION_LUID_VERIFY: u32 = 64u32;
12547 pub const IPSEC_SA_BUNDLE_FLAG_NO_MACHINE_LUID_VERIFY: u32 = 32u32;
12548 pub const IPSEC_SA_BUNDLE_FLAG_SA_OFFLOADED: u32 = 2097152u32;
12549 pub const IPSEC_SA_BUNDLE_FLAG_USING_DICTATED_KEYS: u32 = 524288u32;
12550 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12551 #[repr(C)]
12552 pub struct IPSEC_SA_CIPHER_INFORMATION0 {
12553     pub cipherTransform: IPSEC_CIPHER_TRANSFORM0,
12554     pub cipherKey: FWP_BYTE_BLOB,
12555 }
12556 impl IPSEC_SA_CIPHER_INFORMATION0 {}
12557 impl ::std::default::Default for IPSEC_SA_CIPHER_INFORMATION0 {
default() -> Self12558     fn default() -> Self {
12559         unsafe { ::std::mem::zeroed() }
12560     }
12561 }
12562 impl ::std::fmt::Debug for IPSEC_SA_CIPHER_INFORMATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12563     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12564         fmt.debug_struct("IPSEC_SA_CIPHER_INFORMATION0").field("cipherTransform", &self.cipherTransform).field("cipherKey", &self.cipherKey).finish()
12565     }
12566 }
12567 impl ::std::cmp::PartialEq for IPSEC_SA_CIPHER_INFORMATION0 {
eq(&self, other: &Self) -> bool12568     fn eq(&self, other: &Self) -> bool {
12569         self.cipherTransform == other.cipherTransform && self.cipherKey == other.cipherKey
12570     }
12571 }
12572 impl ::std::cmp::Eq for IPSEC_SA_CIPHER_INFORMATION0 {}
12573 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CIPHER_INFORMATION0 {
12574     type Abi = Self;
12575     type DefaultType = Self;
12576 }
12577 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12578 #[repr(C)]
12579 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12580 pub struct IPSEC_SA_CONTEXT0 {
12581     pub saContextId: u64,
12582     pub inboundSa: *mut IPSEC_SA_DETAILS0,
12583     pub outboundSa: *mut IPSEC_SA_DETAILS0,
12584 }
12585 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12586 impl IPSEC_SA_CONTEXT0 {}
12587 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12588 impl ::std::default::Default for IPSEC_SA_CONTEXT0 {
default() -> Self12589     fn default() -> Self {
12590         unsafe { ::std::mem::zeroed() }
12591     }
12592 }
12593 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12594 impl ::std::fmt::Debug for IPSEC_SA_CONTEXT0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12595     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12596         fmt.debug_struct("IPSEC_SA_CONTEXT0").field("saContextId", &self.saContextId).field("inboundSa", &self.inboundSa).field("outboundSa", &self.outboundSa).finish()
12597     }
12598 }
12599 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12600 impl ::std::cmp::PartialEq for IPSEC_SA_CONTEXT0 {
eq(&self, other: &Self) -> bool12601     fn eq(&self, other: &Self) -> bool {
12602         self.saContextId == other.saContextId && self.inboundSa == other.inboundSa && self.outboundSa == other.outboundSa
12603     }
12604 }
12605 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12606 impl ::std::cmp::Eq for IPSEC_SA_CONTEXT0 {}
12607 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12608 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CONTEXT0 {
12609     type Abi = Self;
12610     type DefaultType = Self;
12611 }
12612 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12613 #[repr(C)]
12614 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12615 pub struct IPSEC_SA_CONTEXT1 {
12616     pub saContextId: u64,
12617     pub inboundSa: *mut IPSEC_SA_DETAILS1,
12618     pub outboundSa: *mut IPSEC_SA_DETAILS1,
12619 }
12620 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12621 impl IPSEC_SA_CONTEXT1 {}
12622 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12623 impl ::std::default::Default for IPSEC_SA_CONTEXT1 {
default() -> Self12624     fn default() -> Self {
12625         unsafe { ::std::mem::zeroed() }
12626     }
12627 }
12628 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12629 impl ::std::fmt::Debug for IPSEC_SA_CONTEXT1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12630     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12631         fmt.debug_struct("IPSEC_SA_CONTEXT1").field("saContextId", &self.saContextId).field("inboundSa", &self.inboundSa).field("outboundSa", &self.outboundSa).finish()
12632     }
12633 }
12634 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12635 impl ::std::cmp::PartialEq for IPSEC_SA_CONTEXT1 {
eq(&self, other: &Self) -> bool12636     fn eq(&self, other: &Self) -> bool {
12637         self.saContextId == other.saContextId && self.inboundSa == other.inboundSa && self.outboundSa == other.outboundSa
12638     }
12639 }
12640 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12641 impl ::std::cmp::Eq for IPSEC_SA_CONTEXT1 {}
12642 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12643 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CONTEXT1 {
12644     type Abi = Self;
12645     type DefaultType = Self;
12646 }
12647 pub type IPSEC_SA_CONTEXT_CALLBACK0 = unsafe extern "system" fn(context: *mut ::std::ffi::c_void, change: *const IPSEC_SA_CONTEXT_CHANGE0);
12648 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12649 #[repr(C)]
12650 pub struct IPSEC_SA_CONTEXT_CHANGE0 {
12651     pub changeType: IPSEC_SA_CONTEXT_EVENT_TYPE0,
12652     pub saContextId: u64,
12653 }
12654 impl IPSEC_SA_CONTEXT_CHANGE0 {}
12655 impl ::std::default::Default for IPSEC_SA_CONTEXT_CHANGE0 {
default() -> Self12656     fn default() -> Self {
12657         unsafe { ::std::mem::zeroed() }
12658     }
12659 }
12660 impl ::std::fmt::Debug for IPSEC_SA_CONTEXT_CHANGE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12661     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12662         fmt.debug_struct("IPSEC_SA_CONTEXT_CHANGE0").field("changeType", &self.changeType).field("saContextId", &self.saContextId).finish()
12663     }
12664 }
12665 impl ::std::cmp::PartialEq for IPSEC_SA_CONTEXT_CHANGE0 {
eq(&self, other: &Self) -> bool12666     fn eq(&self, other: &Self) -> bool {
12667         self.changeType == other.changeType && self.saContextId == other.saContextId
12668     }
12669 }
12670 impl ::std::cmp::Eq for IPSEC_SA_CONTEXT_CHANGE0 {}
12671 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CONTEXT_CHANGE0 {
12672     type Abi = Self;
12673     type DefaultType = Self;
12674 }
12675 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12676 #[repr(C)]
12677 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12678 pub struct IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {
12679     pub localSubNet: FWP_CONDITION_VALUE0,
12680     pub remoteSubNet: FWP_CONDITION_VALUE0,
12681 }
12682 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12683 impl IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {}
12684 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12685 impl ::std::default::Default for IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {
default() -> Self12686     fn default() -> Self {
12687         unsafe { ::std::mem::zeroed() }
12688     }
12689 }
12690 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12691 impl ::std::cmp::PartialEq for IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {
eq(&self, _other: &Self) -> bool12692     fn eq(&self, _other: &Self) -> bool {
12693         unimplemented!()
12694     }
12695 }
12696 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12697 impl ::std::cmp::Eq for IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {}
12698 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12699 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {
12700     type Abi = Self;
12701     type DefaultType = Self;
12702 }
12703 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12704 #[repr(transparent)]
12705 pub struct IPSEC_SA_CONTEXT_EVENT_TYPE0(pub i32);
12706 pub const IPSEC_SA_CONTEXT_EVENT_ADD: IPSEC_SA_CONTEXT_EVENT_TYPE0 = IPSEC_SA_CONTEXT_EVENT_TYPE0(1i32);
12707 pub const IPSEC_SA_CONTEXT_EVENT_DELETE: IPSEC_SA_CONTEXT_EVENT_TYPE0 = IPSEC_SA_CONTEXT_EVENT_TYPE0(2i32);
12708 pub const IPSEC_SA_CONTEXT_EVENT_MAX: IPSEC_SA_CONTEXT_EVENT_TYPE0 = IPSEC_SA_CONTEXT_EVENT_TYPE0(3i32);
12709 impl ::std::convert::From<i32> for IPSEC_SA_CONTEXT_EVENT_TYPE0 {
from(value: i32) -> Self12710     fn from(value: i32) -> Self {
12711         Self(value)
12712     }
12713 }
12714 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CONTEXT_EVENT_TYPE0 {
12715     type Abi = Self;
12716     type DefaultType = Self;
12717 }
12718 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12719 #[repr(C)]
12720 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12721 pub struct IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
12722     pub enumTemplate: *mut IPSEC_SA_CONTEXT_ENUM_TEMPLATE0,
12723     pub flags: u32,
12724     pub sessionKey: ::windows::runtime::GUID,
12725 }
12726 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12727 impl IPSEC_SA_CONTEXT_SUBSCRIPTION0 {}
12728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12729 impl ::std::default::Default for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
default() -> Self12730     fn default() -> Self {
12731         unsafe { ::std::mem::zeroed() }
12732     }
12733 }
12734 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12735 impl ::std::fmt::Debug for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12736     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12737         fmt.debug_struct("IPSEC_SA_CONTEXT_SUBSCRIPTION0").field("enumTemplate", &self.enumTemplate).field("flags", &self.flags).field("sessionKey", &self.sessionKey).finish()
12738     }
12739 }
12740 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12741 impl ::std::cmp::PartialEq for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
eq(&self, other: &Self) -> bool12742     fn eq(&self, other: &Self) -> bool {
12743         self.enumTemplate == other.enumTemplate && self.flags == other.flags && self.sessionKey == other.sessionKey
12744     }
12745 }
12746 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12747 impl ::std::cmp::Eq for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {}
12748 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12749 unsafe impl ::windows::runtime::Abi for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
12750     type Abi = Self;
12751     type DefaultType = Self;
12752 }
12753 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12754 #[repr(C)]
12755 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12756 pub struct IPSEC_SA_DETAILS0 {
12757     pub ipVersion: FWP_IP_VERSION,
12758     pub saDirection: FWP_DIRECTION,
12759     pub traffic: IPSEC_TRAFFIC0,
12760     pub saBundle: IPSEC_SA_BUNDLE0,
12761     pub Anonymous: IPSEC_SA_DETAILS0_0,
12762     pub transportFilter: *mut FWPM_FILTER0,
12763 }
12764 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12765 impl IPSEC_SA_DETAILS0 {}
12766 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12767 impl ::std::default::Default for IPSEC_SA_DETAILS0 {
default() -> Self12768     fn default() -> Self {
12769         unsafe { ::std::mem::zeroed() }
12770     }
12771 }
12772 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12773 impl ::std::cmp::PartialEq for IPSEC_SA_DETAILS0 {
eq(&self, _other: &Self) -> bool12774     fn eq(&self, _other: &Self) -> bool {
12775         unimplemented!()
12776     }
12777 }
12778 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12779 impl ::std::cmp::Eq for IPSEC_SA_DETAILS0 {}
12780 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12781 unsafe impl ::windows::runtime::Abi for IPSEC_SA_DETAILS0 {
12782     type Abi = Self;
12783     type DefaultType = Self;
12784 }
12785 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12786 #[repr(C)]
12787 pub union IPSEC_SA_DETAILS0_0 {
12788     pub udpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
12789 }
12790 impl IPSEC_SA_DETAILS0_0 {}
12791 impl ::std::default::Default for IPSEC_SA_DETAILS0_0 {
default() -> Self12792     fn default() -> Self {
12793         unsafe { ::std::mem::zeroed() }
12794     }
12795 }
12796 impl ::std::cmp::PartialEq for IPSEC_SA_DETAILS0_0 {
eq(&self, _other: &Self) -> bool12797     fn eq(&self, _other: &Self) -> bool {
12798         unimplemented!()
12799     }
12800 }
12801 impl ::std::cmp::Eq for IPSEC_SA_DETAILS0_0 {}
12802 unsafe impl ::windows::runtime::Abi for IPSEC_SA_DETAILS0_0 {
12803     type Abi = Self;
12804     type DefaultType = Self;
12805 }
12806 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12807 #[repr(C)]
12808 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12809 pub struct IPSEC_SA_DETAILS1 {
12810     pub ipVersion: FWP_IP_VERSION,
12811     pub saDirection: FWP_DIRECTION,
12812     pub traffic: IPSEC_TRAFFIC1,
12813     pub saBundle: IPSEC_SA_BUNDLE1,
12814     pub Anonymous: IPSEC_SA_DETAILS1_0,
12815     pub transportFilter: *mut FWPM_FILTER0,
12816     pub virtualIfTunnelInfo: IPSEC_VIRTUAL_IF_TUNNEL_INFO0,
12817 }
12818 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12819 impl IPSEC_SA_DETAILS1 {}
12820 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12821 impl ::std::default::Default for IPSEC_SA_DETAILS1 {
default() -> Self12822     fn default() -> Self {
12823         unsafe { ::std::mem::zeroed() }
12824     }
12825 }
12826 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12827 impl ::std::cmp::PartialEq for IPSEC_SA_DETAILS1 {
eq(&self, _other: &Self) -> bool12828     fn eq(&self, _other: &Self) -> bool {
12829         unimplemented!()
12830     }
12831 }
12832 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12833 impl ::std::cmp::Eq for IPSEC_SA_DETAILS1 {}
12834 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
12835 unsafe impl ::windows::runtime::Abi for IPSEC_SA_DETAILS1 {
12836     type Abi = Self;
12837     type DefaultType = Self;
12838 }
12839 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12840 #[repr(C)]
12841 pub union IPSEC_SA_DETAILS1_0 {
12842     pub udpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
12843 }
12844 impl IPSEC_SA_DETAILS1_0 {}
12845 impl ::std::default::Default for IPSEC_SA_DETAILS1_0 {
default() -> Self12846     fn default() -> Self {
12847         unsafe { ::std::mem::zeroed() }
12848     }
12849 }
12850 impl ::std::cmp::PartialEq for IPSEC_SA_DETAILS1_0 {
eq(&self, _other: &Self) -> bool12851     fn eq(&self, _other: &Self) -> bool {
12852         unimplemented!()
12853     }
12854 }
12855 impl ::std::cmp::Eq for IPSEC_SA_DETAILS1_0 {}
12856 unsafe impl ::windows::runtime::Abi for IPSEC_SA_DETAILS1_0 {
12857     type Abi = Self;
12858     type DefaultType = Self;
12859 }
12860 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12861 #[repr(C)]
12862 pub struct IPSEC_SA_ENUM_TEMPLATE0 {
12863     pub saDirection: FWP_DIRECTION,
12864 }
12865 impl IPSEC_SA_ENUM_TEMPLATE0 {}
12866 impl ::std::default::Default for IPSEC_SA_ENUM_TEMPLATE0 {
default() -> Self12867     fn default() -> Self {
12868         unsafe { ::std::mem::zeroed() }
12869     }
12870 }
12871 impl ::std::fmt::Debug for IPSEC_SA_ENUM_TEMPLATE0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12872     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12873         fmt.debug_struct("IPSEC_SA_ENUM_TEMPLATE0").field("saDirection", &self.saDirection).finish()
12874     }
12875 }
12876 impl ::std::cmp::PartialEq for IPSEC_SA_ENUM_TEMPLATE0 {
eq(&self, other: &Self) -> bool12877     fn eq(&self, other: &Self) -> bool {
12878         self.saDirection == other.saDirection
12879     }
12880 }
12881 impl ::std::cmp::Eq for IPSEC_SA_ENUM_TEMPLATE0 {}
12882 unsafe impl ::windows::runtime::Abi for IPSEC_SA_ENUM_TEMPLATE0 {
12883     type Abi = Self;
12884     type DefaultType = Self;
12885 }
12886 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12887 #[repr(C)]
12888 pub struct IPSEC_SA_IDLE_TIMEOUT0 {
12889     pub idleTimeoutSeconds: u32,
12890     pub idleTimeoutSecondsFailOver: u32,
12891 }
12892 impl IPSEC_SA_IDLE_TIMEOUT0 {}
12893 impl ::std::default::Default for IPSEC_SA_IDLE_TIMEOUT0 {
default() -> Self12894     fn default() -> Self {
12895         unsafe { ::std::mem::zeroed() }
12896     }
12897 }
12898 impl ::std::fmt::Debug for IPSEC_SA_IDLE_TIMEOUT0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12899     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12900         fmt.debug_struct("IPSEC_SA_IDLE_TIMEOUT0").field("idleTimeoutSeconds", &self.idleTimeoutSeconds).field("idleTimeoutSecondsFailOver", &self.idleTimeoutSecondsFailOver).finish()
12901     }
12902 }
12903 impl ::std::cmp::PartialEq for IPSEC_SA_IDLE_TIMEOUT0 {
eq(&self, other: &Self) -> bool12904     fn eq(&self, other: &Self) -> bool {
12905         self.idleTimeoutSeconds == other.idleTimeoutSeconds && self.idleTimeoutSecondsFailOver == other.idleTimeoutSecondsFailOver
12906     }
12907 }
12908 impl ::std::cmp::Eq for IPSEC_SA_IDLE_TIMEOUT0 {}
12909 unsafe impl ::windows::runtime::Abi for IPSEC_SA_IDLE_TIMEOUT0 {
12910     type Abi = Self;
12911     type DefaultType = Self;
12912 }
12913 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12914 #[repr(C)]
12915 pub struct IPSEC_SA_LIFETIME0 {
12916     pub lifetimeSeconds: u32,
12917     pub lifetimeKilobytes: u32,
12918     pub lifetimePackets: u32,
12919 }
12920 impl IPSEC_SA_LIFETIME0 {}
12921 impl ::std::default::Default for IPSEC_SA_LIFETIME0 {
default() -> Self12922     fn default() -> Self {
12923         unsafe { ::std::mem::zeroed() }
12924     }
12925 }
12926 impl ::std::fmt::Debug for IPSEC_SA_LIFETIME0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12927     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12928         fmt.debug_struct("IPSEC_SA_LIFETIME0").field("lifetimeSeconds", &self.lifetimeSeconds).field("lifetimeKilobytes", &self.lifetimeKilobytes).field("lifetimePackets", &self.lifetimePackets).finish()
12929     }
12930 }
12931 impl ::std::cmp::PartialEq for IPSEC_SA_LIFETIME0 {
eq(&self, other: &Self) -> bool12932     fn eq(&self, other: &Self) -> bool {
12933         self.lifetimeSeconds == other.lifetimeSeconds && self.lifetimeKilobytes == other.lifetimeKilobytes && self.lifetimePackets == other.lifetimePackets
12934     }
12935 }
12936 impl ::std::cmp::Eq for IPSEC_SA_LIFETIME0 {}
12937 unsafe impl ::windows::runtime::Abi for IPSEC_SA_LIFETIME0 {
12938     type Abi = Self;
12939     type DefaultType = Self;
12940 }
12941 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12942 #[repr(C)]
12943 pub struct IPSEC_SA_TRANSFORM0 {
12944     pub ipsecTransformType: IPSEC_TRANSFORM_TYPE,
12945     pub Anonymous: IPSEC_SA_TRANSFORM0_0,
12946 }
12947 impl IPSEC_SA_TRANSFORM0 {}
12948 impl ::std::default::Default for IPSEC_SA_TRANSFORM0 {
default() -> Self12949     fn default() -> Self {
12950         unsafe { ::std::mem::zeroed() }
12951     }
12952 }
12953 impl ::std::cmp::PartialEq for IPSEC_SA_TRANSFORM0 {
eq(&self, _other: &Self) -> bool12954     fn eq(&self, _other: &Self) -> bool {
12955         unimplemented!()
12956     }
12957 }
12958 impl ::std::cmp::Eq for IPSEC_SA_TRANSFORM0 {}
12959 unsafe impl ::windows::runtime::Abi for IPSEC_SA_TRANSFORM0 {
12960     type Abi = Self;
12961     type DefaultType = Self;
12962 }
12963 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12964 #[repr(C)]
12965 pub union IPSEC_SA_TRANSFORM0_0 {
12966     pub ahTransform: *mut IPSEC_AUTH_TRANSFORM0,
12967     pub espAuthTransform: *mut IPSEC_AUTH_TRANSFORM0,
12968     pub espCipherTransform: *mut IPSEC_CIPHER_TRANSFORM0,
12969     pub espAuthAndCipherTransform: *mut IPSEC_AUTH_AND_CIPHER_TRANSFORM0,
12970     pub espAuthFwTransform: *mut IPSEC_AUTH_TRANSFORM0,
12971 }
12972 impl IPSEC_SA_TRANSFORM0_0 {}
12973 impl ::std::default::Default for IPSEC_SA_TRANSFORM0_0 {
default() -> Self12974     fn default() -> Self {
12975         unsafe { ::std::mem::zeroed() }
12976     }
12977 }
12978 impl ::std::cmp::PartialEq for IPSEC_SA_TRANSFORM0_0 {
eq(&self, _other: &Self) -> bool12979     fn eq(&self, _other: &Self) -> bool {
12980         unimplemented!()
12981     }
12982 }
12983 impl ::std::cmp::Eq for IPSEC_SA_TRANSFORM0_0 {}
12984 unsafe impl ::windows::runtime::Abi for IPSEC_SA_TRANSFORM0_0 {
12985     type Abi = Self;
12986     type DefaultType = Self;
12987 }
12988 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12989 #[repr(C)]
12990 pub struct IPSEC_STATISTICS0 {
12991     pub aggregateSaStatistics: IPSEC_AGGREGATE_SA_STATISTICS0,
12992     pub espDropPacketStatistics: IPSEC_ESP_DROP_PACKET_STATISTICS0,
12993     pub ahDropPacketStatistics: IPSEC_AH_DROP_PACKET_STATISTICS0,
12994     pub aggregateDropPacketStatistics: IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0,
12995     pub inboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS0,
12996     pub outboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS0,
12997 }
12998 impl IPSEC_STATISTICS0 {}
12999 impl ::std::default::Default for IPSEC_STATISTICS0 {
default() -> Self13000     fn default() -> Self {
13001         unsafe { ::std::mem::zeroed() }
13002     }
13003 }
13004 impl ::std::fmt::Debug for IPSEC_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13005     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13006         fmt.debug_struct("IPSEC_STATISTICS0")
13007             .field("aggregateSaStatistics", &self.aggregateSaStatistics)
13008             .field("espDropPacketStatistics", &self.espDropPacketStatistics)
13009             .field("ahDropPacketStatistics", &self.ahDropPacketStatistics)
13010             .field("aggregateDropPacketStatistics", &self.aggregateDropPacketStatistics)
13011             .field("inboundTrafficStatistics", &self.inboundTrafficStatistics)
13012             .field("outboundTrafficStatistics", &self.outboundTrafficStatistics)
13013             .finish()
13014     }
13015 }
13016 impl ::std::cmp::PartialEq for IPSEC_STATISTICS0 {
eq(&self, other: &Self) -> bool13017     fn eq(&self, other: &Self) -> bool {
13018         self.aggregateSaStatistics == other.aggregateSaStatistics && self.espDropPacketStatistics == other.espDropPacketStatistics && self.ahDropPacketStatistics == other.ahDropPacketStatistics && self.aggregateDropPacketStatistics == other.aggregateDropPacketStatistics && self.inboundTrafficStatistics == other.inboundTrafficStatistics && self.outboundTrafficStatistics == other.outboundTrafficStatistics
13019     }
13020 }
13021 impl ::std::cmp::Eq for IPSEC_STATISTICS0 {}
13022 unsafe impl ::windows::runtime::Abi for IPSEC_STATISTICS0 {
13023     type Abi = Self;
13024     type DefaultType = Self;
13025 }
13026 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13027 #[repr(C)]
13028 pub struct IPSEC_STATISTICS1 {
13029     pub aggregateSaStatistics: IPSEC_AGGREGATE_SA_STATISTICS0,
13030     pub espDropPacketStatistics: IPSEC_ESP_DROP_PACKET_STATISTICS0,
13031     pub ahDropPacketStatistics: IPSEC_AH_DROP_PACKET_STATISTICS0,
13032     pub aggregateDropPacketStatistics: IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1,
13033     pub inboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS1,
13034     pub outboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS1,
13035 }
13036 impl IPSEC_STATISTICS1 {}
13037 impl ::std::default::Default for IPSEC_STATISTICS1 {
default() -> Self13038     fn default() -> Self {
13039         unsafe { ::std::mem::zeroed() }
13040     }
13041 }
13042 impl ::std::fmt::Debug for IPSEC_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13043     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13044         fmt.debug_struct("IPSEC_STATISTICS1")
13045             .field("aggregateSaStatistics", &self.aggregateSaStatistics)
13046             .field("espDropPacketStatistics", &self.espDropPacketStatistics)
13047             .field("ahDropPacketStatistics", &self.ahDropPacketStatistics)
13048             .field("aggregateDropPacketStatistics", &self.aggregateDropPacketStatistics)
13049             .field("inboundTrafficStatistics", &self.inboundTrafficStatistics)
13050             .field("outboundTrafficStatistics", &self.outboundTrafficStatistics)
13051             .finish()
13052     }
13053 }
13054 impl ::std::cmp::PartialEq for IPSEC_STATISTICS1 {
eq(&self, other: &Self) -> bool13055     fn eq(&self, other: &Self) -> bool {
13056         self.aggregateSaStatistics == other.aggregateSaStatistics && self.espDropPacketStatistics == other.espDropPacketStatistics && self.ahDropPacketStatistics == other.ahDropPacketStatistics && self.aggregateDropPacketStatistics == other.aggregateDropPacketStatistics && self.inboundTrafficStatistics == other.inboundTrafficStatistics && self.outboundTrafficStatistics == other.outboundTrafficStatistics
13057     }
13058 }
13059 impl ::std::cmp::Eq for IPSEC_STATISTICS1 {}
13060 unsafe impl ::windows::runtime::Abi for IPSEC_STATISTICS1 {
13061     type Abi = Self;
13062     type DefaultType = Self;
13063 }
13064 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13065 #[repr(C)]
13066 pub struct IPSEC_TOKEN0 {
13067     pub r#type: IPSEC_TOKEN_TYPE,
13068     pub principal: IPSEC_TOKEN_PRINCIPAL,
13069     pub mode: IPSEC_TOKEN_MODE,
13070     pub token: u64,
13071 }
13072 impl IPSEC_TOKEN0 {}
13073 impl ::std::default::Default for IPSEC_TOKEN0 {
default() -> Self13074     fn default() -> Self {
13075         unsafe { ::std::mem::zeroed() }
13076     }
13077 }
13078 impl ::std::fmt::Debug for IPSEC_TOKEN0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13079     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13080         fmt.debug_struct("IPSEC_TOKEN0").field("r#type", &self.r#type).field("principal", &self.principal).field("mode", &self.mode).field("token", &self.token).finish()
13081     }
13082 }
13083 impl ::std::cmp::PartialEq for IPSEC_TOKEN0 {
eq(&self, other: &Self) -> bool13084     fn eq(&self, other: &Self) -> bool {
13085         self.r#type == other.r#type && self.principal == other.principal && self.mode == other.mode && self.token == other.token
13086     }
13087 }
13088 impl ::std::cmp::Eq for IPSEC_TOKEN0 {}
13089 unsafe impl ::windows::runtime::Abi for IPSEC_TOKEN0 {
13090     type Abi = Self;
13091     type DefaultType = Self;
13092 }
13093 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13094 #[repr(transparent)]
13095 pub struct IPSEC_TOKEN_MODE(pub i32);
13096 pub const IPSEC_TOKEN_MODE_MAIN: IPSEC_TOKEN_MODE = IPSEC_TOKEN_MODE(0i32);
13097 pub const IPSEC_TOKEN_MODE_EXTENDED: IPSEC_TOKEN_MODE = IPSEC_TOKEN_MODE(1i32);
13098 pub const IPSEC_TOKEN_MODE_MAX: IPSEC_TOKEN_MODE = IPSEC_TOKEN_MODE(2i32);
13099 impl ::std::convert::From<i32> for IPSEC_TOKEN_MODE {
from(value: i32) -> Self13100     fn from(value: i32) -> Self {
13101         Self(value)
13102     }
13103 }
13104 unsafe impl ::windows::runtime::Abi for IPSEC_TOKEN_MODE {
13105     type Abi = Self;
13106     type DefaultType = Self;
13107 }
13108 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13109 #[repr(transparent)]
13110 pub struct IPSEC_TOKEN_PRINCIPAL(pub i32);
13111 pub const IPSEC_TOKEN_PRINCIPAL_LOCAL: IPSEC_TOKEN_PRINCIPAL = IPSEC_TOKEN_PRINCIPAL(0i32);
13112 pub const IPSEC_TOKEN_PRINCIPAL_PEER: IPSEC_TOKEN_PRINCIPAL = IPSEC_TOKEN_PRINCIPAL(1i32);
13113 pub const IPSEC_TOKEN_PRINCIPAL_MAX: IPSEC_TOKEN_PRINCIPAL = IPSEC_TOKEN_PRINCIPAL(2i32);
13114 impl ::std::convert::From<i32> for IPSEC_TOKEN_PRINCIPAL {
from(value: i32) -> Self13115     fn from(value: i32) -> Self {
13116         Self(value)
13117     }
13118 }
13119 unsafe impl ::windows::runtime::Abi for IPSEC_TOKEN_PRINCIPAL {
13120     type Abi = Self;
13121     type DefaultType = Self;
13122 }
13123 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13124 #[repr(transparent)]
13125 pub struct IPSEC_TOKEN_TYPE(pub i32);
13126 pub const IPSEC_TOKEN_TYPE_MACHINE: IPSEC_TOKEN_TYPE = IPSEC_TOKEN_TYPE(0i32);
13127 pub const IPSEC_TOKEN_TYPE_IMPERSONATION: IPSEC_TOKEN_TYPE = IPSEC_TOKEN_TYPE(1i32);
13128 pub const IPSEC_TOKEN_TYPE_MAX: IPSEC_TOKEN_TYPE = IPSEC_TOKEN_TYPE(2i32);
13129 impl ::std::convert::From<i32> for IPSEC_TOKEN_TYPE {
from(value: i32) -> Self13130     fn from(value: i32) -> Self {
13131         Self(value)
13132     }
13133 }
13134 unsafe impl ::windows::runtime::Abi for IPSEC_TOKEN_TYPE {
13135     type Abi = Self;
13136     type DefaultType = Self;
13137 }
13138 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13139 #[repr(C)]
13140 pub struct IPSEC_TRAFFIC0 {
13141     pub ipVersion: FWP_IP_VERSION,
13142     pub Anonymous1: IPSEC_TRAFFIC0_0,
13143     pub Anonymous2: IPSEC_TRAFFIC0_1,
13144     pub trafficType: IPSEC_TRAFFIC_TYPE,
13145     pub Anonymous3: IPSEC_TRAFFIC0_2,
13146     pub remotePort: u16,
13147 }
13148 impl IPSEC_TRAFFIC0 {}
13149 impl ::std::default::Default for IPSEC_TRAFFIC0 {
default() -> Self13150     fn default() -> Self {
13151         unsafe { ::std::mem::zeroed() }
13152     }
13153 }
13154 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC0 {
eq(&self, _other: &Self) -> bool13155     fn eq(&self, _other: &Self) -> bool {
13156         unimplemented!()
13157     }
13158 }
13159 impl ::std::cmp::Eq for IPSEC_TRAFFIC0 {}
13160 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC0 {
13161     type Abi = Self;
13162     type DefaultType = Self;
13163 }
13164 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13165 #[repr(C)]
13166 pub union IPSEC_TRAFFIC0_0 {
13167     pub localV4Address: u32,
13168     pub localV6Address: [u8; 16],
13169 }
13170 impl IPSEC_TRAFFIC0_0 {}
13171 impl ::std::default::Default for IPSEC_TRAFFIC0_0 {
default() -> Self13172     fn default() -> Self {
13173         unsafe { ::std::mem::zeroed() }
13174     }
13175 }
13176 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC0_0 {
eq(&self, _other: &Self) -> bool13177     fn eq(&self, _other: &Self) -> bool {
13178         unimplemented!()
13179     }
13180 }
13181 impl ::std::cmp::Eq for IPSEC_TRAFFIC0_0 {}
13182 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC0_0 {
13183     type Abi = Self;
13184     type DefaultType = Self;
13185 }
13186 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13187 #[repr(C)]
13188 pub union IPSEC_TRAFFIC0_1 {
13189     pub remoteV4Address: u32,
13190     pub remoteV6Address: [u8; 16],
13191 }
13192 impl IPSEC_TRAFFIC0_1 {}
13193 impl ::std::default::Default for IPSEC_TRAFFIC0_1 {
default() -> Self13194     fn default() -> Self {
13195         unsafe { ::std::mem::zeroed() }
13196     }
13197 }
13198 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC0_1 {
eq(&self, _other: &Self) -> bool13199     fn eq(&self, _other: &Self) -> bool {
13200         unimplemented!()
13201     }
13202 }
13203 impl ::std::cmp::Eq for IPSEC_TRAFFIC0_1 {}
13204 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC0_1 {
13205     type Abi = Self;
13206     type DefaultType = Self;
13207 }
13208 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13209 #[repr(C)]
13210 pub union IPSEC_TRAFFIC0_2 {
13211     pub ipsecFilterId: u64,
13212     pub tunnelPolicyId: u64,
13213 }
13214 impl IPSEC_TRAFFIC0_2 {}
13215 impl ::std::default::Default for IPSEC_TRAFFIC0_2 {
default() -> Self13216     fn default() -> Self {
13217         unsafe { ::std::mem::zeroed() }
13218     }
13219 }
13220 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC0_2 {
eq(&self, _other: &Self) -> bool13221     fn eq(&self, _other: &Self) -> bool {
13222         unimplemented!()
13223     }
13224 }
13225 impl ::std::cmp::Eq for IPSEC_TRAFFIC0_2 {}
13226 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC0_2 {
13227     type Abi = Self;
13228     type DefaultType = Self;
13229 }
13230 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13231 #[repr(C)]
13232 pub struct IPSEC_TRAFFIC1 {
13233     pub ipVersion: FWP_IP_VERSION,
13234     pub Anonymous1: IPSEC_TRAFFIC1_0,
13235     pub Anonymous2: IPSEC_TRAFFIC1_1,
13236     pub trafficType: IPSEC_TRAFFIC_TYPE,
13237     pub Anonymous3: IPSEC_TRAFFIC1_2,
13238     pub remotePort: u16,
13239     pub localPort: u16,
13240     pub ipProtocol: u8,
13241     pub localIfLuid: u64,
13242     pub realIfProfileId: u32,
13243 }
13244 impl IPSEC_TRAFFIC1 {}
13245 impl ::std::default::Default for IPSEC_TRAFFIC1 {
default() -> Self13246     fn default() -> Self {
13247         unsafe { ::std::mem::zeroed() }
13248     }
13249 }
13250 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC1 {
eq(&self, _other: &Self) -> bool13251     fn eq(&self, _other: &Self) -> bool {
13252         unimplemented!()
13253     }
13254 }
13255 impl ::std::cmp::Eq for IPSEC_TRAFFIC1 {}
13256 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC1 {
13257     type Abi = Self;
13258     type DefaultType = Self;
13259 }
13260 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13261 #[repr(C)]
13262 pub union IPSEC_TRAFFIC1_0 {
13263     pub localV4Address: u32,
13264     pub localV6Address: [u8; 16],
13265 }
13266 impl IPSEC_TRAFFIC1_0 {}
13267 impl ::std::default::Default for IPSEC_TRAFFIC1_0 {
default() -> Self13268     fn default() -> Self {
13269         unsafe { ::std::mem::zeroed() }
13270     }
13271 }
13272 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC1_0 {
eq(&self, _other: &Self) -> bool13273     fn eq(&self, _other: &Self) -> bool {
13274         unimplemented!()
13275     }
13276 }
13277 impl ::std::cmp::Eq for IPSEC_TRAFFIC1_0 {}
13278 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC1_0 {
13279     type Abi = Self;
13280     type DefaultType = Self;
13281 }
13282 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13283 #[repr(C)]
13284 pub union IPSEC_TRAFFIC1_1 {
13285     pub remoteV4Address: u32,
13286     pub remoteV6Address: [u8; 16],
13287 }
13288 impl IPSEC_TRAFFIC1_1 {}
13289 impl ::std::default::Default for IPSEC_TRAFFIC1_1 {
default() -> Self13290     fn default() -> Self {
13291         unsafe { ::std::mem::zeroed() }
13292     }
13293 }
13294 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC1_1 {
eq(&self, _other: &Self) -> bool13295     fn eq(&self, _other: &Self) -> bool {
13296         unimplemented!()
13297     }
13298 }
13299 impl ::std::cmp::Eq for IPSEC_TRAFFIC1_1 {}
13300 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC1_1 {
13301     type Abi = Self;
13302     type DefaultType = Self;
13303 }
13304 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13305 #[repr(C)]
13306 pub union IPSEC_TRAFFIC1_2 {
13307     pub ipsecFilterId: u64,
13308     pub tunnelPolicyId: u64,
13309 }
13310 impl IPSEC_TRAFFIC1_2 {}
13311 impl ::std::default::Default for IPSEC_TRAFFIC1_2 {
default() -> Self13312     fn default() -> Self {
13313         unsafe { ::std::mem::zeroed() }
13314     }
13315 }
13316 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC1_2 {
eq(&self, _other: &Self) -> bool13317     fn eq(&self, _other: &Self) -> bool {
13318         unimplemented!()
13319     }
13320 }
13321 impl ::std::cmp::Eq for IPSEC_TRAFFIC1_2 {}
13322 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC1_2 {
13323     type Abi = Self;
13324     type DefaultType = Self;
13325 }
13326 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13327 #[repr(C)]
13328 pub struct IPSEC_TRAFFIC_SELECTOR0_ {
13329     pub protocolId: u8,
13330     pub portStart: u16,
13331     pub portEnd: u16,
13332     pub ipVersion: FWP_IP_VERSION,
13333     pub Anonymous1: IPSEC_TRAFFIC_SELECTOR0__0,
13334     pub Anonymous2: IPSEC_TRAFFIC_SELECTOR0__1,
13335 }
13336 impl IPSEC_TRAFFIC_SELECTOR0_ {}
13337 impl ::std::default::Default for IPSEC_TRAFFIC_SELECTOR0_ {
default() -> Self13338     fn default() -> Self {
13339         unsafe { ::std::mem::zeroed() }
13340     }
13341 }
13342 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC_SELECTOR0_ {
eq(&self, _other: &Self) -> bool13343     fn eq(&self, _other: &Self) -> bool {
13344         unimplemented!()
13345     }
13346 }
13347 impl ::std::cmp::Eq for IPSEC_TRAFFIC_SELECTOR0_ {}
13348 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_SELECTOR0_ {
13349     type Abi = Self;
13350     type DefaultType = Self;
13351 }
13352 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13353 #[repr(C)]
13354 pub union IPSEC_TRAFFIC_SELECTOR0__0 {
13355     pub startV4Address: u32,
13356     pub startV6Address: [u8; 16],
13357 }
13358 impl IPSEC_TRAFFIC_SELECTOR0__0 {}
13359 impl ::std::default::Default for IPSEC_TRAFFIC_SELECTOR0__0 {
default() -> Self13360     fn default() -> Self {
13361         unsafe { ::std::mem::zeroed() }
13362     }
13363 }
13364 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC_SELECTOR0__0 {
eq(&self, _other: &Self) -> bool13365     fn eq(&self, _other: &Self) -> bool {
13366         unimplemented!()
13367     }
13368 }
13369 impl ::std::cmp::Eq for IPSEC_TRAFFIC_SELECTOR0__0 {}
13370 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_SELECTOR0__0 {
13371     type Abi = Self;
13372     type DefaultType = Self;
13373 }
13374 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13375 #[repr(C)]
13376 pub union IPSEC_TRAFFIC_SELECTOR0__1 {
13377     pub endV4Address: u32,
13378     pub endV6Address: [u8; 16],
13379 }
13380 impl IPSEC_TRAFFIC_SELECTOR0__1 {}
13381 impl ::std::default::Default for IPSEC_TRAFFIC_SELECTOR0__1 {
default() -> Self13382     fn default() -> Self {
13383         unsafe { ::std::mem::zeroed() }
13384     }
13385 }
13386 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC_SELECTOR0__1 {
eq(&self, _other: &Self) -> bool13387     fn eq(&self, _other: &Self) -> bool {
13388         unimplemented!()
13389     }
13390 }
13391 impl ::std::cmp::Eq for IPSEC_TRAFFIC_SELECTOR0__1 {}
13392 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_SELECTOR0__1 {
13393     type Abi = Self;
13394     type DefaultType = Self;
13395 }
13396 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13397 #[repr(C)]
13398 pub struct IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
13399     pub flags: u32,
13400     pub numLocalTrafficSelectors: u32,
13401     pub localTrafficSelectors: *mut IPSEC_TRAFFIC_SELECTOR0_,
13402     pub numRemoteTrafficSelectors: u32,
13403     pub remoteTrafficSelectors: *mut IPSEC_TRAFFIC_SELECTOR0_,
13404 }
13405 impl IPSEC_TRAFFIC_SELECTOR_POLICY0_ {}
13406 impl ::std::default::Default for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
default() -> Self13407     fn default() -> Self {
13408         unsafe { ::std::mem::zeroed() }
13409     }
13410 }
13411 impl ::std::fmt::Debug for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13412     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13413         fmt.debug_struct("IPSEC_TRAFFIC_SELECTOR_POLICY0_")
13414             .field("flags", &self.flags)
13415             .field("numLocalTrafficSelectors", &self.numLocalTrafficSelectors)
13416             .field("localTrafficSelectors", &self.localTrafficSelectors)
13417             .field("numRemoteTrafficSelectors", &self.numRemoteTrafficSelectors)
13418             .field("remoteTrafficSelectors", &self.remoteTrafficSelectors)
13419             .finish()
13420     }
13421 }
13422 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
eq(&self, other: &Self) -> bool13423     fn eq(&self, other: &Self) -> bool {
13424         self.flags == other.flags && self.numLocalTrafficSelectors == other.numLocalTrafficSelectors && self.localTrafficSelectors == other.localTrafficSelectors && self.numRemoteTrafficSelectors == other.numRemoteTrafficSelectors && self.remoteTrafficSelectors == other.remoteTrafficSelectors
13425     }
13426 }
13427 impl ::std::cmp::Eq for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {}
13428 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
13429     type Abi = Self;
13430     type DefaultType = Self;
13431 }
13432 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13433 #[repr(C)]
13434 pub struct IPSEC_TRAFFIC_STATISTICS0 {
13435     pub encryptedByteCount: u64,
13436     pub authenticatedAHByteCount: u64,
13437     pub authenticatedESPByteCount: u64,
13438     pub transportByteCount: u64,
13439     pub tunnelByteCount: u64,
13440     pub offloadByteCount: u64,
13441 }
13442 impl IPSEC_TRAFFIC_STATISTICS0 {}
13443 impl ::std::default::Default for IPSEC_TRAFFIC_STATISTICS0 {
default() -> Self13444     fn default() -> Self {
13445         unsafe { ::std::mem::zeroed() }
13446     }
13447 }
13448 impl ::std::fmt::Debug for IPSEC_TRAFFIC_STATISTICS0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13449     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13450         fmt.debug_struct("IPSEC_TRAFFIC_STATISTICS0")
13451             .field("encryptedByteCount", &self.encryptedByteCount)
13452             .field("authenticatedAHByteCount", &self.authenticatedAHByteCount)
13453             .field("authenticatedESPByteCount", &self.authenticatedESPByteCount)
13454             .field("transportByteCount", &self.transportByteCount)
13455             .field("tunnelByteCount", &self.tunnelByteCount)
13456             .field("offloadByteCount", &self.offloadByteCount)
13457             .finish()
13458     }
13459 }
13460 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC_STATISTICS0 {
eq(&self, other: &Self) -> bool13461     fn eq(&self, other: &Self) -> bool {
13462         self.encryptedByteCount == other.encryptedByteCount && self.authenticatedAHByteCount == other.authenticatedAHByteCount && self.authenticatedESPByteCount == other.authenticatedESPByteCount && self.transportByteCount == other.transportByteCount && self.tunnelByteCount == other.tunnelByteCount && self.offloadByteCount == other.offloadByteCount
13463     }
13464 }
13465 impl ::std::cmp::Eq for IPSEC_TRAFFIC_STATISTICS0 {}
13466 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_STATISTICS0 {
13467     type Abi = Self;
13468     type DefaultType = Self;
13469 }
13470 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13471 #[repr(C)]
13472 pub struct IPSEC_TRAFFIC_STATISTICS1 {
13473     pub encryptedByteCount: u64,
13474     pub authenticatedAHByteCount: u64,
13475     pub authenticatedESPByteCount: u64,
13476     pub transportByteCount: u64,
13477     pub tunnelByteCount: u64,
13478     pub offloadByteCount: u64,
13479     pub totalSuccessfulPackets: u64,
13480 }
13481 impl IPSEC_TRAFFIC_STATISTICS1 {}
13482 impl ::std::default::Default for IPSEC_TRAFFIC_STATISTICS1 {
default() -> Self13483     fn default() -> Self {
13484         unsafe { ::std::mem::zeroed() }
13485     }
13486 }
13487 impl ::std::fmt::Debug for IPSEC_TRAFFIC_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13488     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13489         fmt.debug_struct("IPSEC_TRAFFIC_STATISTICS1")
13490             .field("encryptedByteCount", &self.encryptedByteCount)
13491             .field("authenticatedAHByteCount", &self.authenticatedAHByteCount)
13492             .field("authenticatedESPByteCount", &self.authenticatedESPByteCount)
13493             .field("transportByteCount", &self.transportByteCount)
13494             .field("tunnelByteCount", &self.tunnelByteCount)
13495             .field("offloadByteCount", &self.offloadByteCount)
13496             .field("totalSuccessfulPackets", &self.totalSuccessfulPackets)
13497             .finish()
13498     }
13499 }
13500 impl ::std::cmp::PartialEq for IPSEC_TRAFFIC_STATISTICS1 {
eq(&self, other: &Self) -> bool13501     fn eq(&self, other: &Self) -> bool {
13502         self.encryptedByteCount == other.encryptedByteCount && self.authenticatedAHByteCount == other.authenticatedAHByteCount && self.authenticatedESPByteCount == other.authenticatedESPByteCount && self.transportByteCount == other.transportByteCount && self.tunnelByteCount == other.tunnelByteCount && self.offloadByteCount == other.offloadByteCount && self.totalSuccessfulPackets == other.totalSuccessfulPackets
13503     }
13504 }
13505 impl ::std::cmp::Eq for IPSEC_TRAFFIC_STATISTICS1 {}
13506 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_STATISTICS1 {
13507     type Abi = Self;
13508     type DefaultType = Self;
13509 }
13510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13511 #[repr(transparent)]
13512 pub struct IPSEC_TRAFFIC_TYPE(pub i32);
13513 pub const IPSEC_TRAFFIC_TYPE_TRANSPORT: IPSEC_TRAFFIC_TYPE = IPSEC_TRAFFIC_TYPE(0i32);
13514 pub const IPSEC_TRAFFIC_TYPE_TUNNEL: IPSEC_TRAFFIC_TYPE = IPSEC_TRAFFIC_TYPE(1i32);
13515 pub const IPSEC_TRAFFIC_TYPE_MAX: IPSEC_TRAFFIC_TYPE = IPSEC_TRAFFIC_TYPE(2i32);
13516 impl ::std::convert::From<i32> for IPSEC_TRAFFIC_TYPE {
from(value: i32) -> Self13517     fn from(value: i32) -> Self {
13518         Self(value)
13519     }
13520 }
13521 unsafe impl ::windows::runtime::Abi for IPSEC_TRAFFIC_TYPE {
13522     type Abi = Self;
13523     type DefaultType = Self;
13524 }
13525 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13526 #[repr(transparent)]
13527 pub struct IPSEC_TRANSFORM_TYPE(pub i32);
13528 pub const IPSEC_TRANSFORM_AH: IPSEC_TRANSFORM_TYPE = IPSEC_TRANSFORM_TYPE(1i32);
13529 pub const IPSEC_TRANSFORM_ESP_AUTH: IPSEC_TRANSFORM_TYPE = IPSEC_TRANSFORM_TYPE(2i32);
13530 pub const IPSEC_TRANSFORM_ESP_CIPHER: IPSEC_TRANSFORM_TYPE = IPSEC_TRANSFORM_TYPE(3i32);
13531 pub const IPSEC_TRANSFORM_ESP_AUTH_AND_CIPHER: IPSEC_TRANSFORM_TYPE = IPSEC_TRANSFORM_TYPE(4i32);
13532 pub const IPSEC_TRANSFORM_ESP_AUTH_FW: IPSEC_TRANSFORM_TYPE = IPSEC_TRANSFORM_TYPE(5i32);
13533 pub const IPSEC_TRANSFORM_TYPE_MAX: IPSEC_TRANSFORM_TYPE = IPSEC_TRANSFORM_TYPE(6i32);
13534 impl ::std::convert::From<i32> for IPSEC_TRANSFORM_TYPE {
from(value: i32) -> Self13535     fn from(value: i32) -> Self {
13536         Self(value)
13537     }
13538 }
13539 unsafe impl ::windows::runtime::Abi for IPSEC_TRANSFORM_TYPE {
13540     type Abi = Self;
13541     type DefaultType = Self;
13542 }
13543 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13544 #[repr(C)]
13545 #[cfg(feature = "Win32_Foundation")]
13546 pub struct IPSEC_TRANSPORT_POLICY0 {
13547     pub numIpsecProposals: u32,
13548     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
13549     pub flags: IPSEC_POLICY_FLAG,
13550     pub ndAllowClearTimeoutSeconds: u32,
13551     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
13552     pub emPolicy: *mut IKEEXT_EM_POLICY0,
13553 }
13554 #[cfg(feature = "Win32_Foundation")]
13555 impl IPSEC_TRANSPORT_POLICY0 {}
13556 #[cfg(feature = "Win32_Foundation")]
13557 impl ::std::default::Default for IPSEC_TRANSPORT_POLICY0 {
default() -> Self13558     fn default() -> Self {
13559         unsafe { ::std::mem::zeroed() }
13560     }
13561 }
13562 #[cfg(feature = "Win32_Foundation")]
13563 impl ::std::fmt::Debug for IPSEC_TRANSPORT_POLICY0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13564     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13565         fmt.debug_struct("IPSEC_TRANSPORT_POLICY0")
13566             .field("numIpsecProposals", &self.numIpsecProposals)
13567             .field("ipsecProposals", &self.ipsecProposals)
13568             .field("flags", &self.flags)
13569             .field("ndAllowClearTimeoutSeconds", &self.ndAllowClearTimeoutSeconds)
13570             .field("saIdleTimeout", &self.saIdleTimeout)
13571             .field("emPolicy", &self.emPolicy)
13572             .finish()
13573     }
13574 }
13575 #[cfg(feature = "Win32_Foundation")]
13576 impl ::std::cmp::PartialEq for IPSEC_TRANSPORT_POLICY0 {
eq(&self, other: &Self) -> bool13577     fn eq(&self, other: &Self) -> bool {
13578         self.numIpsecProposals == other.numIpsecProposals && self.ipsecProposals == other.ipsecProposals && self.flags == other.flags && self.ndAllowClearTimeoutSeconds == other.ndAllowClearTimeoutSeconds && self.saIdleTimeout == other.saIdleTimeout && self.emPolicy == other.emPolicy
13579     }
13580 }
13581 #[cfg(feature = "Win32_Foundation")]
13582 impl ::std::cmp::Eq for IPSEC_TRANSPORT_POLICY0 {}
13583 #[cfg(feature = "Win32_Foundation")]
13584 unsafe impl ::windows::runtime::Abi for IPSEC_TRANSPORT_POLICY0 {
13585     type Abi = Self;
13586     type DefaultType = Self;
13587 }
13588 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13589 #[repr(C)]
13590 #[cfg(feature = "Win32_Foundation")]
13591 pub struct IPSEC_TRANSPORT_POLICY1 {
13592     pub numIpsecProposals: u32,
13593     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
13594     pub flags: IPSEC_POLICY_FLAG,
13595     pub ndAllowClearTimeoutSeconds: u32,
13596     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
13597     pub emPolicy: *mut IKEEXT_EM_POLICY1,
13598 }
13599 #[cfg(feature = "Win32_Foundation")]
13600 impl IPSEC_TRANSPORT_POLICY1 {}
13601 #[cfg(feature = "Win32_Foundation")]
13602 impl ::std::default::Default for IPSEC_TRANSPORT_POLICY1 {
default() -> Self13603     fn default() -> Self {
13604         unsafe { ::std::mem::zeroed() }
13605     }
13606 }
13607 #[cfg(feature = "Win32_Foundation")]
13608 impl ::std::fmt::Debug for IPSEC_TRANSPORT_POLICY1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13609     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13610         fmt.debug_struct("IPSEC_TRANSPORT_POLICY1")
13611             .field("numIpsecProposals", &self.numIpsecProposals)
13612             .field("ipsecProposals", &self.ipsecProposals)
13613             .field("flags", &self.flags)
13614             .field("ndAllowClearTimeoutSeconds", &self.ndAllowClearTimeoutSeconds)
13615             .field("saIdleTimeout", &self.saIdleTimeout)
13616             .field("emPolicy", &self.emPolicy)
13617             .finish()
13618     }
13619 }
13620 #[cfg(feature = "Win32_Foundation")]
13621 impl ::std::cmp::PartialEq for IPSEC_TRANSPORT_POLICY1 {
eq(&self, other: &Self) -> bool13622     fn eq(&self, other: &Self) -> bool {
13623         self.numIpsecProposals == other.numIpsecProposals && self.ipsecProposals == other.ipsecProposals && self.flags == other.flags && self.ndAllowClearTimeoutSeconds == other.ndAllowClearTimeoutSeconds && self.saIdleTimeout == other.saIdleTimeout && self.emPolicy == other.emPolicy
13624     }
13625 }
13626 #[cfg(feature = "Win32_Foundation")]
13627 impl ::std::cmp::Eq for IPSEC_TRANSPORT_POLICY1 {}
13628 #[cfg(feature = "Win32_Foundation")]
13629 unsafe impl ::windows::runtime::Abi for IPSEC_TRANSPORT_POLICY1 {
13630     type Abi = Self;
13631     type DefaultType = Self;
13632 }
13633 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13634 #[repr(C)]
13635 #[cfg(feature = "Win32_Foundation")]
13636 pub struct IPSEC_TRANSPORT_POLICY2 {
13637     pub numIpsecProposals: u32,
13638     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
13639     pub flags: IPSEC_POLICY_FLAG,
13640     pub ndAllowClearTimeoutSeconds: u32,
13641     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
13642     pub emPolicy: *mut IKEEXT_EM_POLICY2,
13643 }
13644 #[cfg(feature = "Win32_Foundation")]
13645 impl IPSEC_TRANSPORT_POLICY2 {}
13646 #[cfg(feature = "Win32_Foundation")]
13647 impl ::std::default::Default for IPSEC_TRANSPORT_POLICY2 {
default() -> Self13648     fn default() -> Self {
13649         unsafe { ::std::mem::zeroed() }
13650     }
13651 }
13652 #[cfg(feature = "Win32_Foundation")]
13653 impl ::std::fmt::Debug for IPSEC_TRANSPORT_POLICY2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13654     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13655         fmt.debug_struct("IPSEC_TRANSPORT_POLICY2")
13656             .field("numIpsecProposals", &self.numIpsecProposals)
13657             .field("ipsecProposals", &self.ipsecProposals)
13658             .field("flags", &self.flags)
13659             .field("ndAllowClearTimeoutSeconds", &self.ndAllowClearTimeoutSeconds)
13660             .field("saIdleTimeout", &self.saIdleTimeout)
13661             .field("emPolicy", &self.emPolicy)
13662             .finish()
13663     }
13664 }
13665 #[cfg(feature = "Win32_Foundation")]
13666 impl ::std::cmp::PartialEq for IPSEC_TRANSPORT_POLICY2 {
eq(&self, other: &Self) -> bool13667     fn eq(&self, other: &Self) -> bool {
13668         self.numIpsecProposals == other.numIpsecProposals && self.ipsecProposals == other.ipsecProposals && self.flags == other.flags && self.ndAllowClearTimeoutSeconds == other.ndAllowClearTimeoutSeconds && self.saIdleTimeout == other.saIdleTimeout && self.emPolicy == other.emPolicy
13669     }
13670 }
13671 #[cfg(feature = "Win32_Foundation")]
13672 impl ::std::cmp::Eq for IPSEC_TRANSPORT_POLICY2 {}
13673 #[cfg(feature = "Win32_Foundation")]
13674 unsafe impl ::windows::runtime::Abi for IPSEC_TRANSPORT_POLICY2 {
13675     type Abi = Self;
13676     type DefaultType = Self;
13677 }
13678 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13679 #[repr(C)]
13680 pub struct IPSEC_TUNNEL_ENDPOINT0 {
13681     pub ipVersion: FWP_IP_VERSION,
13682     pub Anonymous: IPSEC_TUNNEL_ENDPOINT0_0,
13683 }
13684 impl IPSEC_TUNNEL_ENDPOINT0 {}
13685 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINT0 {
default() -> Self13686     fn default() -> Self {
13687         unsafe { ::std::mem::zeroed() }
13688     }
13689 }
13690 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINT0 {
eq(&self, _other: &Self) -> bool13691     fn eq(&self, _other: &Self) -> bool {
13692         unimplemented!()
13693     }
13694 }
13695 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINT0 {}
13696 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINT0 {
13697     type Abi = Self;
13698     type DefaultType = Self;
13699 }
13700 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13701 #[repr(C)]
13702 pub union IPSEC_TUNNEL_ENDPOINT0_0 {
13703     pub v4Address: u32,
13704     pub v6Address: [u8; 16],
13705 }
13706 impl IPSEC_TUNNEL_ENDPOINT0_0 {}
13707 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINT0_0 {
default() -> Self13708     fn default() -> Self {
13709         unsafe { ::std::mem::zeroed() }
13710     }
13711 }
13712 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINT0_0 {
eq(&self, _other: &Self) -> bool13713     fn eq(&self, _other: &Self) -> bool {
13714         unimplemented!()
13715     }
13716 }
13717 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINT0_0 {}
13718 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINT0_0 {
13719     type Abi = Self;
13720     type DefaultType = Self;
13721 }
13722 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13723 #[repr(C)]
13724 pub struct IPSEC_TUNNEL_ENDPOINTS0 {
13725     pub ipVersion: FWP_IP_VERSION,
13726     pub Anonymous1: IPSEC_TUNNEL_ENDPOINTS0_0,
13727     pub Anonymous2: IPSEC_TUNNEL_ENDPOINTS0_1,
13728 }
13729 impl IPSEC_TUNNEL_ENDPOINTS0 {}
13730 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS0 {
default() -> Self13731     fn default() -> Self {
13732         unsafe { ::std::mem::zeroed() }
13733     }
13734 }
13735 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS0 {
eq(&self, _other: &Self) -> bool13736     fn eq(&self, _other: &Self) -> bool {
13737         unimplemented!()
13738     }
13739 }
13740 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS0 {}
13741 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS0 {
13742     type Abi = Self;
13743     type DefaultType = Self;
13744 }
13745 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13746 #[repr(C)]
13747 pub union IPSEC_TUNNEL_ENDPOINTS0_0 {
13748     pub localV4Address: u32,
13749     pub localV6Address: [u8; 16],
13750 }
13751 impl IPSEC_TUNNEL_ENDPOINTS0_0 {}
13752 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS0_0 {
default() -> Self13753     fn default() -> Self {
13754         unsafe { ::std::mem::zeroed() }
13755     }
13756 }
13757 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS0_0 {
eq(&self, _other: &Self) -> bool13758     fn eq(&self, _other: &Self) -> bool {
13759         unimplemented!()
13760     }
13761 }
13762 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS0_0 {}
13763 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS0_0 {
13764     type Abi = Self;
13765     type DefaultType = Self;
13766 }
13767 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13768 #[repr(C)]
13769 pub union IPSEC_TUNNEL_ENDPOINTS0_1 {
13770     pub remoteV4Address: u32,
13771     pub remoteV6Address: [u8; 16],
13772 }
13773 impl IPSEC_TUNNEL_ENDPOINTS0_1 {}
13774 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS0_1 {
default() -> Self13775     fn default() -> Self {
13776         unsafe { ::std::mem::zeroed() }
13777     }
13778 }
13779 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS0_1 {
eq(&self, _other: &Self) -> bool13780     fn eq(&self, _other: &Self) -> bool {
13781         unimplemented!()
13782     }
13783 }
13784 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS0_1 {}
13785 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS0_1 {
13786     type Abi = Self;
13787     type DefaultType = Self;
13788 }
13789 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13790 #[repr(C)]
13791 pub struct IPSEC_TUNNEL_ENDPOINTS1 {
13792     pub ipVersion: FWP_IP_VERSION,
13793     pub Anonymous1: IPSEC_TUNNEL_ENDPOINTS1_0,
13794     pub Anonymous2: IPSEC_TUNNEL_ENDPOINTS1_1,
13795     pub localIfLuid: u64,
13796 }
13797 impl IPSEC_TUNNEL_ENDPOINTS1 {}
13798 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS1 {
default() -> Self13799     fn default() -> Self {
13800         unsafe { ::std::mem::zeroed() }
13801     }
13802 }
13803 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS1 {
eq(&self, _other: &Self) -> bool13804     fn eq(&self, _other: &Self) -> bool {
13805         unimplemented!()
13806     }
13807 }
13808 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS1 {}
13809 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS1 {
13810     type Abi = Self;
13811     type DefaultType = Self;
13812 }
13813 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13814 #[repr(C)]
13815 pub union IPSEC_TUNNEL_ENDPOINTS1_0 {
13816     pub localV4Address: u32,
13817     pub localV6Address: [u8; 16],
13818 }
13819 impl IPSEC_TUNNEL_ENDPOINTS1_0 {}
13820 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS1_0 {
default() -> Self13821     fn default() -> Self {
13822         unsafe { ::std::mem::zeroed() }
13823     }
13824 }
13825 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS1_0 {
eq(&self, _other: &Self) -> bool13826     fn eq(&self, _other: &Self) -> bool {
13827         unimplemented!()
13828     }
13829 }
13830 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS1_0 {}
13831 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS1_0 {
13832     type Abi = Self;
13833     type DefaultType = Self;
13834 }
13835 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13836 #[repr(C)]
13837 pub union IPSEC_TUNNEL_ENDPOINTS1_1 {
13838     pub remoteV4Address: u32,
13839     pub remoteV6Address: [u8; 16],
13840 }
13841 impl IPSEC_TUNNEL_ENDPOINTS1_1 {}
13842 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS1_1 {
default() -> Self13843     fn default() -> Self {
13844         unsafe { ::std::mem::zeroed() }
13845     }
13846 }
13847 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS1_1 {
eq(&self, _other: &Self) -> bool13848     fn eq(&self, _other: &Self) -> bool {
13849         unimplemented!()
13850     }
13851 }
13852 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS1_1 {}
13853 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS1_1 {
13854     type Abi = Self;
13855     type DefaultType = Self;
13856 }
13857 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13858 #[repr(C)]
13859 #[cfg(feature = "Win32_Foundation")]
13860 pub struct IPSEC_TUNNEL_ENDPOINTS2 {
13861     pub ipVersion: FWP_IP_VERSION,
13862     pub Anonymous1: IPSEC_TUNNEL_ENDPOINTS2_0,
13863     pub Anonymous2: IPSEC_TUNNEL_ENDPOINTS2_1,
13864     pub localIfLuid: u64,
13865     pub remoteFqdn: super::super::Foundation::PWSTR,
13866     pub numAddresses: u32,
13867     pub remoteAddresses: *mut IPSEC_TUNNEL_ENDPOINT0,
13868 }
13869 #[cfg(feature = "Win32_Foundation")]
13870 impl IPSEC_TUNNEL_ENDPOINTS2 {}
13871 #[cfg(feature = "Win32_Foundation")]
13872 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS2 {
default() -> Self13873     fn default() -> Self {
13874         unsafe { ::std::mem::zeroed() }
13875     }
13876 }
13877 #[cfg(feature = "Win32_Foundation")]
13878 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS2 {
eq(&self, _other: &Self) -> bool13879     fn eq(&self, _other: &Self) -> bool {
13880         unimplemented!()
13881     }
13882 }
13883 #[cfg(feature = "Win32_Foundation")]
13884 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS2 {}
13885 #[cfg(feature = "Win32_Foundation")]
13886 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS2 {
13887     type Abi = Self;
13888     type DefaultType = Self;
13889 }
13890 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13891 #[repr(C)]
13892 pub union IPSEC_TUNNEL_ENDPOINTS2_0 {
13893     pub localV4Address: u32,
13894     pub localV6Address: [u8; 16],
13895 }
13896 impl IPSEC_TUNNEL_ENDPOINTS2_0 {}
13897 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS2_0 {
default() -> Self13898     fn default() -> Self {
13899         unsafe { ::std::mem::zeroed() }
13900     }
13901 }
13902 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS2_0 {
eq(&self, _other: &Self) -> bool13903     fn eq(&self, _other: &Self) -> bool {
13904         unimplemented!()
13905     }
13906 }
13907 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS2_0 {}
13908 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS2_0 {
13909     type Abi = Self;
13910     type DefaultType = Self;
13911 }
13912 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13913 #[repr(C)]
13914 pub union IPSEC_TUNNEL_ENDPOINTS2_1 {
13915     pub remoteV4Address: u32,
13916     pub remoteV6Address: [u8; 16],
13917 }
13918 impl IPSEC_TUNNEL_ENDPOINTS2_1 {}
13919 impl ::std::default::Default for IPSEC_TUNNEL_ENDPOINTS2_1 {
default() -> Self13920     fn default() -> Self {
13921         unsafe { ::std::mem::zeroed() }
13922     }
13923 }
13924 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_ENDPOINTS2_1 {
eq(&self, _other: &Self) -> bool13925     fn eq(&self, _other: &Self) -> bool {
13926         unimplemented!()
13927     }
13928 }
13929 impl ::std::cmp::Eq for IPSEC_TUNNEL_ENDPOINTS2_1 {}
13930 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_ENDPOINTS2_1 {
13931     type Abi = Self;
13932     type DefaultType = Self;
13933 }
13934 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13935 #[repr(C)]
13936 #[cfg(feature = "Win32_Foundation")]
13937 pub struct IPSEC_TUNNEL_POLICY0 {
13938     pub flags: IPSEC_POLICY_FLAG,
13939     pub numIpsecProposals: u32,
13940     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
13941     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS0,
13942     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
13943     pub emPolicy: *mut IKEEXT_EM_POLICY0,
13944 }
13945 #[cfg(feature = "Win32_Foundation")]
13946 impl IPSEC_TUNNEL_POLICY0 {}
13947 #[cfg(feature = "Win32_Foundation")]
13948 impl ::std::default::Default for IPSEC_TUNNEL_POLICY0 {
default() -> Self13949     fn default() -> Self {
13950         unsafe { ::std::mem::zeroed() }
13951     }
13952 }
13953 #[cfg(feature = "Win32_Foundation")]
13954 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_POLICY0 {
eq(&self, _other: &Self) -> bool13955     fn eq(&self, _other: &Self) -> bool {
13956         unimplemented!()
13957     }
13958 }
13959 #[cfg(feature = "Win32_Foundation")]
13960 impl ::std::cmp::Eq for IPSEC_TUNNEL_POLICY0 {}
13961 #[cfg(feature = "Win32_Foundation")]
13962 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_POLICY0 {
13963     type Abi = Self;
13964     type DefaultType = Self;
13965 }
13966 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13967 #[repr(C)]
13968 #[cfg(feature = "Win32_Foundation")]
13969 pub struct IPSEC_TUNNEL_POLICY1 {
13970     pub flags: IPSEC_POLICY_FLAG,
13971     pub numIpsecProposals: u32,
13972     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
13973     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS1,
13974     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
13975     pub emPolicy: *mut IKEEXT_EM_POLICY1,
13976 }
13977 #[cfg(feature = "Win32_Foundation")]
13978 impl IPSEC_TUNNEL_POLICY1 {}
13979 #[cfg(feature = "Win32_Foundation")]
13980 impl ::std::default::Default for IPSEC_TUNNEL_POLICY1 {
default() -> Self13981     fn default() -> Self {
13982         unsafe { ::std::mem::zeroed() }
13983     }
13984 }
13985 #[cfg(feature = "Win32_Foundation")]
13986 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_POLICY1 {
eq(&self, _other: &Self) -> bool13987     fn eq(&self, _other: &Self) -> bool {
13988         unimplemented!()
13989     }
13990 }
13991 #[cfg(feature = "Win32_Foundation")]
13992 impl ::std::cmp::Eq for IPSEC_TUNNEL_POLICY1 {}
13993 #[cfg(feature = "Win32_Foundation")]
13994 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_POLICY1 {
13995     type Abi = Self;
13996     type DefaultType = Self;
13997 }
13998 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13999 #[repr(C)]
14000 #[cfg(feature = "Win32_Foundation")]
14001 pub struct IPSEC_TUNNEL_POLICY2 {
14002     pub flags: IPSEC_POLICY_FLAG,
14003     pub numIpsecProposals: u32,
14004     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
14005     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS2,
14006     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
14007     pub emPolicy: *mut IKEEXT_EM_POLICY2,
14008     pub fwdPathSaLifetime: u32,
14009 }
14010 #[cfg(feature = "Win32_Foundation")]
14011 impl IPSEC_TUNNEL_POLICY2 {}
14012 #[cfg(feature = "Win32_Foundation")]
14013 impl ::std::default::Default for IPSEC_TUNNEL_POLICY2 {
default() -> Self14014     fn default() -> Self {
14015         unsafe { ::std::mem::zeroed() }
14016     }
14017 }
14018 #[cfg(feature = "Win32_Foundation")]
14019 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_POLICY2 {
eq(&self, _other: &Self) -> bool14020     fn eq(&self, _other: &Self) -> bool {
14021         unimplemented!()
14022     }
14023 }
14024 #[cfg(feature = "Win32_Foundation")]
14025 impl ::std::cmp::Eq for IPSEC_TUNNEL_POLICY2 {}
14026 #[cfg(feature = "Win32_Foundation")]
14027 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_POLICY2 {
14028     type Abi = Self;
14029     type DefaultType = Self;
14030 }
14031 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14032 #[repr(C)]
14033 #[cfg(feature = "Win32_Foundation")]
14034 pub struct IPSEC_TUNNEL_POLICY3_ {
14035     pub flags: u32,
14036     pub numIpsecProposals: u32,
14037     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
14038     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS2,
14039     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
14040     pub emPolicy: *mut IKEEXT_EM_POLICY2,
14041     pub fwdPathSaLifetime: u32,
14042     pub compartmentId: u32,
14043     pub numTrafficSelectorPolicy: u32,
14044     pub trafficSelectorPolicies: *mut IPSEC_TRAFFIC_SELECTOR_POLICY0_,
14045 }
14046 #[cfg(feature = "Win32_Foundation")]
14047 impl IPSEC_TUNNEL_POLICY3_ {}
14048 #[cfg(feature = "Win32_Foundation")]
14049 impl ::std::default::Default for IPSEC_TUNNEL_POLICY3_ {
default() -> Self14050     fn default() -> Self {
14051         unsafe { ::std::mem::zeroed() }
14052     }
14053 }
14054 #[cfg(feature = "Win32_Foundation")]
14055 impl ::std::cmp::PartialEq for IPSEC_TUNNEL_POLICY3_ {
eq(&self, _other: &Self) -> bool14056     fn eq(&self, _other: &Self) -> bool {
14057         unimplemented!()
14058     }
14059 }
14060 #[cfg(feature = "Win32_Foundation")]
14061 impl ::std::cmp::Eq for IPSEC_TUNNEL_POLICY3_ {}
14062 #[cfg(feature = "Win32_Foundation")]
14063 unsafe impl ::windows::runtime::Abi for IPSEC_TUNNEL_POLICY3_ {
14064     type Abi = Self;
14065     type DefaultType = Self;
14066 }
14067 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14068 #[repr(C)]
14069 pub struct IPSEC_V4_UDP_ENCAPSULATION0 {
14070     pub localUdpEncapPort: u16,
14071     pub remoteUdpEncapPort: u16,
14072 }
14073 impl IPSEC_V4_UDP_ENCAPSULATION0 {}
14074 impl ::std::default::Default for IPSEC_V4_UDP_ENCAPSULATION0 {
default() -> Self14075     fn default() -> Self {
14076         unsafe { ::std::mem::zeroed() }
14077     }
14078 }
14079 impl ::std::fmt::Debug for IPSEC_V4_UDP_ENCAPSULATION0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14080     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14081         fmt.debug_struct("IPSEC_V4_UDP_ENCAPSULATION0").field("localUdpEncapPort", &self.localUdpEncapPort).field("remoteUdpEncapPort", &self.remoteUdpEncapPort).finish()
14082     }
14083 }
14084 impl ::std::cmp::PartialEq for IPSEC_V4_UDP_ENCAPSULATION0 {
eq(&self, other: &Self) -> bool14085     fn eq(&self, other: &Self) -> bool {
14086         self.localUdpEncapPort == other.localUdpEncapPort && self.remoteUdpEncapPort == other.remoteUdpEncapPort
14087     }
14088 }
14089 impl ::std::cmp::Eq for IPSEC_V4_UDP_ENCAPSULATION0 {}
14090 unsafe impl ::windows::runtime::Abi for IPSEC_V4_UDP_ENCAPSULATION0 {
14091     type Abi = Self;
14092     type DefaultType = Self;
14093 }
14094 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14095 #[repr(C)]
14096 pub struct IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
14097     pub virtualIfTunnelId: u64,
14098     pub trafficSelectorId: u64,
14099 }
14100 impl IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {}
14101 impl ::std::default::Default for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
default() -> Self14102     fn default() -> Self {
14103         unsafe { ::std::mem::zeroed() }
14104     }
14105 }
14106 impl ::std::fmt::Debug for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14107     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14108         fmt.debug_struct("IPSEC_VIRTUAL_IF_TUNNEL_INFO0").field("virtualIfTunnelId", &self.virtualIfTunnelId).field("trafficSelectorId", &self.trafficSelectorId).finish()
14109     }
14110 }
14111 impl ::std::cmp::PartialEq for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
eq(&self, other: &Self) -> bool14112     fn eq(&self, other: &Self) -> bool {
14113         self.virtualIfTunnelId == other.virtualIfTunnelId && self.trafficSelectorId == other.trafficSelectorId
14114     }
14115 }
14116 impl ::std::cmp::Eq for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {}
14117 unsafe impl ::windows::runtime::Abi for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
14118     type Abi = Self;
14119     type DefaultType = Self;
14120 }
14121 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14122 #[repr(C, packed(1))]
14123 pub struct IPTLS_METADATA {
14124     pub SequenceNumber: u64,
14125 }
14126 impl IPTLS_METADATA {}
14127 impl ::std::default::Default for IPTLS_METADATA {
default() -> Self14128     fn default() -> Self {
14129         unsafe { ::std::mem::zeroed() }
14130     }
14131 }
14132 impl ::std::cmp::PartialEq for IPTLS_METADATA {
eq(&self, _other: &Self) -> bool14133     fn eq(&self, _other: &Self) -> bool {
14134         unimplemented!()
14135     }
14136 }
14137 impl ::std::cmp::Eq for IPTLS_METADATA {}
14138 unsafe impl ::windows::runtime::Abi for IPTLS_METADATA {
14139     type Abi = Self;
14140     type DefaultType = Self;
14141 }
14142 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14143 #[repr(C)]
14144 #[cfg(feature = "Win32_Networking_WinSock")]
14145 pub struct IPV4_HEADER {
14146     pub Anonymous1: IPV4_HEADER_0,
14147     pub Anonymous2: IPV4_HEADER_1,
14148     pub TotalLength: u16,
14149     pub Identification: u16,
14150     pub Anonymous3: IPV4_HEADER_2,
14151     pub TimeToLive: u8,
14152     pub Protocol: u8,
14153     pub HeaderChecksum: u16,
14154     pub SourceAddress: super::super::Networking::WinSock::IN_ADDR,
14155     pub DestinationAddress: super::super::Networking::WinSock::IN_ADDR,
14156 }
14157 #[cfg(feature = "Win32_Networking_WinSock")]
14158 impl IPV4_HEADER {}
14159 #[cfg(feature = "Win32_Networking_WinSock")]
14160 impl ::std::default::Default for IPV4_HEADER {
default() -> Self14161     fn default() -> Self {
14162         unsafe { ::std::mem::zeroed() }
14163     }
14164 }
14165 #[cfg(feature = "Win32_Networking_WinSock")]
14166 impl ::std::cmp::PartialEq for IPV4_HEADER {
eq(&self, _other: &Self) -> bool14167     fn eq(&self, _other: &Self) -> bool {
14168         unimplemented!()
14169     }
14170 }
14171 #[cfg(feature = "Win32_Networking_WinSock")]
14172 impl ::std::cmp::Eq for IPV4_HEADER {}
14173 #[cfg(feature = "Win32_Networking_WinSock")]
14174 unsafe impl ::windows::runtime::Abi for IPV4_HEADER {
14175     type Abi = Self;
14176     type DefaultType = Self;
14177 }
14178 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14179 #[repr(C)]
14180 pub union IPV4_HEADER_0 {
14181     pub VersionAndHeaderLength: u8,
14182     pub Anonymous: IPV4_HEADER_0_0,
14183 }
14184 impl IPV4_HEADER_0 {}
14185 impl ::std::default::Default for IPV4_HEADER_0 {
default() -> Self14186     fn default() -> Self {
14187         unsafe { ::std::mem::zeroed() }
14188     }
14189 }
14190 impl ::std::cmp::PartialEq for IPV4_HEADER_0 {
eq(&self, _other: &Self) -> bool14191     fn eq(&self, _other: &Self) -> bool {
14192         unimplemented!()
14193     }
14194 }
14195 impl ::std::cmp::Eq for IPV4_HEADER_0 {}
14196 unsafe impl ::windows::runtime::Abi for IPV4_HEADER_0 {
14197     type Abi = Self;
14198     type DefaultType = Self;
14199 }
14200 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14201 #[repr(C)]
14202 pub struct IPV4_HEADER_0_0 {
14203     pub _bitfield: u8,
14204 }
14205 impl IPV4_HEADER_0_0 {}
14206 impl ::std::default::Default for IPV4_HEADER_0_0 {
default() -> Self14207     fn default() -> Self {
14208         unsafe { ::std::mem::zeroed() }
14209     }
14210 }
14211 impl ::std::fmt::Debug for IPV4_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14212     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14213         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14214     }
14215 }
14216 impl ::std::cmp::PartialEq for IPV4_HEADER_0_0 {
eq(&self, other: &Self) -> bool14217     fn eq(&self, other: &Self) -> bool {
14218         self._bitfield == other._bitfield
14219     }
14220 }
14221 impl ::std::cmp::Eq for IPV4_HEADER_0_0 {}
14222 unsafe impl ::windows::runtime::Abi for IPV4_HEADER_0_0 {
14223     type Abi = Self;
14224     type DefaultType = Self;
14225 }
14226 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14227 #[repr(C)]
14228 pub union IPV4_HEADER_1 {
14229     pub TypeOfServiceAndEcnField: u8,
14230     pub Anonymous: IPV4_HEADER_1_0,
14231 }
14232 impl IPV4_HEADER_1 {}
14233 impl ::std::default::Default for IPV4_HEADER_1 {
default() -> Self14234     fn default() -> Self {
14235         unsafe { ::std::mem::zeroed() }
14236     }
14237 }
14238 impl ::std::cmp::PartialEq for IPV4_HEADER_1 {
eq(&self, _other: &Self) -> bool14239     fn eq(&self, _other: &Self) -> bool {
14240         unimplemented!()
14241     }
14242 }
14243 impl ::std::cmp::Eq for IPV4_HEADER_1 {}
14244 unsafe impl ::windows::runtime::Abi for IPV4_HEADER_1 {
14245     type Abi = Self;
14246     type DefaultType = Self;
14247 }
14248 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14249 #[repr(C)]
14250 pub struct IPV4_HEADER_1_0 {
14251     pub _bitfield: u8,
14252 }
14253 impl IPV4_HEADER_1_0 {}
14254 impl ::std::default::Default for IPV4_HEADER_1_0 {
default() -> Self14255     fn default() -> Self {
14256         unsafe { ::std::mem::zeroed() }
14257     }
14258 }
14259 impl ::std::fmt::Debug for IPV4_HEADER_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14260     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14261         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14262     }
14263 }
14264 impl ::std::cmp::PartialEq for IPV4_HEADER_1_0 {
eq(&self, other: &Self) -> bool14265     fn eq(&self, other: &Self) -> bool {
14266         self._bitfield == other._bitfield
14267     }
14268 }
14269 impl ::std::cmp::Eq for IPV4_HEADER_1_0 {}
14270 unsafe impl ::windows::runtime::Abi for IPV4_HEADER_1_0 {
14271     type Abi = Self;
14272     type DefaultType = Self;
14273 }
14274 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14275 #[repr(C)]
14276 pub union IPV4_HEADER_2 {
14277     pub FlagsAndOffset: u16,
14278     pub Anonymous: IPV4_HEADER_2_0,
14279 }
14280 impl IPV4_HEADER_2 {}
14281 impl ::std::default::Default for IPV4_HEADER_2 {
default() -> Self14282     fn default() -> Self {
14283         unsafe { ::std::mem::zeroed() }
14284     }
14285 }
14286 impl ::std::cmp::PartialEq for IPV4_HEADER_2 {
eq(&self, _other: &Self) -> bool14287     fn eq(&self, _other: &Self) -> bool {
14288         unimplemented!()
14289     }
14290 }
14291 impl ::std::cmp::Eq for IPV4_HEADER_2 {}
14292 unsafe impl ::windows::runtime::Abi for IPV4_HEADER_2 {
14293     type Abi = Self;
14294     type DefaultType = Self;
14295 }
14296 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14297 #[repr(C)]
14298 pub struct IPV4_HEADER_2_0 {
14299     pub _bitfield: u16,
14300 }
14301 impl IPV4_HEADER_2_0 {}
14302 impl ::std::default::Default for IPV4_HEADER_2_0 {
default() -> Self14303     fn default() -> Self {
14304         unsafe { ::std::mem::zeroed() }
14305     }
14306 }
14307 impl ::std::fmt::Debug for IPV4_HEADER_2_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14308     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14309         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14310     }
14311 }
14312 impl ::std::cmp::PartialEq for IPV4_HEADER_2_0 {
eq(&self, other: &Self) -> bool14313     fn eq(&self, other: &Self) -> bool {
14314         self._bitfield == other._bitfield
14315     }
14316 }
14317 impl ::std::cmp::Eq for IPV4_HEADER_2_0 {}
14318 unsafe impl ::windows::runtime::Abi for IPV4_HEADER_2_0 {
14319     type Abi = Self;
14320     type DefaultType = Self;
14321 }
14322 pub const IPV4_MAX_MINIMUM_MTU: u32 = 576u32;
14323 pub const IPV4_MINIMUM_MTU: u32 = 576u32;
14324 pub const IPV4_MIN_MINIMUM_MTU: u32 = 352u32;
14325 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14326 #[repr(C)]
14327 pub struct IPV4_OPTION_HEADER {
14328     pub Anonymous: IPV4_OPTION_HEADER_0,
14329     pub OptionLength: u8,
14330 }
14331 impl IPV4_OPTION_HEADER {}
14332 impl ::std::default::Default for IPV4_OPTION_HEADER {
default() -> Self14333     fn default() -> Self {
14334         unsafe { ::std::mem::zeroed() }
14335     }
14336 }
14337 impl ::std::cmp::PartialEq for IPV4_OPTION_HEADER {
eq(&self, _other: &Self) -> bool14338     fn eq(&self, _other: &Self) -> bool {
14339         unimplemented!()
14340     }
14341 }
14342 impl ::std::cmp::Eq for IPV4_OPTION_HEADER {}
14343 unsafe impl ::windows::runtime::Abi for IPV4_OPTION_HEADER {
14344     type Abi = Self;
14345     type DefaultType = Self;
14346 }
14347 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14348 #[repr(C)]
14349 pub union IPV4_OPTION_HEADER_0 {
14350     pub OptionType: u8,
14351     pub Anonymous: IPV4_OPTION_HEADER_0_0,
14352 }
14353 impl IPV4_OPTION_HEADER_0 {}
14354 impl ::std::default::Default for IPV4_OPTION_HEADER_0 {
default() -> Self14355     fn default() -> Self {
14356         unsafe { ::std::mem::zeroed() }
14357     }
14358 }
14359 impl ::std::cmp::PartialEq for IPV4_OPTION_HEADER_0 {
eq(&self, _other: &Self) -> bool14360     fn eq(&self, _other: &Self) -> bool {
14361         unimplemented!()
14362     }
14363 }
14364 impl ::std::cmp::Eq for IPV4_OPTION_HEADER_0 {}
14365 unsafe impl ::windows::runtime::Abi for IPV4_OPTION_HEADER_0 {
14366     type Abi = Self;
14367     type DefaultType = Self;
14368 }
14369 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14370 #[repr(C)]
14371 pub struct IPV4_OPTION_HEADER_0_0 {
14372     pub _bitfield: u8,
14373 }
14374 impl IPV4_OPTION_HEADER_0_0 {}
14375 impl ::std::default::Default for IPV4_OPTION_HEADER_0_0 {
default() -> Self14376     fn default() -> Self {
14377         unsafe { ::std::mem::zeroed() }
14378     }
14379 }
14380 impl ::std::fmt::Debug for IPV4_OPTION_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14381     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14382         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14383     }
14384 }
14385 impl ::std::cmp::PartialEq for IPV4_OPTION_HEADER_0_0 {
eq(&self, other: &Self) -> bool14386     fn eq(&self, other: &Self) -> bool {
14387         self._bitfield == other._bitfield
14388     }
14389 }
14390 impl ::std::cmp::Eq for IPV4_OPTION_HEADER_0_0 {}
14391 unsafe impl ::windows::runtime::Abi for IPV4_OPTION_HEADER_0_0 {
14392     type Abi = Self;
14393     type DefaultType = Self;
14394 }
14395 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14396 #[repr(transparent)]
14397 pub struct IPV4_OPTION_TYPE(pub i32);
14398 pub const IP_OPT_EOL: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(0i32);
14399 pub const IP_OPT_NOP: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(1i32);
14400 pub const IP_OPT_SECURITY: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(130i32);
14401 pub const IP_OPT_LSRR: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(131i32);
14402 pub const IP_OPT_TS: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(68i32);
14403 pub const IP_OPT_RR: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(7i32);
14404 pub const IP_OPT_SSRR: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(137i32);
14405 pub const IP_OPT_SID: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(136i32);
14406 pub const IP_OPT_ROUTER_ALERT: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(148i32);
14407 pub const IP_OPT_MULTIDEST: IPV4_OPTION_TYPE = IPV4_OPTION_TYPE(149i32);
14408 impl ::std::convert::From<i32> for IPV4_OPTION_TYPE {
from(value: i32) -> Self14409     fn from(value: i32) -> Self {
14410         Self(value)
14411     }
14412 }
14413 unsafe impl ::windows::runtime::Abi for IPV4_OPTION_TYPE {
14414     type Abi = Self;
14415     type DefaultType = Self;
14416 }
14417 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14418 #[repr(C)]
14419 pub struct IPV4_ROUTING_HEADER {
14420     pub OptionHeader: IPV4_OPTION_HEADER,
14421     pub Pointer: u8,
14422 }
14423 impl IPV4_ROUTING_HEADER {}
14424 impl ::std::default::Default for IPV4_ROUTING_HEADER {
default() -> Self14425     fn default() -> Self {
14426         unsafe { ::std::mem::zeroed() }
14427     }
14428 }
14429 impl ::std::cmp::PartialEq for IPV4_ROUTING_HEADER {
eq(&self, _other: &Self) -> bool14430     fn eq(&self, _other: &Self) -> bool {
14431         unimplemented!()
14432     }
14433 }
14434 impl ::std::cmp::Eq for IPV4_ROUTING_HEADER {}
14435 unsafe impl ::windows::runtime::Abi for IPV4_ROUTING_HEADER {
14436     type Abi = Self;
14437     type DefaultType = Self;
14438 }
14439 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14440 #[repr(C)]
14441 pub struct IPV4_TIMESTAMP_OPTION {
14442     pub OptionHeader: IPV4_OPTION_HEADER,
14443     pub Pointer: u8,
14444     pub Anonymous: IPV4_TIMESTAMP_OPTION_0,
14445 }
14446 impl IPV4_TIMESTAMP_OPTION {}
14447 impl ::std::default::Default for IPV4_TIMESTAMP_OPTION {
default() -> Self14448     fn default() -> Self {
14449         unsafe { ::std::mem::zeroed() }
14450     }
14451 }
14452 impl ::std::cmp::PartialEq for IPV4_TIMESTAMP_OPTION {
eq(&self, _other: &Self) -> bool14453     fn eq(&self, _other: &Self) -> bool {
14454         unimplemented!()
14455     }
14456 }
14457 impl ::std::cmp::Eq for IPV4_TIMESTAMP_OPTION {}
14458 unsafe impl ::windows::runtime::Abi for IPV4_TIMESTAMP_OPTION {
14459     type Abi = Self;
14460     type DefaultType = Self;
14461 }
14462 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14463 #[repr(C)]
14464 pub union IPV4_TIMESTAMP_OPTION_0 {
14465     pub FlagsOverflow: u8,
14466     pub Anonymous: IPV4_TIMESTAMP_OPTION_0_0,
14467 }
14468 impl IPV4_TIMESTAMP_OPTION_0 {}
14469 impl ::std::default::Default for IPV4_TIMESTAMP_OPTION_0 {
default() -> Self14470     fn default() -> Self {
14471         unsafe { ::std::mem::zeroed() }
14472     }
14473 }
14474 impl ::std::cmp::PartialEq for IPV4_TIMESTAMP_OPTION_0 {
eq(&self, _other: &Self) -> bool14475     fn eq(&self, _other: &Self) -> bool {
14476         unimplemented!()
14477     }
14478 }
14479 impl ::std::cmp::Eq for IPV4_TIMESTAMP_OPTION_0 {}
14480 unsafe impl ::windows::runtime::Abi for IPV4_TIMESTAMP_OPTION_0 {
14481     type Abi = Self;
14482     type DefaultType = Self;
14483 }
14484 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14485 #[repr(C)]
14486 pub struct IPV4_TIMESTAMP_OPTION_0_0 {
14487     pub _bitfield: u8,
14488 }
14489 impl IPV4_TIMESTAMP_OPTION_0_0 {}
14490 impl ::std::default::Default for IPV4_TIMESTAMP_OPTION_0_0 {
default() -> Self14491     fn default() -> Self {
14492         unsafe { ::std::mem::zeroed() }
14493     }
14494 }
14495 impl ::std::fmt::Debug for IPV4_TIMESTAMP_OPTION_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14496     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14497         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14498     }
14499 }
14500 impl ::std::cmp::PartialEq for IPV4_TIMESTAMP_OPTION_0_0 {
eq(&self, other: &Self) -> bool14501     fn eq(&self, other: &Self) -> bool {
14502         self._bitfield == other._bitfield
14503     }
14504 }
14505 impl ::std::cmp::Eq for IPV4_TIMESTAMP_OPTION_0_0 {}
14506 unsafe impl ::windows::runtime::Abi for IPV4_TIMESTAMP_OPTION_0_0 {
14507     type Abi = Self;
14508     type DefaultType = Self;
14509 }
14510 pub const IPV4_VERSION: u32 = 4u32;
14511 pub const IPV6_ECN_MASK: u32 = 12288u32;
14512 pub const IPV6_ECN_SHIFT: u32 = 12u32;
14513 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14514 #[repr(C)]
14515 pub struct IPV6_EXTENSION_HEADER {
14516     pub NextHeader: u8,
14517     pub Length: u8,
14518 }
14519 impl IPV6_EXTENSION_HEADER {}
14520 impl ::std::default::Default for IPV6_EXTENSION_HEADER {
default() -> Self14521     fn default() -> Self {
14522         unsafe { ::std::mem::zeroed() }
14523     }
14524 }
14525 impl ::std::fmt::Debug for IPV6_EXTENSION_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14526     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14527         fmt.debug_struct("IPV6_EXTENSION_HEADER").field("NextHeader", &self.NextHeader).field("Length", &self.Length).finish()
14528     }
14529 }
14530 impl ::std::cmp::PartialEq for IPV6_EXTENSION_HEADER {
eq(&self, other: &Self) -> bool14531     fn eq(&self, other: &Self) -> bool {
14532         self.NextHeader == other.NextHeader && self.Length == other.Length
14533     }
14534 }
14535 impl ::std::cmp::Eq for IPV6_EXTENSION_HEADER {}
14536 unsafe impl ::windows::runtime::Abi for IPV6_EXTENSION_HEADER {
14537     type Abi = Self;
14538     type DefaultType = Self;
14539 }
14540 pub const IPV6_FLOW_LABEL_MASK: u32 = 4294905600u32;
14541 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14542 #[repr(C)]
14543 pub struct IPV6_FRAGMENT_HEADER {
14544     pub NextHeader: u8,
14545     pub Reserved: u8,
14546     pub Anonymous: IPV6_FRAGMENT_HEADER_0,
14547     pub Id: u32,
14548 }
14549 impl IPV6_FRAGMENT_HEADER {}
14550 impl ::std::default::Default for IPV6_FRAGMENT_HEADER {
default() -> Self14551     fn default() -> Self {
14552         unsafe { ::std::mem::zeroed() }
14553     }
14554 }
14555 impl ::std::cmp::PartialEq for IPV6_FRAGMENT_HEADER {
eq(&self, _other: &Self) -> bool14556     fn eq(&self, _other: &Self) -> bool {
14557         unimplemented!()
14558     }
14559 }
14560 impl ::std::cmp::Eq for IPV6_FRAGMENT_HEADER {}
14561 unsafe impl ::windows::runtime::Abi for IPV6_FRAGMENT_HEADER {
14562     type Abi = Self;
14563     type DefaultType = Self;
14564 }
14565 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14566 #[repr(C)]
14567 pub union IPV6_FRAGMENT_HEADER_0 {
14568     pub Anonymous: IPV6_FRAGMENT_HEADER_0_0,
14569     pub OffsetAndFlags: u16,
14570 }
14571 impl IPV6_FRAGMENT_HEADER_0 {}
14572 impl ::std::default::Default for IPV6_FRAGMENT_HEADER_0 {
default() -> Self14573     fn default() -> Self {
14574         unsafe { ::std::mem::zeroed() }
14575     }
14576 }
14577 impl ::std::cmp::PartialEq for IPV6_FRAGMENT_HEADER_0 {
eq(&self, _other: &Self) -> bool14578     fn eq(&self, _other: &Self) -> bool {
14579         unimplemented!()
14580     }
14581 }
14582 impl ::std::cmp::Eq for IPV6_FRAGMENT_HEADER_0 {}
14583 unsafe impl ::windows::runtime::Abi for IPV6_FRAGMENT_HEADER_0 {
14584     type Abi = Self;
14585     type DefaultType = Self;
14586 }
14587 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14588 #[repr(C)]
14589 pub struct IPV6_FRAGMENT_HEADER_0_0 {
14590     pub _bitfield: u16,
14591 }
14592 impl IPV6_FRAGMENT_HEADER_0_0 {}
14593 impl ::std::default::Default for IPV6_FRAGMENT_HEADER_0_0 {
default() -> Self14594     fn default() -> Self {
14595         unsafe { ::std::mem::zeroed() }
14596     }
14597 }
14598 impl ::std::fmt::Debug for IPV6_FRAGMENT_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14599     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14600         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14601     }
14602 }
14603 impl ::std::cmp::PartialEq for IPV6_FRAGMENT_HEADER_0_0 {
eq(&self, other: &Self) -> bool14604     fn eq(&self, other: &Self) -> bool {
14605         self._bitfield == other._bitfield
14606     }
14607 }
14608 impl ::std::cmp::Eq for IPV6_FRAGMENT_HEADER_0_0 {}
14609 unsafe impl ::windows::runtime::Abi for IPV6_FRAGMENT_HEADER_0_0 {
14610     type Abi = Self;
14611     type DefaultType = Self;
14612 }
14613 pub const IPV6_FULL_TRAFFIC_CLASS_MASK: u32 = 61455u32;
14614 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14615 #[repr(C)]
14616 #[cfg(feature = "Win32_Networking_WinSock")]
14617 pub struct IPV6_HEADER {
14618     pub Anonymous: IPV6_HEADER_0,
14619     pub PayloadLength: u16,
14620     pub NextHeader: u8,
14621     pub HopLimit: u8,
14622     pub SourceAddress: super::super::Networking::WinSock::IN6_ADDR,
14623     pub DestinationAddress: super::super::Networking::WinSock::IN6_ADDR,
14624 }
14625 #[cfg(feature = "Win32_Networking_WinSock")]
14626 impl IPV6_HEADER {}
14627 #[cfg(feature = "Win32_Networking_WinSock")]
14628 impl ::std::default::Default for IPV6_HEADER {
default() -> Self14629     fn default() -> Self {
14630         unsafe { ::std::mem::zeroed() }
14631     }
14632 }
14633 #[cfg(feature = "Win32_Networking_WinSock")]
14634 impl ::std::cmp::PartialEq for IPV6_HEADER {
eq(&self, _other: &Self) -> bool14635     fn eq(&self, _other: &Self) -> bool {
14636         unimplemented!()
14637     }
14638 }
14639 #[cfg(feature = "Win32_Networking_WinSock")]
14640 impl ::std::cmp::Eq for IPV6_HEADER {}
14641 #[cfg(feature = "Win32_Networking_WinSock")]
14642 unsafe impl ::windows::runtime::Abi for IPV6_HEADER {
14643     type Abi = Self;
14644     type DefaultType = Self;
14645 }
14646 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14647 #[repr(C)]
14648 pub union IPV6_HEADER_0 {
14649     pub VersionClassFlow: u32,
14650     pub Anonymous: IPV6_HEADER_0_0,
14651 }
14652 impl IPV6_HEADER_0 {}
14653 impl ::std::default::Default for IPV6_HEADER_0 {
default() -> Self14654     fn default() -> Self {
14655         unsafe { ::std::mem::zeroed() }
14656     }
14657 }
14658 impl ::std::cmp::PartialEq for IPV6_HEADER_0 {
eq(&self, _other: &Self) -> bool14659     fn eq(&self, _other: &Self) -> bool {
14660         unimplemented!()
14661     }
14662 }
14663 impl ::std::cmp::Eq for IPV6_HEADER_0 {}
14664 unsafe impl ::windows::runtime::Abi for IPV6_HEADER_0 {
14665     type Abi = Self;
14666     type DefaultType = Self;
14667 }
14668 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14669 #[repr(C)]
14670 pub struct IPV6_HEADER_0_0 {
14671     pub _bitfield: u32,
14672 }
14673 impl IPV6_HEADER_0_0 {}
14674 impl ::std::default::Default for IPV6_HEADER_0_0 {
default() -> Self14675     fn default() -> Self {
14676         unsafe { ::std::mem::zeroed() }
14677     }
14678 }
14679 impl ::std::fmt::Debug for IPV6_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14680     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14681         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14682     }
14683 }
14684 impl ::std::cmp::PartialEq for IPV6_HEADER_0_0 {
eq(&self, other: &Self) -> bool14685     fn eq(&self, other: &Self) -> bool {
14686         self._bitfield == other._bitfield
14687     }
14688 }
14689 impl ::std::cmp::Eq for IPV6_HEADER_0_0 {}
14690 unsafe impl ::windows::runtime::Abi for IPV6_HEADER_0_0 {
14691     type Abi = Self;
14692     type DefaultType = Self;
14693 }
14694 pub const IPV6_MINIMUM_MTU: u32 = 1280u32;
14695 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14696 #[repr(C)]
14697 pub union IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {
14698     pub Anonymous: IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0,
14699     pub Value: u32,
14700 }
14701 impl IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {}
14702 impl ::std::default::Default for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {
default() -> Self14703     fn default() -> Self {
14704         unsafe { ::std::mem::zeroed() }
14705     }
14706 }
14707 impl ::std::cmp::PartialEq for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {
eq(&self, _other: &Self) -> bool14708     fn eq(&self, _other: &Self) -> bool {
14709         unimplemented!()
14710     }
14711 }
14712 impl ::std::cmp::Eq for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {}
14713 unsafe impl ::windows::runtime::Abi for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {
14714     type Abi = Self;
14715     type DefaultType = Self;
14716 }
14717 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14718 #[repr(C)]
14719 pub struct IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
14720     pub _bitfield: u8,
14721     pub Reserved2: [u8; 3],
14722 }
14723 impl IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {}
14724 impl ::std::default::Default for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
default() -> Self14725     fn default() -> Self {
14726         unsafe { ::std::mem::zeroed() }
14727     }
14728 }
14729 impl ::std::fmt::Debug for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14730     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14731         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).field("Reserved2", &self.Reserved2).finish()
14732     }
14733 }
14734 impl ::std::cmp::PartialEq for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
eq(&self, other: &Self) -> bool14735     fn eq(&self, other: &Self) -> bool {
14736         self._bitfield == other._bitfield && self.Reserved2 == other.Reserved2
14737     }
14738 }
14739 impl ::std::cmp::Eq for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {}
14740 unsafe impl ::windows::runtime::Abi for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
14741     type Abi = Self;
14742     type DefaultType = Self;
14743 }
14744 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14745 #[repr(C)]
14746 pub struct IPV6_OPTION_HEADER {
14747     pub Type: u8,
14748     pub DataLength: u8,
14749 }
14750 impl IPV6_OPTION_HEADER {}
14751 impl ::std::default::Default for IPV6_OPTION_HEADER {
default() -> Self14752     fn default() -> Self {
14753         unsafe { ::std::mem::zeroed() }
14754     }
14755 }
14756 impl ::std::fmt::Debug for IPV6_OPTION_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14757     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14758         fmt.debug_struct("IPV6_OPTION_HEADER").field("Type", &self.Type).field("DataLength", &self.DataLength).finish()
14759     }
14760 }
14761 impl ::std::cmp::PartialEq for IPV6_OPTION_HEADER {
eq(&self, other: &Self) -> bool14762     fn eq(&self, other: &Self) -> bool {
14763         self.Type == other.Type && self.DataLength == other.DataLength
14764     }
14765 }
14766 impl ::std::cmp::Eq for IPV6_OPTION_HEADER {}
14767 unsafe impl ::windows::runtime::Abi for IPV6_OPTION_HEADER {
14768     type Abi = Self;
14769     type DefaultType = Self;
14770 }
14771 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14772 #[repr(C)]
14773 pub struct IPV6_OPTION_JUMBOGRAM {
14774     pub Header: IPV6_OPTION_HEADER,
14775     pub JumbogramLength: [u8; 4],
14776 }
14777 impl IPV6_OPTION_JUMBOGRAM {}
14778 impl ::std::default::Default for IPV6_OPTION_JUMBOGRAM {
default() -> Self14779     fn default() -> Self {
14780         unsafe { ::std::mem::zeroed() }
14781     }
14782 }
14783 impl ::std::fmt::Debug for IPV6_OPTION_JUMBOGRAM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14784     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14785         fmt.debug_struct("IPV6_OPTION_JUMBOGRAM").field("Header", &self.Header).field("JumbogramLength", &self.JumbogramLength).finish()
14786     }
14787 }
14788 impl ::std::cmp::PartialEq for IPV6_OPTION_JUMBOGRAM {
eq(&self, other: &Self) -> bool14789     fn eq(&self, other: &Self) -> bool {
14790         self.Header == other.Header && self.JumbogramLength == other.JumbogramLength
14791     }
14792 }
14793 impl ::std::cmp::Eq for IPV6_OPTION_JUMBOGRAM {}
14794 unsafe impl ::windows::runtime::Abi for IPV6_OPTION_JUMBOGRAM {
14795     type Abi = Self;
14796     type DefaultType = Self;
14797 }
14798 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14799 #[repr(C)]
14800 pub struct IPV6_OPTION_ROUTER_ALERT {
14801     pub Header: IPV6_OPTION_HEADER,
14802     pub Value: [u8; 2],
14803 }
14804 impl IPV6_OPTION_ROUTER_ALERT {}
14805 impl ::std::default::Default for IPV6_OPTION_ROUTER_ALERT {
default() -> Self14806     fn default() -> Self {
14807         unsafe { ::std::mem::zeroed() }
14808     }
14809 }
14810 impl ::std::fmt::Debug for IPV6_OPTION_ROUTER_ALERT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14811     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14812         fmt.debug_struct("IPV6_OPTION_ROUTER_ALERT").field("Header", &self.Header).field("Value", &self.Value).finish()
14813     }
14814 }
14815 impl ::std::cmp::PartialEq for IPV6_OPTION_ROUTER_ALERT {
eq(&self, other: &Self) -> bool14816     fn eq(&self, other: &Self) -> bool {
14817         self.Header == other.Header && self.Value == other.Value
14818     }
14819 }
14820 impl ::std::cmp::Eq for IPV6_OPTION_ROUTER_ALERT {}
14821 unsafe impl ::windows::runtime::Abi for IPV6_OPTION_ROUTER_ALERT {
14822     type Abi = Self;
14823     type DefaultType = Self;
14824 }
14825 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14826 #[repr(transparent)]
14827 pub struct IPV6_OPTION_TYPE(pub i32);
14828 pub const IP6OPT_PAD1: IPV6_OPTION_TYPE = IPV6_OPTION_TYPE(0i32);
14829 pub const IP6OPT_PADN: IPV6_OPTION_TYPE = IPV6_OPTION_TYPE(1i32);
14830 pub const IP6OPT_TUNNEL_LIMIT: IPV6_OPTION_TYPE = IPV6_OPTION_TYPE(4i32);
14831 pub const IP6OPT_ROUTER_ALERT: IPV6_OPTION_TYPE = IPV6_OPTION_TYPE(5i32);
14832 pub const IP6OPT_JUMBO: IPV6_OPTION_TYPE = IPV6_OPTION_TYPE(194i32);
14833 pub const IP6OPT_NSAP_ADDR: IPV6_OPTION_TYPE = IPV6_OPTION_TYPE(195i32);
14834 impl ::std::convert::From<i32> for IPV6_OPTION_TYPE {
from(value: i32) -> Self14835     fn from(value: i32) -> Self {
14836         Self(value)
14837     }
14838 }
14839 unsafe impl ::windows::runtime::Abi for IPV6_OPTION_TYPE {
14840     type Abi = Self;
14841     type DefaultType = Self;
14842 }
14843 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14844 #[repr(C)]
14845 pub union IPV6_ROUTER_ADVERTISEMENT_FLAGS {
14846     pub Anonymous: IPV6_ROUTER_ADVERTISEMENT_FLAGS_0,
14847     pub Value: u8,
14848 }
14849 impl IPV6_ROUTER_ADVERTISEMENT_FLAGS {}
14850 impl ::std::default::Default for IPV6_ROUTER_ADVERTISEMENT_FLAGS {
default() -> Self14851     fn default() -> Self {
14852         unsafe { ::std::mem::zeroed() }
14853     }
14854 }
14855 impl ::std::cmp::PartialEq for IPV6_ROUTER_ADVERTISEMENT_FLAGS {
eq(&self, _other: &Self) -> bool14856     fn eq(&self, _other: &Self) -> bool {
14857         unimplemented!()
14858     }
14859 }
14860 impl ::std::cmp::Eq for IPV6_ROUTER_ADVERTISEMENT_FLAGS {}
14861 unsafe impl ::windows::runtime::Abi for IPV6_ROUTER_ADVERTISEMENT_FLAGS {
14862     type Abi = Self;
14863     type DefaultType = Self;
14864 }
14865 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14866 #[repr(C)]
14867 pub struct IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
14868     pub _bitfield: u8,
14869 }
14870 impl IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {}
14871 impl ::std::default::Default for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
default() -> Self14872     fn default() -> Self {
14873         unsafe { ::std::mem::zeroed() }
14874     }
14875 }
14876 impl ::std::fmt::Debug for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14877     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14878         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
14879     }
14880 }
14881 impl ::std::cmp::PartialEq for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
eq(&self, other: &Self) -> bool14882     fn eq(&self, other: &Self) -> bool {
14883         self._bitfield == other._bitfield
14884     }
14885 }
14886 impl ::std::cmp::Eq for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {}
14887 unsafe impl ::windows::runtime::Abi for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
14888     type Abi = Self;
14889     type DefaultType = Self;
14890 }
14891 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
14892 #[repr(C)]
14893 pub struct IPV6_ROUTING_HEADER {
14894     pub NextHeader: u8,
14895     pub Length: u8,
14896     pub RoutingType: u8,
14897     pub SegmentsLeft: u8,
14898     pub Reserved: [u8; 4],
14899 }
14900 impl IPV6_ROUTING_HEADER {}
14901 impl ::std::default::Default for IPV6_ROUTING_HEADER {
default() -> Self14902     fn default() -> Self {
14903         unsafe { ::std::mem::zeroed() }
14904     }
14905 }
14906 impl ::std::fmt::Debug for IPV6_ROUTING_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result14907     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14908         fmt.debug_struct("IPV6_ROUTING_HEADER").field("NextHeader", &self.NextHeader).field("Length", &self.Length).field("RoutingType", &self.RoutingType).field("SegmentsLeft", &self.SegmentsLeft).field("Reserved", &self.Reserved).finish()
14909     }
14910 }
14911 impl ::std::cmp::PartialEq for IPV6_ROUTING_HEADER {
eq(&self, other: &Self) -> bool14912     fn eq(&self, other: &Self) -> bool {
14913         self.NextHeader == other.NextHeader && self.Length == other.Length && self.RoutingType == other.RoutingType && self.SegmentsLeft == other.SegmentsLeft && self.Reserved == other.Reserved
14914     }
14915 }
14916 impl ::std::cmp::Eq for IPV6_ROUTING_HEADER {}
14917 unsafe impl ::windows::runtime::Abi for IPV6_ROUTING_HEADER {
14918     type Abi = Self;
14919     type DefaultType = Self;
14920 }
14921 pub const IPV6_TRAFFIC_CLASS_MASK: u32 = 49167u32;
14922 pub const IPV6_VERSION: u32 = 96u32;
14923 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
14924 #[repr(transparent)]
14925 pub struct IP_OPTION_TIMESTAMP_FLAGS(pub i32);
14926 pub const IP_OPTION_TIMESTAMP_ONLY: IP_OPTION_TIMESTAMP_FLAGS = IP_OPTION_TIMESTAMP_FLAGS(0i32);
14927 pub const IP_OPTION_TIMESTAMP_ADDRESS: IP_OPTION_TIMESTAMP_FLAGS = IP_OPTION_TIMESTAMP_FLAGS(1i32);
14928 pub const IP_OPTION_TIMESTAMP_SPECIFIC_ADDRESS: IP_OPTION_TIMESTAMP_FLAGS = IP_OPTION_TIMESTAMP_FLAGS(3i32);
14929 impl ::std::convert::From<i32> for IP_OPTION_TIMESTAMP_FLAGS {
from(value: i32) -> Self14930     fn from(value: i32) -> Self {
14931         Self(value)
14932     }
14933 }
14934 unsafe impl ::windows::runtime::Abi for IP_OPTION_TIMESTAMP_FLAGS {
14935     type Abi = Self;
14936     type DefaultType = Self;
14937 }
14938 pub const IP_VER_MASK: u32 = 240u32;
14939 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
14940 #[inline]
IPsecDospGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u3214941 pub unsafe fn IPsecDospGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
14942     #[cfg(windows)]
14943     {
14944         #[link(name = "windows")]
14945         extern "system" {
14946             fn IPsecDospGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
14947         }
14948         ::std::mem::transmute(IPsecDospGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
14949     }
14950     #[cfg(not(windows))]
14951     unimplemented!("Unsupported target OS");
14952 }
14953 #[cfg(feature = "Win32_Foundation")]
14954 #[inline]
IPsecDospGetStatistics0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, idpstatistics: *mut IPSEC_DOSP_STATISTICS0) -> u3214955 pub unsafe fn IPsecDospGetStatistics0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, idpstatistics: *mut IPSEC_DOSP_STATISTICS0) -> u32 {
14956     #[cfg(windows)]
14957     {
14958         #[link(name = "windows")]
14959         extern "system" {
14960             fn IPsecDospGetStatistics0(enginehandle: super::super::Foundation::HANDLE, idpstatistics: *mut IPSEC_DOSP_STATISTICS0) -> u32;
14961         }
14962         ::std::mem::transmute(IPsecDospGetStatistics0(enginehandle.into_param().abi(), ::std::mem::transmute(idpstatistics)))
14963     }
14964     #[cfg(not(windows))]
14965     unimplemented!("Unsupported target OS");
14966 }
14967 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
14968 #[inline]
IPsecDospSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u3214969 pub unsafe fn IPsecDospSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
14970     #[cfg(windows)]
14971     {
14972         #[link(name = "windows")]
14973         extern "system" {
14974             fn IPsecDospSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
14975         }
14976         ::std::mem::transmute(IPsecDospSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
14977     }
14978     #[cfg(not(windows))]
14979     unimplemented!("Unsupported target OS");
14980 }
14981 #[cfg(feature = "Win32_Foundation")]
14982 #[inline]
IPsecDospStateCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IPSEC_DOSP_STATE_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u3214983 pub unsafe fn IPsecDospStateCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IPSEC_DOSP_STATE_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
14984     #[cfg(windows)]
14985     {
14986         #[link(name = "windows")]
14987         extern "system" {
14988             fn IPsecDospStateCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_DOSP_STATE_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
14989         }
14990         ::std::mem::transmute(IPsecDospStateCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
14991     }
14992     #[cfg(not(windows))]
14993     unimplemented!("Unsupported target OS");
14994 }
14995 #[cfg(feature = "Win32_Foundation")]
14996 #[inline]
IPsecDospStateDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u3214997 pub unsafe fn IPsecDospStateDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
14998     #[cfg(windows)]
14999     {
15000         #[link(name = "windows")]
15001         extern "system" {
15002             fn IPsecDospStateDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
15003         }
15004         ::std::mem::transmute(IPsecDospStateDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
15005     }
15006     #[cfg(not(windows))]
15007     unimplemented!("Unsupported target OS");
15008 }
15009 #[cfg(feature = "Win32_Foundation")]
15010 #[inline]
IPsecDospStateEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_DOSP_STATE0, numentries: *mut u32) -> u3215011 pub unsafe fn IPsecDospStateEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_DOSP_STATE0, numentries: *mut u32) -> u32 {
15012     #[cfg(windows)]
15013     {
15014         #[link(name = "windows")]
15015         extern "system" {
15016             fn IPsecDospStateEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_DOSP_STATE0, numentries: *mut u32) -> u32;
15017         }
15018         ::std::mem::transmute(IPsecDospStateEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
15019     }
15020     #[cfg(not(windows))]
15021     unimplemented!("Unsupported target OS");
15022 }
15023 #[cfg(feature = "Win32_Foundation")]
15024 #[inline]
IPsecGetStatistics0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ipsecstatistics: *mut IPSEC_STATISTICS0) -> u3215025 pub unsafe fn IPsecGetStatistics0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ipsecstatistics: *mut IPSEC_STATISTICS0) -> u32 {
15026     #[cfg(windows)]
15027     {
15028         #[link(name = "windows")]
15029         extern "system" {
15030             fn IPsecGetStatistics0(enginehandle: super::super::Foundation::HANDLE, ipsecstatistics: *mut IPSEC_STATISTICS0) -> u32;
15031         }
15032         ::std::mem::transmute(IPsecGetStatistics0(enginehandle.into_param().abi(), ::std::mem::transmute(ipsecstatistics)))
15033     }
15034     #[cfg(not(windows))]
15035     unimplemented!("Unsupported target OS");
15036 }
15037 #[cfg(feature = "Win32_Foundation")]
15038 #[inline]
IPsecGetStatistics1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ipsecstatistics: *mut IPSEC_STATISTICS1) -> u3215039 pub unsafe fn IPsecGetStatistics1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ipsecstatistics: *mut IPSEC_STATISTICS1) -> u32 {
15040     #[cfg(windows)]
15041     {
15042         #[link(name = "windows")]
15043         extern "system" {
15044             fn IPsecGetStatistics1(enginehandle: super::super::Foundation::HANDLE, ipsecstatistics: *mut IPSEC_STATISTICS1) -> u32;
15045         }
15046         ::std::mem::transmute(IPsecGetStatistics1(enginehandle.into_param().abi(), ::std::mem::transmute(ipsecstatistics)))
15047     }
15048     #[cfg(not(windows))]
15049     unimplemented!("Unsupported target OS");
15050 }
15051 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15052 #[inline]
IPsecKeyManagerAddAndRegister0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, keymanager: *const IPSEC_KEY_MANAGER0, keymanagercallbacks: *const IPSEC_KEY_MANAGER_CALLBACKS0, keymgmthandle: *mut super::super::Foundation::HANDLE) -> u3215053 pub unsafe fn IPsecKeyManagerAddAndRegister0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, keymanager: *const IPSEC_KEY_MANAGER0, keymanagercallbacks: *const IPSEC_KEY_MANAGER_CALLBACKS0, keymgmthandle: *mut super::super::Foundation::HANDLE) -> u32 {
15054     #[cfg(windows)]
15055     {
15056         #[link(name = "windows")]
15057         extern "system" {
15058             fn IPsecKeyManagerAddAndRegister0(enginehandle: super::super::Foundation::HANDLE, keymanager: *const IPSEC_KEY_MANAGER0, keymanagercallbacks: *const ::std::mem::ManuallyDrop<IPSEC_KEY_MANAGER_CALLBACKS0>, keymgmthandle: *mut super::super::Foundation::HANDLE) -> u32;
15059         }
15060         ::std::mem::transmute(IPsecKeyManagerAddAndRegister0(enginehandle.into_param().abi(), ::std::mem::transmute(keymanager), ::std::mem::transmute(keymanagercallbacks), ::std::mem::transmute(keymgmthandle)))
15061     }
15062     #[cfg(not(windows))]
15063     unimplemented!("Unsupported target OS");
15064 }
15065 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15066 #[inline]
IPsecKeyManagerGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, reserved: *const ::std::ffi::c_void, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u3215067 pub unsafe fn IPsecKeyManagerGetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, reserved: *const ::std::ffi::c_void, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
15068     #[cfg(windows)]
15069     {
15070         #[link(name = "windows")]
15071         extern "system" {
15072             fn IPsecKeyManagerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, reserved: *const ::std::ffi::c_void, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
15073         }
15074         ::std::mem::transmute(IPsecKeyManagerGetSecurityInfoByKey0(
15075             enginehandle.into_param().abi(),
15076             ::std::mem::transmute(reserved),
15077             ::std::mem::transmute(securityinfo),
15078             ::std::mem::transmute(sidowner),
15079             ::std::mem::transmute(sidgroup),
15080             ::std::mem::transmute(dacl),
15081             ::std::mem::transmute(sacl),
15082             ::std::mem::transmute(securitydescriptor),
15083         ))
15084     }
15085     #[cfg(not(windows))]
15086     unimplemented!("Unsupported target OS");
15087 }
15088 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15089 #[inline]
IPsecKeyManagerSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, reserved: *const ::std::ffi::c_void, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u3215090 pub unsafe fn IPsecKeyManagerSetSecurityInfoByKey0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, reserved: *const ::std::ffi::c_void, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
15091     #[cfg(windows)]
15092     {
15093         #[link(name = "windows")]
15094         extern "system" {
15095             fn IPsecKeyManagerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, reserved: *const ::std::ffi::c_void, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
15096         }
15097         ::std::mem::transmute(IPsecKeyManagerSetSecurityInfoByKey0(enginehandle.into_param().abi(), ::std::mem::transmute(reserved), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
15098     }
15099     #[cfg(not(windows))]
15100     unimplemented!("Unsupported target OS");
15101 }
15102 #[cfg(feature = "Win32_Foundation")]
15103 #[inline]
IPsecKeyManagerUnregisterAndDelete0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, keymgmthandle: Param1) -> u3215104 pub unsafe fn IPsecKeyManagerUnregisterAndDelete0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, keymgmthandle: Param1) -> u32 {
15105     #[cfg(windows)]
15106     {
15107         #[link(name = "windows")]
15108         extern "system" {
15109             fn IPsecKeyManagerUnregisterAndDelete0(enginehandle: super::super::Foundation::HANDLE, keymgmthandle: super::super::Foundation::HANDLE) -> u32;
15110         }
15111         ::std::mem::transmute(IPsecKeyManagerUnregisterAndDelete0(enginehandle.into_param().abi(), keymgmthandle.into_param().abi()))
15112     }
15113     #[cfg(not(windows))]
15114     unimplemented!("Unsupported target OS");
15115 }
15116 #[cfg(feature = "Win32_Foundation")]
15117 #[inline]
IPsecKeyManagersGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut IPSEC_KEY_MANAGER0, numentries: *mut u32) -> u3215118 pub unsafe fn IPsecKeyManagersGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut IPSEC_KEY_MANAGER0, numentries: *mut u32) -> u32 {
15119     #[cfg(windows)]
15120     {
15121         #[link(name = "windows")]
15122         extern "system" {
15123             fn IPsecKeyManagersGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut IPSEC_KEY_MANAGER0, numentries: *mut u32) -> u32;
15124         }
15125         ::std::mem::transmute(IPsecKeyManagersGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
15126     }
15127     #[cfg(not(windows))]
15128     unimplemented!("Unsupported target OS");
15129 }
15130 #[cfg(feature = "Win32_Foundation")]
15131 #[inline]
IPsecSaContextAddInbound0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE0) -> u3215132 pub unsafe fn IPsecSaContextAddInbound0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE0) -> u32 {
15133     #[cfg(windows)]
15134     {
15135         #[link(name = "windows")]
15136         extern "system" {
15137             fn IPsecSaContextAddInbound0(enginehandle: super::super::Foundation::HANDLE, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE0) -> u32;
15138         }
15139         ::std::mem::transmute(IPsecSaContextAddInbound0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(inboundbundle)))
15140     }
15141     #[cfg(not(windows))]
15142     unimplemented!("Unsupported target OS");
15143 }
15144 #[cfg(feature = "Win32_Foundation")]
15145 #[inline]
IPsecSaContextAddInbound1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE1) -> u3215146 pub unsafe fn IPsecSaContextAddInbound1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE1) -> u32 {
15147     #[cfg(windows)]
15148     {
15149         #[link(name = "windows")]
15150         extern "system" {
15151             fn IPsecSaContextAddInbound1(enginehandle: super::super::Foundation::HANDLE, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE1) -> u32;
15152         }
15153         ::std::mem::transmute(IPsecSaContextAddInbound1(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(inboundbundle)))
15154     }
15155     #[cfg(not(windows))]
15156     unimplemented!("Unsupported target OS");
15157 }
15158 #[cfg(feature = "Win32_Foundation")]
15159 #[inline]
IPsecSaContextAddOutbound0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE0) -> u3215160 pub unsafe fn IPsecSaContextAddOutbound0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE0) -> u32 {
15161     #[cfg(windows)]
15162     {
15163         #[link(name = "windows")]
15164         extern "system" {
15165             fn IPsecSaContextAddOutbound0(enginehandle: super::super::Foundation::HANDLE, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE0) -> u32;
15166         }
15167         ::std::mem::transmute(IPsecSaContextAddOutbound0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(outboundbundle)))
15168     }
15169     #[cfg(not(windows))]
15170     unimplemented!("Unsupported target OS");
15171 }
15172 #[cfg(feature = "Win32_Foundation")]
15173 #[inline]
IPsecSaContextAddOutbound1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE1) -> u3215174 pub unsafe fn IPsecSaContextAddOutbound1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE1) -> u32 {
15175     #[cfg(windows)]
15176     {
15177         #[link(name = "windows")]
15178         extern "system" {
15179             fn IPsecSaContextAddOutbound1(enginehandle: super::super::Foundation::HANDLE, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE1) -> u32;
15180         }
15181         ::std::mem::transmute(IPsecSaContextAddOutbound1(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(outboundbundle)))
15182     }
15183     #[cfg(not(windows))]
15184     unimplemented!("Unsupported target OS");
15185 }
15186 #[cfg(feature = "Win32_Foundation")]
15187 #[inline]
IPsecSaContextCreate0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, outboundtraffic: *const IPSEC_TRAFFIC0, inboundfilterid: *mut u64, id: *mut u64) -> u3215188 pub unsafe fn IPsecSaContextCreate0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, outboundtraffic: *const IPSEC_TRAFFIC0, inboundfilterid: *mut u64, id: *mut u64) -> u32 {
15189     #[cfg(windows)]
15190     {
15191         #[link(name = "windows")]
15192         extern "system" {
15193             fn IPsecSaContextCreate0(enginehandle: super::super::Foundation::HANDLE, outboundtraffic: *const IPSEC_TRAFFIC0, inboundfilterid: *mut u64, id: *mut u64) -> u32;
15194         }
15195         ::std::mem::transmute(IPsecSaContextCreate0(enginehandle.into_param().abi(), ::std::mem::transmute(outboundtraffic), ::std::mem::transmute(inboundfilterid), ::std::mem::transmute(id)))
15196     }
15197     #[cfg(not(windows))]
15198     unimplemented!("Unsupported target OS");
15199 }
15200 #[cfg(feature = "Win32_Foundation")]
15201 #[inline]
IPsecSaContextCreate1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, outboundtraffic: *const IPSEC_TRAFFIC1, virtualiftunnelinfo: *const IPSEC_VIRTUAL_IF_TUNNEL_INFO0, inboundfilterid: *mut u64, id: *mut u64) -> u3215202 pub unsafe fn IPsecSaContextCreate1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, outboundtraffic: *const IPSEC_TRAFFIC1, virtualiftunnelinfo: *const IPSEC_VIRTUAL_IF_TUNNEL_INFO0, inboundfilterid: *mut u64, id: *mut u64) -> u32 {
15203     #[cfg(windows)]
15204     {
15205         #[link(name = "windows")]
15206         extern "system" {
15207             fn IPsecSaContextCreate1(enginehandle: super::super::Foundation::HANDLE, outboundtraffic: *const IPSEC_TRAFFIC1, virtualiftunnelinfo: *const IPSEC_VIRTUAL_IF_TUNNEL_INFO0, inboundfilterid: *mut u64, id: *mut u64) -> u32;
15208         }
15209         ::std::mem::transmute(IPsecSaContextCreate1(enginehandle.into_param().abi(), ::std::mem::transmute(outboundtraffic), ::std::mem::transmute(virtualiftunnelinfo), ::std::mem::transmute(inboundfilterid), ::std::mem::transmute(id)))
15210     }
15211     #[cfg(not(windows))]
15212     unimplemented!("Unsupported target OS");
15213 }
15214 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15215 #[inline]
IPsecSaContextCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u3215216 pub unsafe fn IPsecSaContextCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
15217     #[cfg(windows)]
15218     {
15219         #[link(name = "windows")]
15220         extern "system" {
15221             fn IPsecSaContextCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
15222         }
15223         ::std::mem::transmute(IPsecSaContextCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
15224     }
15225     #[cfg(not(windows))]
15226     unimplemented!("Unsupported target OS");
15227 }
15228 #[cfg(feature = "Win32_Foundation")]
15229 #[inline]
IPsecSaContextDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u3215230 pub unsafe fn IPsecSaContextDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u32 {
15231     #[cfg(windows)]
15232     {
15233         #[link(name = "windows")]
15234         extern "system" {
15235             fn IPsecSaContextDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
15236         }
15237         ::std::mem::transmute(IPsecSaContextDeleteById0(enginehandle.into_param().abi(), ::std::mem::transmute(id)))
15238     }
15239     #[cfg(not(windows))]
15240     unimplemented!("Unsupported target OS");
15241 }
15242 #[cfg(feature = "Win32_Foundation")]
15243 #[inline]
IPsecSaContextDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u3215244 pub unsafe fn IPsecSaContextDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
15245     #[cfg(windows)]
15246     {
15247         #[link(name = "windows")]
15248         extern "system" {
15249             fn IPsecSaContextDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
15250         }
15251         ::std::mem::transmute(IPsecSaContextDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
15252     }
15253     #[cfg(not(windows))]
15254     unimplemented!("Unsupported target OS");
15255 }
15256 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15257 #[inline]
IPsecSaContextEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT0, numentriesreturned: *mut u32) -> u3215258 pub unsafe fn IPsecSaContextEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT0, numentriesreturned: *mut u32) -> u32 {
15259     #[cfg(windows)]
15260     {
15261         #[link(name = "windows")]
15262         extern "system" {
15263             fn IPsecSaContextEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT0, numentriesreturned: *mut u32) -> u32;
15264         }
15265         ::std::mem::transmute(IPsecSaContextEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15266     }
15267     #[cfg(not(windows))]
15268     unimplemented!("Unsupported target OS");
15269 }
15270 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15271 #[inline]
IPsecSaContextEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT1, numentriesreturned: *mut u32) -> u3215272 pub unsafe fn IPsecSaContextEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT1, numentriesreturned: *mut u32) -> u32 {
15273     #[cfg(windows)]
15274     {
15275         #[link(name = "windows")]
15276         extern "system" {
15277             fn IPsecSaContextEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT1, numentriesreturned: *mut u32) -> u32;
15278         }
15279         ::std::mem::transmute(IPsecSaContextEnum1(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15280     }
15281     #[cfg(not(windows))]
15282     unimplemented!("Unsupported target OS");
15283 }
15284 #[cfg(feature = "Win32_Foundation")]
15285 #[inline]
IPsecSaContextExpire0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u3215286 pub unsafe fn IPsecSaContextExpire0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u32 {
15287     #[cfg(windows)]
15288     {
15289         #[link(name = "windows")]
15290         extern "system" {
15291             fn IPsecSaContextExpire0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
15292         }
15293         ::std::mem::transmute(IPsecSaContextExpire0(enginehandle.into_param().abi(), ::std::mem::transmute(id)))
15294     }
15295     #[cfg(not(windows))]
15296     unimplemented!("Unsupported target OS");
15297 }
15298 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15299 #[inline]
IPsecSaContextGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT0) -> u3215300 pub unsafe fn IPsecSaContextGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT0) -> u32 {
15301     #[cfg(windows)]
15302     {
15303         #[link(name = "windows")]
15304         extern "system" {
15305             fn IPsecSaContextGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT0) -> u32;
15306         }
15307         ::std::mem::transmute(IPsecSaContextGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(sacontext)))
15308     }
15309     #[cfg(not(windows))]
15310     unimplemented!("Unsupported target OS");
15311 }
15312 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15313 #[inline]
IPsecSaContextGetById1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT1) -> u3215314 pub unsafe fn IPsecSaContextGetById1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT1) -> u32 {
15315     #[cfg(windows)]
15316     {
15317         #[link(name = "windows")]
15318         extern "system" {
15319             fn IPsecSaContextGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT1) -> u32;
15320         }
15321         ::std::mem::transmute(IPsecSaContextGetById1(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(sacontext)))
15322     }
15323     #[cfg(not(windows))]
15324     unimplemented!("Unsupported target OS");
15325 }
15326 #[cfg(feature = "Win32_Foundation")]
15327 #[inline]
IPsecSaContextGetSpi0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, getspi: *const IPSEC_GETSPI0, inboundspi: *mut u32) -> u3215328 pub unsafe fn IPsecSaContextGetSpi0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, getspi: *const IPSEC_GETSPI0, inboundspi: *mut u32) -> u32 {
15329     #[cfg(windows)]
15330     {
15331         #[link(name = "windows")]
15332         extern "system" {
15333             fn IPsecSaContextGetSpi0(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI0, inboundspi: *mut u32) -> u32;
15334         }
15335         ::std::mem::transmute(IPsecSaContextGetSpi0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(getspi), ::std::mem::transmute(inboundspi)))
15336     }
15337     #[cfg(not(windows))]
15338     unimplemented!("Unsupported target OS");
15339 }
15340 #[cfg(feature = "Win32_Foundation")]
15341 #[inline]
IPsecSaContextGetSpi1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: *mut u32) -> u3215342 pub unsafe fn IPsecSaContextGetSpi1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: *mut u32) -> u32 {
15343     #[cfg(windows)]
15344     {
15345         #[link(name = "windows")]
15346         extern "system" {
15347             fn IPsecSaContextGetSpi1(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: *mut u32) -> u32;
15348         }
15349         ::std::mem::transmute(IPsecSaContextGetSpi1(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(getspi), ::std::mem::transmute(inboundspi)))
15350     }
15351     #[cfg(not(windows))]
15352     unimplemented!("Unsupported target OS");
15353 }
15354 #[cfg(feature = "Win32_Foundation")]
15355 #[inline]
IPsecSaContextSetSpi0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: u32) -> u3215356 pub unsafe fn IPsecSaContextSetSpi0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: u32) -> u32 {
15357     #[cfg(windows)]
15358     {
15359         #[link(name = "windows")]
15360         extern "system" {
15361             fn IPsecSaContextSetSpi0(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: u32) -> u32;
15362         }
15363         ::std::mem::transmute(IPsecSaContextSetSpi0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(getspi), ::std::mem::transmute(inboundspi)))
15364     }
15365     #[cfg(not(windows))]
15366     unimplemented!("Unsupported target OS");
15367 }
15368 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15369 #[inline]
IPsecSaContextSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const IPSEC_SA_CONTEXT_SUBSCRIPTION0, callback: ::std::option::Option<IPSEC_SA_CONTEXT_CALLBACK0>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u3215370 pub unsafe fn IPsecSaContextSubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, subscription: *const IPSEC_SA_CONTEXT_SUBSCRIPTION0, callback: ::std::option::Option<IPSEC_SA_CONTEXT_CALLBACK0>, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32 {
15371     #[cfg(windows)]
15372     {
15373         #[link(name = "windows")]
15374         extern "system" {
15375             fn IPsecSaContextSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const IPSEC_SA_CONTEXT_SUBSCRIPTION0, callback: ::windows::runtime::RawPtr, context: *const ::std::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
15376         }
15377         ::std::mem::transmute(IPsecSaContextSubscribe0(enginehandle.into_param().abi(), ::std::mem::transmute(subscription), ::std::mem::transmute(callback), ::std::mem::transmute(context), ::std::mem::transmute(eventshandle)))
15378     }
15379     #[cfg(not(windows))]
15380     unimplemented!("Unsupported target OS");
15381 }
15382 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15383 #[inline]
IPsecSaContextSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut IPSEC_SA_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u3215384 pub unsafe fn IPsecSaContextSubscriptionsGet0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, entries: *mut *mut *mut IPSEC_SA_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32 {
15385     #[cfg(windows)]
15386     {
15387         #[link(name = "windows")]
15388         extern "system" {
15389             fn IPsecSaContextSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut IPSEC_SA_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
15390         }
15391         ::std::mem::transmute(IPsecSaContextSubscriptionsGet0(enginehandle.into_param().abi(), ::std::mem::transmute(entries), ::std::mem::transmute(numentries)))
15392     }
15393     #[cfg(not(windows))]
15394     unimplemented!("Unsupported target OS");
15395 }
15396 #[cfg(feature = "Win32_Foundation")]
15397 #[inline]
IPsecSaContextUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, eventshandle: Param1) -> u3215398 pub unsafe fn IPsecSaContextUnsubscribe0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, eventshandle: Param1) -> u32 {
15399     #[cfg(windows)]
15400     {
15401         #[link(name = "windows")]
15402         extern "system" {
15403             fn IPsecSaContextUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32;
15404         }
15405         ::std::mem::transmute(IPsecSaContextUnsubscribe0(enginehandle.into_param().abi(), eventshandle.into_param().abi()))
15406     }
15407     #[cfg(not(windows))]
15408     unimplemented!("Unsupported target OS");
15409 }
15410 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15411 #[inline]
IPsecSaContextUpdate0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u64, newvalues: *const IPSEC_SA_CONTEXT1) -> u3215412 pub unsafe fn IPsecSaContextUpdate0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, flags: u64, newvalues: *const IPSEC_SA_CONTEXT1) -> u32 {
15413     #[cfg(windows)]
15414     {
15415         #[link(name = "windows")]
15416         extern "system" {
15417             fn IPsecSaContextUpdate0(enginehandle: super::super::Foundation::HANDLE, flags: u64, newvalues: *const IPSEC_SA_CONTEXT1) -> u32;
15418         }
15419         ::std::mem::transmute(IPsecSaContextUpdate0(enginehandle.into_param().abi(), ::std::mem::transmute(flags), ::std::mem::transmute(newvalues)))
15420     }
15421     #[cfg(not(windows))]
15422     unimplemented!("Unsupported target OS");
15423 }
15424 #[cfg(feature = "Win32_Foundation")]
15425 #[inline]
IPsecSaCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IPSEC_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u3215426 pub unsafe fn IPsecSaCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IPSEC_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
15427     #[cfg(windows)]
15428     {
15429         #[link(name = "windows")]
15430         extern "system" {
15431             fn IPsecSaCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
15432         }
15433         ::std::mem::transmute(IPsecSaCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
15434     }
15435     #[cfg(not(windows))]
15436     unimplemented!("Unsupported target OS");
15437 }
15438 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15439 #[inline]
IPsecSaDbGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u3215440 pub unsafe fn IPsecSaDbGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
15441     #[cfg(windows)]
15442     {
15443         #[link(name = "windows")]
15444         extern "system" {
15445             fn IPsecSaDbGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
15446         }
15447         ::std::mem::transmute(IPsecSaDbGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
15448     }
15449     #[cfg(not(windows))]
15450     unimplemented!("Unsupported target OS");
15451 }
15452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15453 #[inline]
IPsecSaDbSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u3215454 pub unsafe fn IPsecSaDbSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
15455     #[cfg(windows)]
15456     {
15457         #[link(name = "windows")]
15458         extern "system" {
15459             fn IPsecSaDbSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
15460         }
15461         ::std::mem::transmute(IPsecSaDbSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
15462     }
15463     #[cfg(not(windows))]
15464     unimplemented!("Unsupported target OS");
15465 }
15466 #[cfg(feature = "Win32_Foundation")]
15467 #[inline]
IPsecSaDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u3215468 pub unsafe fn IPsecSaDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
15469     #[cfg(windows)]
15470     {
15471         #[link(name = "windows")]
15472         extern "system" {
15473             fn IPsecSaDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
15474         }
15475         ::std::mem::transmute(IPsecSaDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
15476     }
15477     #[cfg(not(windows))]
15478     unimplemented!("Unsupported target OS");
15479 }
15480 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15481 #[inline]
IPsecSaEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS0, numentriesreturned: *mut u32) -> u3215482 pub unsafe fn IPsecSaEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS0, numentriesreturned: *mut u32) -> u32 {
15483     #[cfg(windows)]
15484     {
15485         #[link(name = "windows")]
15486         extern "system" {
15487             fn IPsecSaEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS0, numentriesreturned: *mut u32) -> u32;
15488         }
15489         ::std::mem::transmute(IPsecSaEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15490     }
15491     #[cfg(not(windows))]
15492     unimplemented!("Unsupported target OS");
15493 }
15494 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15495 #[inline]
IPsecSaEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS1, numentriesreturned: *mut u32) -> u3215496 pub unsafe fn IPsecSaEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS1, numentriesreturned: *mut u32) -> u32 {
15497     #[cfg(windows)]
15498     {
15499         #[link(name = "windows")]
15500         extern "system" {
15501             fn IPsecSaEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS1, numentriesreturned: *mut u32) -> u32;
15502         }
15503         ::std::mem::transmute(IPsecSaEnum1(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15504     }
15505     #[cfg(not(windows))]
15506     unimplemented!("Unsupported target OS");
15507 }
15508 #[cfg(feature = "Win32_Foundation")]
15509 #[inline]
IkeextGetStatistics0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ikeextstatistics: *mut IKEEXT_STATISTICS0) -> u3215510 pub unsafe fn IkeextGetStatistics0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ikeextstatistics: *mut IKEEXT_STATISTICS0) -> u32 {
15511     #[cfg(windows)]
15512     {
15513         #[link(name = "windows")]
15514         extern "system" {
15515             fn IkeextGetStatistics0(enginehandle: super::super::Foundation::HANDLE, ikeextstatistics: *mut IKEEXT_STATISTICS0) -> u32;
15516         }
15517         ::std::mem::transmute(IkeextGetStatistics0(enginehandle.into_param().abi(), ::std::mem::transmute(ikeextstatistics)))
15518     }
15519     #[cfg(not(windows))]
15520     unimplemented!("Unsupported target OS");
15521 }
15522 #[cfg(feature = "Win32_Foundation")]
15523 #[inline]
IkeextGetStatistics1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ikeextstatistics: *mut IKEEXT_STATISTICS1) -> u3215524 pub unsafe fn IkeextGetStatistics1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, ikeextstatistics: *mut IKEEXT_STATISTICS1) -> u32 {
15525     #[cfg(windows)]
15526     {
15527         #[link(name = "windows")]
15528         extern "system" {
15529             fn IkeextGetStatistics1(enginehandle: super::super::Foundation::HANDLE, ikeextstatistics: *mut IKEEXT_STATISTICS1) -> u32;
15530         }
15531         ::std::mem::transmute(IkeextGetStatistics1(enginehandle.into_param().abi(), ::std::mem::transmute(ikeextstatistics)))
15532     }
15533     #[cfg(not(windows))]
15534     unimplemented!("Unsupported target OS");
15535 }
15536 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15537 #[inline]
IkeextSaCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IKEEXT_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u3215538 pub unsafe fn IkeextSaCreateEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumtemplate: *const IKEEXT_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32 {
15539     #[cfg(windows)]
15540     {
15541         #[link(name = "windows")]
15542         extern "system" {
15543             fn IkeextSaCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IKEEXT_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
15544         }
15545         ::std::mem::transmute(IkeextSaCreateEnumHandle0(enginehandle.into_param().abi(), ::std::mem::transmute(enumtemplate), ::std::mem::transmute(enumhandle)))
15546     }
15547     #[cfg(not(windows))]
15548     unimplemented!("Unsupported target OS");
15549 }
15550 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15551 #[inline]
IkeextSaDbGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u3215552 pub unsafe fn IkeextSaDbGetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32 {
15553     #[cfg(windows)]
15554     {
15555         #[link(name = "windows")]
15556         extern "system" {
15557             fn IkeextSaDbGetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *mut super::super::Foundation::PSID, sidgroup: *mut super::super::Foundation::PSID, dacl: *mut *mut super::super::Security::ACL, sacl: *mut *mut super::super::Security::ACL, securitydescriptor: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> u32;
15558         }
15559         ::std::mem::transmute(IkeextSaDbGetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl), ::std::mem::transmute(securitydescriptor)))
15560     }
15561     #[cfg(not(windows))]
15562     unimplemented!("Unsupported target OS");
15563 }
15564 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
15565 #[inline]
IkeextSaDbSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u3215566 pub unsafe fn IkeextSaDbSetSecurityInfo0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32 {
15567     #[cfg(windows)]
15568     {
15569         #[link(name = "windows")]
15570         extern "system" {
15571             fn IkeextSaDbSetSecurityInfo0(enginehandle: super::super::Foundation::HANDLE, securityinfo: u32, sidowner: *const super::super::Security::SID, sidgroup: *const super::super::Security::SID, dacl: *const super::super::Security::ACL, sacl: *const super::super::Security::ACL) -> u32;
15572         }
15573         ::std::mem::transmute(IkeextSaDbSetSecurityInfo0(enginehandle.into_param().abi(), ::std::mem::transmute(securityinfo), ::std::mem::transmute(sidowner), ::std::mem::transmute(sidgroup), ::std::mem::transmute(dacl), ::std::mem::transmute(sacl)))
15574     }
15575     #[cfg(not(windows))]
15576     unimplemented!("Unsupported target OS");
15577 }
15578 #[cfg(feature = "Win32_Foundation")]
15579 #[inline]
IkeextSaDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u3215580 pub unsafe fn IkeextSaDeleteById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64) -> u32 {
15581     #[cfg(windows)]
15582     {
15583         #[link(name = "windows")]
15584         extern "system" {
15585             fn IkeextSaDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
15586         }
15587         ::std::mem::transmute(IkeextSaDeleteById0(enginehandle.into_param().abi(), ::std::mem::transmute(id)))
15588     }
15589     #[cfg(not(windows))]
15590     unimplemented!("Unsupported target OS");
15591 }
15592 #[cfg(feature = "Win32_Foundation")]
15593 #[inline]
IkeextSaDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u3215594 pub unsafe fn IkeextSaDestroyEnumHandle0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1) -> u32 {
15595     #[cfg(windows)]
15596     {
15597         #[link(name = "windows")]
15598         extern "system" {
15599             fn IkeextSaDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
15600         }
15601         ::std::mem::transmute(IkeextSaDestroyEnumHandle0(enginehandle.into_param().abi(), enumhandle.into_param().abi()))
15602     }
15603     #[cfg(not(windows))]
15604     unimplemented!("Unsupported target OS");
15605 }
15606 #[cfg(feature = "Win32_Foundation")]
15607 #[inline]
IkeextSaEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS0, numentriesreturned: *mut u32) -> u3215608 pub unsafe fn IkeextSaEnum0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS0, numentriesreturned: *mut u32) -> u32 {
15609     #[cfg(windows)]
15610     {
15611         #[link(name = "windows")]
15612         extern "system" {
15613             fn IkeextSaEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS0, numentriesreturned: *mut u32) -> u32;
15614         }
15615         ::std::mem::transmute(IkeextSaEnum0(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15616     }
15617     #[cfg(not(windows))]
15618     unimplemented!("Unsupported target OS");
15619 }
15620 #[cfg(feature = "Win32_Foundation")]
15621 #[inline]
IkeextSaEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS1, numentriesreturned: *mut u32) -> u3215622 pub unsafe fn IkeextSaEnum1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS1, numentriesreturned: *mut u32) -> u32 {
15623     #[cfg(windows)]
15624     {
15625         #[link(name = "windows")]
15626         extern "system" {
15627             fn IkeextSaEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS1, numentriesreturned: *mut u32) -> u32;
15628         }
15629         ::std::mem::transmute(IkeextSaEnum1(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15630     }
15631     #[cfg(not(windows))]
15632     unimplemented!("Unsupported target OS");
15633 }
15634 #[cfg(feature = "Win32_Foundation")]
15635 #[inline]
IkeextSaEnum2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS2, numentriesreturned: *mut u32) -> u3215636 pub unsafe fn IkeextSaEnum2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, enumhandle: Param1, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS2, numentriesreturned: *mut u32) -> u32 {
15637     #[cfg(windows)]
15638     {
15639         #[link(name = "windows")]
15640         extern "system" {
15641             fn IkeextSaEnum2(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS2, numentriesreturned: *mut u32) -> u32;
15642         }
15643         ::std::mem::transmute(IkeextSaEnum2(enginehandle.into_param().abi(), enumhandle.into_param().abi(), ::std::mem::transmute(numentriesrequested), ::std::mem::transmute(entries), ::std::mem::transmute(numentriesreturned)))
15644     }
15645     #[cfg(not(windows))]
15646     unimplemented!("Unsupported target OS");
15647 }
15648 #[cfg(feature = "Win32_Foundation")]
15649 #[inline]
IkeextSaGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, sa: *mut *mut IKEEXT_SA_DETAILS0) -> u3215650 pub unsafe fn IkeextSaGetById0<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, sa: *mut *mut IKEEXT_SA_DETAILS0) -> u32 {
15651     #[cfg(windows)]
15652     {
15653         #[link(name = "windows")]
15654         extern "system" {
15655             fn IkeextSaGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, sa: *mut *mut IKEEXT_SA_DETAILS0) -> u32;
15656         }
15657         ::std::mem::transmute(IkeextSaGetById0(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(sa)))
15658     }
15659     #[cfg(not(windows))]
15660     unimplemented!("Unsupported target OS");
15661 }
15662 #[cfg(feature = "Win32_Foundation")]
15663 #[inline]
IkeextSaGetById1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, salookupcontext: *const ::windows::runtime::GUID, sa: *mut *mut IKEEXT_SA_DETAILS1) -> u3215664 pub unsafe fn IkeextSaGetById1<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, salookupcontext: *const ::windows::runtime::GUID, sa: *mut *mut IKEEXT_SA_DETAILS1) -> u32 {
15665     #[cfg(windows)]
15666     {
15667         #[link(name = "windows")]
15668         extern "system" {
15669             fn IkeextSaGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, salookupcontext: *const ::windows::runtime::GUID, sa: *mut *mut IKEEXT_SA_DETAILS1) -> u32;
15670         }
15671         ::std::mem::transmute(IkeextSaGetById1(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(salookupcontext), ::std::mem::transmute(sa)))
15672     }
15673     #[cfg(not(windows))]
15674     unimplemented!("Unsupported target OS");
15675 }
15676 #[cfg(feature = "Win32_Foundation")]
15677 #[inline]
IkeextSaGetById2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, salookupcontext: *const ::windows::runtime::GUID, sa: *mut *mut IKEEXT_SA_DETAILS2) -> u3215678 pub unsafe fn IkeextSaGetById2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(enginehandle: Param0, id: u64, salookupcontext: *const ::windows::runtime::GUID, sa: *mut *mut IKEEXT_SA_DETAILS2) -> u32 {
15679     #[cfg(windows)]
15680     {
15681         #[link(name = "windows")]
15682         extern "system" {
15683             fn IkeextSaGetById2(enginehandle: super::super::Foundation::HANDLE, id: u64, salookupcontext: *const ::windows::runtime::GUID, sa: *mut *mut IKEEXT_SA_DETAILS2) -> u32;
15684         }
15685         ::std::mem::transmute(IkeextSaGetById2(enginehandle.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(salookupcontext), ::std::mem::transmute(sa)))
15686     }
15687     #[cfg(not(windows))]
15688     unimplemented!("Unsupported target OS");
15689 }
15690 pub const MAX_IPV4_HLEN: u32 = 60u32;
15691 pub const MAX_IPV4_PACKET: u32 = 65535u32;
15692 pub const MAX_IPV6_PAYLOAD: u32 = 65535u32;
15693 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15694 #[repr(C)]
15695 #[cfg(feature = "Win32_Networking_WinSock")]
15696 pub struct MLDV2_QUERY_HEADER {
15697     pub IcmpHeader: ICMP_HEADER,
15698     pub Anonymous1: MLDV2_QUERY_HEADER_0,
15699     pub Reserved: u16,
15700     pub MulticastAddress: super::super::Networking::WinSock::IN6_ADDR,
15701     pub _bitfield: u8,
15702     pub Anonymous2: MLDV2_QUERY_HEADER_1,
15703     pub SourceCount: u16,
15704 }
15705 #[cfg(feature = "Win32_Networking_WinSock")]
15706 impl MLDV2_QUERY_HEADER {}
15707 #[cfg(feature = "Win32_Networking_WinSock")]
15708 impl ::std::default::Default for MLDV2_QUERY_HEADER {
default() -> Self15709     fn default() -> Self {
15710         unsafe { ::std::mem::zeroed() }
15711     }
15712 }
15713 #[cfg(feature = "Win32_Networking_WinSock")]
15714 impl ::std::cmp::PartialEq for MLDV2_QUERY_HEADER {
eq(&self, _other: &Self) -> bool15715     fn eq(&self, _other: &Self) -> bool {
15716         unimplemented!()
15717     }
15718 }
15719 #[cfg(feature = "Win32_Networking_WinSock")]
15720 impl ::std::cmp::Eq for MLDV2_QUERY_HEADER {}
15721 #[cfg(feature = "Win32_Networking_WinSock")]
15722 unsafe impl ::windows::runtime::Abi for MLDV2_QUERY_HEADER {
15723     type Abi = Self;
15724     type DefaultType = Self;
15725 }
15726 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15727 #[repr(C)]
15728 pub union MLDV2_QUERY_HEADER_0 {
15729     pub MaxRespCode: u16,
15730     pub Anonymous: MLDV2_QUERY_HEADER_0_0,
15731 }
15732 impl MLDV2_QUERY_HEADER_0 {}
15733 impl ::std::default::Default for MLDV2_QUERY_HEADER_0 {
default() -> Self15734     fn default() -> Self {
15735         unsafe { ::std::mem::zeroed() }
15736     }
15737 }
15738 impl ::std::cmp::PartialEq for MLDV2_QUERY_HEADER_0 {
eq(&self, _other: &Self) -> bool15739     fn eq(&self, _other: &Self) -> bool {
15740         unimplemented!()
15741     }
15742 }
15743 impl ::std::cmp::Eq for MLDV2_QUERY_HEADER_0 {}
15744 unsafe impl ::windows::runtime::Abi for MLDV2_QUERY_HEADER_0 {
15745     type Abi = Self;
15746     type DefaultType = Self;
15747 }
15748 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15749 #[repr(C)]
15750 pub struct MLDV2_QUERY_HEADER_0_0 {
15751     pub _bitfield: u16,
15752 }
15753 impl MLDV2_QUERY_HEADER_0_0 {}
15754 impl ::std::default::Default for MLDV2_QUERY_HEADER_0_0 {
default() -> Self15755     fn default() -> Self {
15756         unsafe { ::std::mem::zeroed() }
15757     }
15758 }
15759 impl ::std::fmt::Debug for MLDV2_QUERY_HEADER_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15760     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15761         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
15762     }
15763 }
15764 impl ::std::cmp::PartialEq for MLDV2_QUERY_HEADER_0_0 {
eq(&self, other: &Self) -> bool15765     fn eq(&self, other: &Self) -> bool {
15766         self._bitfield == other._bitfield
15767     }
15768 }
15769 impl ::std::cmp::Eq for MLDV2_QUERY_HEADER_0_0 {}
15770 unsafe impl ::windows::runtime::Abi for MLDV2_QUERY_HEADER_0_0 {
15771     type Abi = Self;
15772     type DefaultType = Self;
15773 }
15774 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15775 #[repr(C)]
15776 pub union MLDV2_QUERY_HEADER_1 {
15777     pub QueriersQueryInterfaceCode: u8,
15778     pub Anonymous: MLDV2_QUERY_HEADER_1_0,
15779 }
15780 impl MLDV2_QUERY_HEADER_1 {}
15781 impl ::std::default::Default for MLDV2_QUERY_HEADER_1 {
default() -> Self15782     fn default() -> Self {
15783         unsafe { ::std::mem::zeroed() }
15784     }
15785 }
15786 impl ::std::cmp::PartialEq for MLDV2_QUERY_HEADER_1 {
eq(&self, _other: &Self) -> bool15787     fn eq(&self, _other: &Self) -> bool {
15788         unimplemented!()
15789     }
15790 }
15791 impl ::std::cmp::Eq for MLDV2_QUERY_HEADER_1 {}
15792 unsafe impl ::windows::runtime::Abi for MLDV2_QUERY_HEADER_1 {
15793     type Abi = Self;
15794     type DefaultType = Self;
15795 }
15796 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15797 #[repr(C)]
15798 pub struct MLDV2_QUERY_HEADER_1_0 {
15799     pub _bitfield: u8,
15800 }
15801 impl MLDV2_QUERY_HEADER_1_0 {}
15802 impl ::std::default::Default for MLDV2_QUERY_HEADER_1_0 {
default() -> Self15803     fn default() -> Self {
15804         unsafe { ::std::mem::zeroed() }
15805     }
15806 }
15807 impl ::std::fmt::Debug for MLDV2_QUERY_HEADER_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15808     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15809         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
15810     }
15811 }
15812 impl ::std::cmp::PartialEq for MLDV2_QUERY_HEADER_1_0 {
eq(&self, other: &Self) -> bool15813     fn eq(&self, other: &Self) -> bool {
15814         self._bitfield == other._bitfield
15815     }
15816 }
15817 impl ::std::cmp::Eq for MLDV2_QUERY_HEADER_1_0 {}
15818 unsafe impl ::windows::runtime::Abi for MLDV2_QUERY_HEADER_1_0 {
15819     type Abi = Self;
15820     type DefaultType = Self;
15821 }
15822 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15823 #[repr(C)]
15824 pub struct MLDV2_REPORT_HEADER {
15825     pub IcmpHeader: ICMP_HEADER,
15826     pub Reserved: u16,
15827     pub RecordCount: u16,
15828 }
15829 impl MLDV2_REPORT_HEADER {}
15830 impl ::std::default::Default for MLDV2_REPORT_HEADER {
default() -> Self15831     fn default() -> Self {
15832         unsafe { ::std::mem::zeroed() }
15833     }
15834 }
15835 impl ::std::fmt::Debug for MLDV2_REPORT_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15836     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15837         fmt.debug_struct("MLDV2_REPORT_HEADER").field("IcmpHeader", &self.IcmpHeader).field("Reserved", &self.Reserved).field("RecordCount", &self.RecordCount).finish()
15838     }
15839 }
15840 impl ::std::cmp::PartialEq for MLDV2_REPORT_HEADER {
eq(&self, other: &Self) -> bool15841     fn eq(&self, other: &Self) -> bool {
15842         self.IcmpHeader == other.IcmpHeader && self.Reserved == other.Reserved && self.RecordCount == other.RecordCount
15843     }
15844 }
15845 impl ::std::cmp::Eq for MLDV2_REPORT_HEADER {}
15846 unsafe impl ::windows::runtime::Abi for MLDV2_REPORT_HEADER {
15847     type Abi = Self;
15848     type DefaultType = Self;
15849 }
15850 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15851 #[repr(C)]
15852 #[cfg(feature = "Win32_Networking_WinSock")]
15853 pub struct MLDV2_REPORT_RECORD_HEADER {
15854     pub Type: u8,
15855     pub AuxillaryDataLength: u8,
15856     pub SourceCount: u16,
15857     pub MulticastAddress: super::super::Networking::WinSock::IN6_ADDR,
15858 }
15859 #[cfg(feature = "Win32_Networking_WinSock")]
15860 impl MLDV2_REPORT_RECORD_HEADER {}
15861 #[cfg(feature = "Win32_Networking_WinSock")]
15862 impl ::std::default::Default for MLDV2_REPORT_RECORD_HEADER {
default() -> Self15863     fn default() -> Self {
15864         unsafe { ::std::mem::zeroed() }
15865     }
15866 }
15867 #[cfg(feature = "Win32_Networking_WinSock")]
15868 impl ::std::cmp::PartialEq for MLDV2_REPORT_RECORD_HEADER {
eq(&self, _other: &Self) -> bool15869     fn eq(&self, _other: &Self) -> bool {
15870         unimplemented!()
15871     }
15872 }
15873 #[cfg(feature = "Win32_Networking_WinSock")]
15874 impl ::std::cmp::Eq for MLDV2_REPORT_RECORD_HEADER {}
15875 #[cfg(feature = "Win32_Networking_WinSock")]
15876 unsafe impl ::windows::runtime::Abi for MLDV2_REPORT_RECORD_HEADER {
15877     type Abi = Self;
15878     type DefaultType = Self;
15879 }
15880 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15881 #[repr(C)]
15882 #[cfg(feature = "Win32_Networking_WinSock")]
15883 pub struct MLD_HEADER {
15884     pub IcmpHeader: ICMP_HEADER,
15885     pub MaxRespTime: u16,
15886     pub Reserved: u16,
15887     pub MulticastAddress: super::super::Networking::WinSock::IN6_ADDR,
15888 }
15889 #[cfg(feature = "Win32_Networking_WinSock")]
15890 impl MLD_HEADER {}
15891 #[cfg(feature = "Win32_Networking_WinSock")]
15892 impl ::std::default::Default for MLD_HEADER {
default() -> Self15893     fn default() -> Self {
15894         unsafe { ::std::mem::zeroed() }
15895     }
15896 }
15897 #[cfg(feature = "Win32_Networking_WinSock")]
15898 impl ::std::cmp::PartialEq for MLD_HEADER {
eq(&self, _other: &Self) -> bool15899     fn eq(&self, _other: &Self) -> bool {
15900         unimplemented!()
15901     }
15902 }
15903 #[cfg(feature = "Win32_Networking_WinSock")]
15904 impl ::std::cmp::Eq for MLD_HEADER {}
15905 #[cfg(feature = "Win32_Networking_WinSock")]
15906 unsafe impl ::windows::runtime::Abi for MLD_HEADER {
15907     type Abi = Self;
15908     type DefaultType = Self;
15909 }
15910 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15911 #[repr(transparent)]
15912 pub struct MLD_MAX_RESP_CODE_TYPE(pub i32);
15913 pub const MLD_MAX_RESP_CODE_TYPE_NORMAL: MLD_MAX_RESP_CODE_TYPE = MLD_MAX_RESP_CODE_TYPE(0i32);
15914 pub const MLD_MAX_RESP_CODE_TYPE_FLOAT: MLD_MAX_RESP_CODE_TYPE = MLD_MAX_RESP_CODE_TYPE(1i32);
15915 impl ::std::convert::From<i32> for MLD_MAX_RESP_CODE_TYPE {
from(value: i32) -> Self15916     fn from(value: i32) -> Self {
15917         Self(value)
15918     }
15919 }
15920 unsafe impl ::windows::runtime::Abi for MLD_MAX_RESP_CODE_TYPE {
15921     type Abi = Self;
15922     type DefaultType = Self;
15923 }
15924 pub const ND_NA_FLAG_OVERRIDE: u32 = 536870912u32;
15925 pub const ND_NA_FLAG_ROUTER: u32 = 2147483648u32;
15926 pub const ND_NA_FLAG_SOLICITED: u32 = 1073741824u32;
15927 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
15928 #[repr(transparent)]
15929 pub struct ND_OPTION_TYPE(pub i32);
15930 pub const ND_OPT_SOURCE_LINKADDR: ND_OPTION_TYPE = ND_OPTION_TYPE(1i32);
15931 pub const ND_OPT_TARGET_LINKADDR: ND_OPTION_TYPE = ND_OPTION_TYPE(2i32);
15932 pub const ND_OPT_PREFIX_INFORMATION: ND_OPTION_TYPE = ND_OPTION_TYPE(3i32);
15933 pub const ND_OPT_REDIRECTED_HEADER: ND_OPTION_TYPE = ND_OPTION_TYPE(4i32);
15934 pub const ND_OPT_MTU: ND_OPTION_TYPE = ND_OPTION_TYPE(5i32);
15935 pub const ND_OPT_NBMA_SHORTCUT_LIMIT: ND_OPTION_TYPE = ND_OPTION_TYPE(6i32);
15936 pub const ND_OPT_ADVERTISEMENT_INTERVAL: ND_OPTION_TYPE = ND_OPTION_TYPE(7i32);
15937 pub const ND_OPT_HOME_AGENT_INFORMATION: ND_OPTION_TYPE = ND_OPTION_TYPE(8i32);
15938 pub const ND_OPT_SOURCE_ADDR_LIST: ND_OPTION_TYPE = ND_OPTION_TYPE(9i32);
15939 pub const ND_OPT_TARGET_ADDR_LIST: ND_OPTION_TYPE = ND_OPTION_TYPE(10i32);
15940 pub const ND_OPT_ROUTE_INFO: ND_OPTION_TYPE = ND_OPTION_TYPE(24i32);
15941 pub const ND_OPT_RDNSS: ND_OPTION_TYPE = ND_OPTION_TYPE(25i32);
15942 pub const ND_OPT_DNSSL: ND_OPTION_TYPE = ND_OPTION_TYPE(31i32);
15943 impl ::std::convert::From<i32> for ND_OPTION_TYPE {
from(value: i32) -> Self15944     fn from(value: i32) -> Self {
15945         Self(value)
15946     }
15947 }
15948 unsafe impl ::windows::runtime::Abi for ND_OPTION_TYPE {
15949     type Abi = Self;
15950     type DefaultType = Self;
15951 }
15952 pub const ND_OPT_DNSSL_MIN_LEN: u32 = 16u32;
15953 pub const ND_OPT_PI_FLAG_AUTO: u32 = 64u32;
15954 pub const ND_OPT_PI_FLAG_ONLINK: u32 = 128u32;
15955 pub const ND_OPT_PI_FLAG_ROUTE: u32 = 1u32;
15956 pub const ND_OPT_PI_FLAG_ROUTER_ADDR: u32 = 32u32;
15957 pub const ND_OPT_PI_FLAG_SITE_PREFIX: u32 = 16u32;
15958 pub const ND_OPT_RDNSS_MIN_LEN: u32 = 24u32;
15959 pub const ND_OPT_RI_FLAG_PREFERENCE: u32 = 24u32;
15960 pub const ND_RA_FLAG_HOME_AGENT: u32 = 32u32;
15961 pub const ND_RA_FLAG_MANAGED: u32 = 128u32;
15962 pub const ND_RA_FLAG_OTHER: u32 = 64u32;
15963 pub const ND_RA_FLAG_PREFERENCE: u32 = 24u32;
15964 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15965 #[repr(C)]
15966 #[cfg(feature = "Win32_Foundation")]
15967 pub struct NPI_MODULEID {
15968     pub Length: u16,
15969     pub Type: NPI_MODULEID_TYPE,
15970     pub Anonymous: NPI_MODULEID_0,
15971 }
15972 #[cfg(feature = "Win32_Foundation")]
15973 impl NPI_MODULEID {}
15974 #[cfg(feature = "Win32_Foundation")]
15975 impl ::std::default::Default for NPI_MODULEID {
default() -> Self15976     fn default() -> Self {
15977         unsafe { ::std::mem::zeroed() }
15978     }
15979 }
15980 #[cfg(feature = "Win32_Foundation")]
15981 impl ::std::cmp::PartialEq for NPI_MODULEID {
eq(&self, _other: &Self) -> bool15982     fn eq(&self, _other: &Self) -> bool {
15983         unimplemented!()
15984     }
15985 }
15986 #[cfg(feature = "Win32_Foundation")]
15987 impl ::std::cmp::Eq for NPI_MODULEID {}
15988 #[cfg(feature = "Win32_Foundation")]
15989 unsafe impl ::windows::runtime::Abi for NPI_MODULEID {
15990     type Abi = Self;
15991     type DefaultType = Self;
15992 }
15993 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
15994 #[repr(C)]
15995 #[cfg(feature = "Win32_Foundation")]
15996 pub union NPI_MODULEID_0 {
15997     pub Guid: ::windows::runtime::GUID,
15998     pub IfLuid: super::super::Foundation::LUID,
15999 }
16000 #[cfg(feature = "Win32_Foundation")]
16001 impl NPI_MODULEID_0 {}
16002 #[cfg(feature = "Win32_Foundation")]
16003 impl ::std::default::Default for NPI_MODULEID_0 {
default() -> Self16004     fn default() -> Self {
16005         unsafe { ::std::mem::zeroed() }
16006     }
16007 }
16008 #[cfg(feature = "Win32_Foundation")]
16009 impl ::std::cmp::PartialEq for NPI_MODULEID_0 {
eq(&self, _other: &Self) -> bool16010     fn eq(&self, _other: &Self) -> bool {
16011         unimplemented!()
16012     }
16013 }
16014 #[cfg(feature = "Win32_Foundation")]
16015 impl ::std::cmp::Eq for NPI_MODULEID_0 {}
16016 #[cfg(feature = "Win32_Foundation")]
16017 unsafe impl ::windows::runtime::Abi for NPI_MODULEID_0 {
16018     type Abi = Self;
16019     type DefaultType = Self;
16020 }
16021 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16022 #[repr(transparent)]
16023 pub struct NPI_MODULEID_TYPE(pub i32);
16024 pub const MIT_GUID: NPI_MODULEID_TYPE = NPI_MODULEID_TYPE(1i32);
16025 pub const MIT_IF_LUID: NPI_MODULEID_TYPE = NPI_MODULEID_TYPE(2i32);
16026 impl ::std::convert::From<i32> for NPI_MODULEID_TYPE {
from(value: i32) -> Self16027     fn from(value: i32) -> Self {
16028         Self(value)
16029     }
16030 }
16031 unsafe impl ::windows::runtime::Abi for NPI_MODULEID_TYPE {
16032     type Abi = Self;
16033     type DefaultType = Self;
16034 }
16035 pub const SIZEOF_IP_OPT_ROUTERALERT: u32 = 4u32;
16036 pub const SIZEOF_IP_OPT_ROUTING_HEADER: u32 = 3u32;
16037 pub const SIZEOF_IP_OPT_SECURITY: u32 = 11u32;
16038 pub const SIZEOF_IP_OPT_STREAMIDENTIFIER: u32 = 4u32;
16039 pub const SIZEOF_IP_OPT_TIMESTAMP_HEADER: u32 = 4u32;
16040 pub const SNAP_CONTROL: u32 = 3u32;
16041 pub const SNAP_DSAP: u32 = 170u32;
16042 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16043 #[repr(C)]
16044 pub struct SNAP_HEADER {
16045     pub Dsap: u8,
16046     pub Ssap: u8,
16047     pub Control: u8,
16048     pub Oui: [u8; 3],
16049     pub Type: u16,
16050 }
16051 impl SNAP_HEADER {}
16052 impl ::std::default::Default for SNAP_HEADER {
default() -> Self16053     fn default() -> Self {
16054         unsafe { ::std::mem::zeroed() }
16055     }
16056 }
16057 impl ::std::fmt::Debug for SNAP_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16058     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16059         fmt.debug_struct("SNAP_HEADER").field("Dsap", &self.Dsap).field("Ssap", &self.Ssap).field("Control", &self.Control).field("Oui", &self.Oui).field("Type", &self.Type).finish()
16060     }
16061 }
16062 impl ::std::cmp::PartialEq for SNAP_HEADER {
eq(&self, other: &Self) -> bool16063     fn eq(&self, other: &Self) -> bool {
16064         self.Dsap == other.Dsap && self.Ssap == other.Ssap && self.Control == other.Control && self.Oui == other.Oui && self.Type == other.Type
16065     }
16066 }
16067 impl ::std::cmp::Eq for SNAP_HEADER {}
16068 unsafe impl ::windows::runtime::Abi for SNAP_HEADER {
16069     type Abi = Self;
16070     type DefaultType = Self;
16071 }
16072 pub const SNAP_OUI: u32 = 0u32;
16073 pub const SNAP_SSAP: u32 = 170u32;
16074 pub const TH_ACK: u32 = 16u32;
16075 pub const TH_CWR: u32 = 128u32;
16076 pub const TH_ECE: u32 = 64u32;
16077 pub const TH_FIN: u32 = 1u32;
16078 pub const TH_OPT_EOL: u32 = 0u32;
16079 pub const TH_OPT_FASTOPEN: u32 = 34u32;
16080 pub const TH_OPT_MSS: u32 = 2u32;
16081 pub const TH_OPT_NOP: u32 = 1u32;
16082 pub const TH_OPT_SACK: u32 = 5u32;
16083 pub const TH_OPT_SACK_PERMITTED: u32 = 4u32;
16084 pub const TH_OPT_TS: u32 = 8u32;
16085 pub const TH_OPT_WS: u32 = 3u32;
16086 pub const TH_PSH: u32 = 8u32;
16087 pub const TH_RST: u32 = 4u32;
16088 pub const TH_SYN: u32 = 2u32;
16089 pub const TH_URG: u32 = 32u32;
16090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16091 #[repr(transparent)]
16092 pub struct TUNNEL_SUB_TYPE(pub i32);
16093 pub const TUNNEL_SUB_TYPE_NONE: TUNNEL_SUB_TYPE = TUNNEL_SUB_TYPE(0i32);
16094 pub const TUNNEL_SUB_TYPE_CP: TUNNEL_SUB_TYPE = TUNNEL_SUB_TYPE(1i32);
16095 pub const TUNNEL_SUB_TYPE_IPTLS: TUNNEL_SUB_TYPE = TUNNEL_SUB_TYPE(2i32);
16096 pub const TUNNEL_SUB_TYPE_HA: TUNNEL_SUB_TYPE = TUNNEL_SUB_TYPE(3i32);
16097 impl ::std::convert::From<i32> for TUNNEL_SUB_TYPE {
from(value: i32) -> Self16098     fn from(value: i32) -> Self {
16099         Self(value)
16100     }
16101 }
16102 unsafe impl ::windows::runtime::Abi for TUNNEL_SUB_TYPE {
16103     type Abi = Self;
16104     type DefaultType = Self;
16105 }
16106 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16107 #[repr(C)]
16108 pub struct VLAN_TAG {
16109     pub Anonymous: VLAN_TAG_0,
16110     pub Type: u16,
16111 }
16112 impl VLAN_TAG {}
16113 impl ::std::default::Default for VLAN_TAG {
default() -> Self16114     fn default() -> Self {
16115         unsafe { ::std::mem::zeroed() }
16116     }
16117 }
16118 impl ::std::cmp::PartialEq for VLAN_TAG {
eq(&self, _other: &Self) -> bool16119     fn eq(&self, _other: &Self) -> bool {
16120         unimplemented!()
16121     }
16122 }
16123 impl ::std::cmp::Eq for VLAN_TAG {}
16124 unsafe impl ::windows::runtime::Abi for VLAN_TAG {
16125     type Abi = Self;
16126     type DefaultType = Self;
16127 }
16128 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16129 #[repr(C)]
16130 pub union VLAN_TAG_0 {
16131     pub Tag: u16,
16132     pub Anonymous: VLAN_TAG_0_0,
16133 }
16134 impl VLAN_TAG_0 {}
16135 impl ::std::default::Default for VLAN_TAG_0 {
default() -> Self16136     fn default() -> Self {
16137         unsafe { ::std::mem::zeroed() }
16138     }
16139 }
16140 impl ::std::cmp::PartialEq for VLAN_TAG_0 {
eq(&self, _other: &Self) -> bool16141     fn eq(&self, _other: &Self) -> bool {
16142         unimplemented!()
16143     }
16144 }
16145 impl ::std::cmp::Eq for VLAN_TAG_0 {}
16146 unsafe impl ::windows::runtime::Abi for VLAN_TAG_0 {
16147     type Abi = Self;
16148     type DefaultType = Self;
16149 }
16150 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16151 #[repr(C)]
16152 pub struct VLAN_TAG_0_0 {
16153     pub _bitfield: u16,
16154 }
16155 impl VLAN_TAG_0_0 {}
16156 impl ::std::default::Default for VLAN_TAG_0_0 {
default() -> Self16157     fn default() -> Self {
16158         unsafe { ::std::mem::zeroed() }
16159     }
16160 }
16161 impl ::std::fmt::Debug for VLAN_TAG_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16162     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16163         fmt.debug_struct("_Anonymous_e__Struct").field("_bitfield", &self._bitfield).finish()
16164     }
16165 }
16166 impl ::std::cmp::PartialEq for VLAN_TAG_0_0 {
eq(&self, other: &Self) -> bool16167     fn eq(&self, other: &Self) -> bool {
16168         self._bitfield == other._bitfield
16169     }
16170 }
16171 impl ::std::cmp::Eq for VLAN_TAG_0_0 {}
16172 unsafe impl ::windows::runtime::Abi for VLAN_TAG_0_0 {
16173     type Abi = Self;
16174     type DefaultType = Self;
16175 }
16176 pub const _BIG_ENDIAN: u32 = 4321u32;
16177 pub const _LITTLE_ENDIAN: u32 = 1234u32;
16178 pub const _PDP_ENDIAN: u32 = 3412u32;
16179 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16180 #[repr(C)]
16181 #[cfg(feature = "Win32_Networking_WinSock")]
16182 pub struct nd_neighbor_advert {
16183     pub nd_na_hdr: ICMP_MESSAGE,
16184     pub nd_na_target: super::super::Networking::WinSock::IN6_ADDR,
16185 }
16186 #[cfg(feature = "Win32_Networking_WinSock")]
16187 impl nd_neighbor_advert {}
16188 #[cfg(feature = "Win32_Networking_WinSock")]
16189 impl ::std::default::Default for nd_neighbor_advert {
default() -> Self16190     fn default() -> Self {
16191         unsafe { ::std::mem::zeroed() }
16192     }
16193 }
16194 #[cfg(feature = "Win32_Networking_WinSock")]
16195 impl ::std::cmp::PartialEq for nd_neighbor_advert {
eq(&self, _other: &Self) -> bool16196     fn eq(&self, _other: &Self) -> bool {
16197         unimplemented!()
16198     }
16199 }
16200 #[cfg(feature = "Win32_Networking_WinSock")]
16201 impl ::std::cmp::Eq for nd_neighbor_advert {}
16202 #[cfg(feature = "Win32_Networking_WinSock")]
16203 unsafe impl ::windows::runtime::Abi for nd_neighbor_advert {
16204     type Abi = Self;
16205     type DefaultType = Self;
16206 }
16207 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16208 #[repr(C)]
16209 #[cfg(feature = "Win32_Networking_WinSock")]
16210 pub struct nd_neighbor_solicit {
16211     pub nd_ns_hdr: ICMP_MESSAGE,
16212     pub nd_ns_target: super::super::Networking::WinSock::IN6_ADDR,
16213 }
16214 #[cfg(feature = "Win32_Networking_WinSock")]
16215 impl nd_neighbor_solicit {}
16216 #[cfg(feature = "Win32_Networking_WinSock")]
16217 impl ::std::default::Default for nd_neighbor_solicit {
default() -> Self16218     fn default() -> Self {
16219         unsafe { ::std::mem::zeroed() }
16220     }
16221 }
16222 #[cfg(feature = "Win32_Networking_WinSock")]
16223 impl ::std::cmp::PartialEq for nd_neighbor_solicit {
eq(&self, _other: &Self) -> bool16224     fn eq(&self, _other: &Self) -> bool {
16225         unimplemented!()
16226     }
16227 }
16228 #[cfg(feature = "Win32_Networking_WinSock")]
16229 impl ::std::cmp::Eq for nd_neighbor_solicit {}
16230 #[cfg(feature = "Win32_Networking_WinSock")]
16231 unsafe impl ::windows::runtime::Abi for nd_neighbor_solicit {
16232     type Abi = Self;
16233     type DefaultType = Self;
16234 }
16235 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16236 #[repr(C)]
16237 pub struct nd_opt_dnssl {
16238     pub nd_opt_dnssl_type: u8,
16239     pub nd_opt_dnssl_len: u8,
16240     pub nd_opt_dnssl_reserved: u16,
16241     pub nd_opt_dnssl_lifetime: u32,
16242 }
16243 impl nd_opt_dnssl {}
16244 impl ::std::default::Default for nd_opt_dnssl {
default() -> Self16245     fn default() -> Self {
16246         unsafe { ::std::mem::zeroed() }
16247     }
16248 }
16249 impl ::std::fmt::Debug for nd_opt_dnssl {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16250     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16251         fmt.debug_struct("nd_opt_dnssl").field("nd_opt_dnssl_type", &self.nd_opt_dnssl_type).field("nd_opt_dnssl_len", &self.nd_opt_dnssl_len).field("nd_opt_dnssl_reserved", &self.nd_opt_dnssl_reserved).field("nd_opt_dnssl_lifetime", &self.nd_opt_dnssl_lifetime).finish()
16252     }
16253 }
16254 impl ::std::cmp::PartialEq for nd_opt_dnssl {
eq(&self, other: &Self) -> bool16255     fn eq(&self, other: &Self) -> bool {
16256         self.nd_opt_dnssl_type == other.nd_opt_dnssl_type && self.nd_opt_dnssl_len == other.nd_opt_dnssl_len && self.nd_opt_dnssl_reserved == other.nd_opt_dnssl_reserved && self.nd_opt_dnssl_lifetime == other.nd_opt_dnssl_lifetime
16257     }
16258 }
16259 impl ::std::cmp::Eq for nd_opt_dnssl {}
16260 unsafe impl ::windows::runtime::Abi for nd_opt_dnssl {
16261     type Abi = Self;
16262     type DefaultType = Self;
16263 }
16264 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16265 #[repr(C)]
16266 pub struct nd_opt_hdr {
16267     pub nd_opt_type: u8,
16268     pub nd_opt_len: u8,
16269 }
16270 impl nd_opt_hdr {}
16271 impl ::std::default::Default for nd_opt_hdr {
default() -> Self16272     fn default() -> Self {
16273         unsafe { ::std::mem::zeroed() }
16274     }
16275 }
16276 impl ::std::fmt::Debug for nd_opt_hdr {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16277     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16278         fmt.debug_struct("nd_opt_hdr").field("nd_opt_type", &self.nd_opt_type).field("nd_opt_len", &self.nd_opt_len).finish()
16279     }
16280 }
16281 impl ::std::cmp::PartialEq for nd_opt_hdr {
eq(&self, other: &Self) -> bool16282     fn eq(&self, other: &Self) -> bool {
16283         self.nd_opt_type == other.nd_opt_type && self.nd_opt_len == other.nd_opt_len
16284     }
16285 }
16286 impl ::std::cmp::Eq for nd_opt_hdr {}
16287 unsafe impl ::windows::runtime::Abi for nd_opt_hdr {
16288     type Abi = Self;
16289     type DefaultType = Self;
16290 }
16291 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16292 #[repr(C)]
16293 pub struct nd_opt_mtu {
16294     pub nd_opt_mtu_type: u8,
16295     pub nd_opt_mtu_len: u8,
16296     pub nd_opt_mtu_reserved: u16,
16297     pub nd_opt_mtu_mtu: u32,
16298 }
16299 impl nd_opt_mtu {}
16300 impl ::std::default::Default for nd_opt_mtu {
default() -> Self16301     fn default() -> Self {
16302         unsafe { ::std::mem::zeroed() }
16303     }
16304 }
16305 impl ::std::fmt::Debug for nd_opt_mtu {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16306     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16307         fmt.debug_struct("nd_opt_mtu").field("nd_opt_mtu_type", &self.nd_opt_mtu_type).field("nd_opt_mtu_len", &self.nd_opt_mtu_len).field("nd_opt_mtu_reserved", &self.nd_opt_mtu_reserved).field("nd_opt_mtu_mtu", &self.nd_opt_mtu_mtu).finish()
16308     }
16309 }
16310 impl ::std::cmp::PartialEq for nd_opt_mtu {
eq(&self, other: &Self) -> bool16311     fn eq(&self, other: &Self) -> bool {
16312         self.nd_opt_mtu_type == other.nd_opt_mtu_type && self.nd_opt_mtu_len == other.nd_opt_mtu_len && self.nd_opt_mtu_reserved == other.nd_opt_mtu_reserved && self.nd_opt_mtu_mtu == other.nd_opt_mtu_mtu
16313     }
16314 }
16315 impl ::std::cmp::Eq for nd_opt_mtu {}
16316 unsafe impl ::windows::runtime::Abi for nd_opt_mtu {
16317     type Abi = Self;
16318     type DefaultType = Self;
16319 }
16320 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16321 #[repr(C)]
16322 #[cfg(feature = "Win32_Networking_WinSock")]
16323 pub struct nd_opt_prefix_info {
16324     pub nd_opt_pi_type: u8,
16325     pub nd_opt_pi_len: u8,
16326     pub nd_opt_pi_prefix_len: u8,
16327     pub Anonymous1: nd_opt_prefix_info_0,
16328     pub nd_opt_pi_valid_time: u32,
16329     pub nd_opt_pi_preferred_time: u32,
16330     pub Anonymous2: nd_opt_prefix_info_1,
16331     pub nd_opt_pi_prefix: super::super::Networking::WinSock::IN6_ADDR,
16332 }
16333 #[cfg(feature = "Win32_Networking_WinSock")]
16334 impl nd_opt_prefix_info {}
16335 #[cfg(feature = "Win32_Networking_WinSock")]
16336 impl ::std::default::Default for nd_opt_prefix_info {
default() -> Self16337     fn default() -> Self {
16338         unsafe { ::std::mem::zeroed() }
16339     }
16340 }
16341 #[cfg(feature = "Win32_Networking_WinSock")]
16342 impl ::std::cmp::PartialEq for nd_opt_prefix_info {
eq(&self, _other: &Self) -> bool16343     fn eq(&self, _other: &Self) -> bool {
16344         unimplemented!()
16345     }
16346 }
16347 #[cfg(feature = "Win32_Networking_WinSock")]
16348 impl ::std::cmp::Eq for nd_opt_prefix_info {}
16349 #[cfg(feature = "Win32_Networking_WinSock")]
16350 unsafe impl ::windows::runtime::Abi for nd_opt_prefix_info {
16351     type Abi = Self;
16352     type DefaultType = Self;
16353 }
16354 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16355 #[repr(C)]
16356 pub union nd_opt_prefix_info_0 {
16357     pub nd_opt_pi_flags_reserved: u8,
16358     pub Flags: nd_opt_prefix_info_0_0,
16359 }
16360 impl nd_opt_prefix_info_0 {}
16361 impl ::std::default::Default for nd_opt_prefix_info_0 {
default() -> Self16362     fn default() -> Self {
16363         unsafe { ::std::mem::zeroed() }
16364     }
16365 }
16366 impl ::std::cmp::PartialEq for nd_opt_prefix_info_0 {
eq(&self, _other: &Self) -> bool16367     fn eq(&self, _other: &Self) -> bool {
16368         unimplemented!()
16369     }
16370 }
16371 impl ::std::cmp::Eq for nd_opt_prefix_info_0 {}
16372 unsafe impl ::windows::runtime::Abi for nd_opt_prefix_info_0 {
16373     type Abi = Self;
16374     type DefaultType = Self;
16375 }
16376 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16377 #[repr(C)]
16378 pub struct nd_opt_prefix_info_0_0 {
16379     pub _bitfield: u8,
16380 }
16381 impl nd_opt_prefix_info_0_0 {}
16382 impl ::std::default::Default for nd_opt_prefix_info_0_0 {
default() -> Self16383     fn default() -> Self {
16384         unsafe { ::std::mem::zeroed() }
16385     }
16386 }
16387 impl ::std::fmt::Debug for nd_opt_prefix_info_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16388     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16389         fmt.debug_struct("_Flags_e__Struct").field("_bitfield", &self._bitfield).finish()
16390     }
16391 }
16392 impl ::std::cmp::PartialEq for nd_opt_prefix_info_0_0 {
eq(&self, other: &Self) -> bool16393     fn eq(&self, other: &Self) -> bool {
16394         self._bitfield == other._bitfield
16395     }
16396 }
16397 impl ::std::cmp::Eq for nd_opt_prefix_info_0_0 {}
16398 unsafe impl ::windows::runtime::Abi for nd_opt_prefix_info_0_0 {
16399     type Abi = Self;
16400     type DefaultType = Self;
16401 }
16402 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16403 #[repr(C)]
16404 pub union nd_opt_prefix_info_1 {
16405     pub nd_opt_pi_reserved2: u32,
16406     pub Anonymous: nd_opt_prefix_info_1_0,
16407 }
16408 impl nd_opt_prefix_info_1 {}
16409 impl ::std::default::Default for nd_opt_prefix_info_1 {
default() -> Self16410     fn default() -> Self {
16411         unsafe { ::std::mem::zeroed() }
16412     }
16413 }
16414 impl ::std::cmp::PartialEq for nd_opt_prefix_info_1 {
eq(&self, _other: &Self) -> bool16415     fn eq(&self, _other: &Self) -> bool {
16416         unimplemented!()
16417     }
16418 }
16419 impl ::std::cmp::Eq for nd_opt_prefix_info_1 {}
16420 unsafe impl ::windows::runtime::Abi for nd_opt_prefix_info_1 {
16421     type Abi = Self;
16422     type DefaultType = Self;
16423 }
16424 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16425 #[repr(C)]
16426 pub struct nd_opt_prefix_info_1_0 {
16427     pub nd_opt_pi_reserved3: [u8; 3],
16428     pub nd_opt_pi_site_prefix_len: u8,
16429 }
16430 impl nd_opt_prefix_info_1_0 {}
16431 impl ::std::default::Default for nd_opt_prefix_info_1_0 {
default() -> Self16432     fn default() -> Self {
16433         unsafe { ::std::mem::zeroed() }
16434     }
16435 }
16436 impl ::std::fmt::Debug for nd_opt_prefix_info_1_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16437     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16438         fmt.debug_struct("_Anonymous_e__Struct").field("nd_opt_pi_reserved3", &self.nd_opt_pi_reserved3).field("nd_opt_pi_site_prefix_len", &self.nd_opt_pi_site_prefix_len).finish()
16439     }
16440 }
16441 impl ::std::cmp::PartialEq for nd_opt_prefix_info_1_0 {
eq(&self, other: &Self) -> bool16442     fn eq(&self, other: &Self) -> bool {
16443         self.nd_opt_pi_reserved3 == other.nd_opt_pi_reserved3 && self.nd_opt_pi_site_prefix_len == other.nd_opt_pi_site_prefix_len
16444     }
16445 }
16446 impl ::std::cmp::Eq for nd_opt_prefix_info_1_0 {}
16447 unsafe impl ::windows::runtime::Abi for nd_opt_prefix_info_1_0 {
16448     type Abi = Self;
16449     type DefaultType = Self;
16450 }
16451 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16452 #[repr(C)]
16453 pub struct nd_opt_rd_hdr {
16454     pub nd_opt_rh_type: u8,
16455     pub nd_opt_rh_len: u8,
16456     pub nd_opt_rh_reserved1: u16,
16457     pub nd_opt_rh_reserved2: u32,
16458 }
16459 impl nd_opt_rd_hdr {}
16460 impl ::std::default::Default for nd_opt_rd_hdr {
default() -> Self16461     fn default() -> Self {
16462         unsafe { ::std::mem::zeroed() }
16463     }
16464 }
16465 impl ::std::fmt::Debug for nd_opt_rd_hdr {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16466     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16467         fmt.debug_struct("nd_opt_rd_hdr").field("nd_opt_rh_type", &self.nd_opt_rh_type).field("nd_opt_rh_len", &self.nd_opt_rh_len).field("nd_opt_rh_reserved1", &self.nd_opt_rh_reserved1).field("nd_opt_rh_reserved2", &self.nd_opt_rh_reserved2).finish()
16468     }
16469 }
16470 impl ::std::cmp::PartialEq for nd_opt_rd_hdr {
eq(&self, other: &Self) -> bool16471     fn eq(&self, other: &Self) -> bool {
16472         self.nd_opt_rh_type == other.nd_opt_rh_type && self.nd_opt_rh_len == other.nd_opt_rh_len && self.nd_opt_rh_reserved1 == other.nd_opt_rh_reserved1 && self.nd_opt_rh_reserved2 == other.nd_opt_rh_reserved2
16473     }
16474 }
16475 impl ::std::cmp::Eq for nd_opt_rd_hdr {}
16476 unsafe impl ::windows::runtime::Abi for nd_opt_rd_hdr {
16477     type Abi = Self;
16478     type DefaultType = Self;
16479 }
16480 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16481 #[repr(C)]
16482 pub struct nd_opt_rdnss {
16483     pub nd_opt_rdnss_type: u8,
16484     pub nd_opt_rdnss_len: u8,
16485     pub nd_opt_rdnss_reserved: u16,
16486     pub nd_opt_rdnss_lifetime: u32,
16487 }
16488 impl nd_opt_rdnss {}
16489 impl ::std::default::Default for nd_opt_rdnss {
default() -> Self16490     fn default() -> Self {
16491         unsafe { ::std::mem::zeroed() }
16492     }
16493 }
16494 impl ::std::fmt::Debug for nd_opt_rdnss {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16495     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16496         fmt.debug_struct("nd_opt_rdnss").field("nd_opt_rdnss_type", &self.nd_opt_rdnss_type).field("nd_opt_rdnss_len", &self.nd_opt_rdnss_len).field("nd_opt_rdnss_reserved", &self.nd_opt_rdnss_reserved).field("nd_opt_rdnss_lifetime", &self.nd_opt_rdnss_lifetime).finish()
16497     }
16498 }
16499 impl ::std::cmp::PartialEq for nd_opt_rdnss {
eq(&self, other: &Self) -> bool16500     fn eq(&self, other: &Self) -> bool {
16501         self.nd_opt_rdnss_type == other.nd_opt_rdnss_type && self.nd_opt_rdnss_len == other.nd_opt_rdnss_len && self.nd_opt_rdnss_reserved == other.nd_opt_rdnss_reserved && self.nd_opt_rdnss_lifetime == other.nd_opt_rdnss_lifetime
16502     }
16503 }
16504 impl ::std::cmp::Eq for nd_opt_rdnss {}
16505 unsafe impl ::windows::runtime::Abi for nd_opt_rdnss {
16506     type Abi = Self;
16507     type DefaultType = Self;
16508 }
16509 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16510 #[repr(C)]
16511 #[cfg(feature = "Win32_Networking_WinSock")]
16512 pub struct nd_opt_route_info {
16513     pub nd_opt_ri_type: u8,
16514     pub nd_opt_ri_len: u8,
16515     pub nd_opt_ri_prefix_len: u8,
16516     pub Anonymous: nd_opt_route_info_0,
16517     pub nd_opt_ri_route_lifetime: u32,
16518     pub nd_opt_ri_prefix: super::super::Networking::WinSock::IN6_ADDR,
16519 }
16520 #[cfg(feature = "Win32_Networking_WinSock")]
16521 impl nd_opt_route_info {}
16522 #[cfg(feature = "Win32_Networking_WinSock")]
16523 impl ::std::default::Default for nd_opt_route_info {
default() -> Self16524     fn default() -> Self {
16525         unsafe { ::std::mem::zeroed() }
16526     }
16527 }
16528 #[cfg(feature = "Win32_Networking_WinSock")]
16529 impl ::std::cmp::PartialEq for nd_opt_route_info {
eq(&self, _other: &Self) -> bool16530     fn eq(&self, _other: &Self) -> bool {
16531         unimplemented!()
16532     }
16533 }
16534 #[cfg(feature = "Win32_Networking_WinSock")]
16535 impl ::std::cmp::Eq for nd_opt_route_info {}
16536 #[cfg(feature = "Win32_Networking_WinSock")]
16537 unsafe impl ::windows::runtime::Abi for nd_opt_route_info {
16538     type Abi = Self;
16539     type DefaultType = Self;
16540 }
16541 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16542 #[repr(C)]
16543 pub union nd_opt_route_info_0 {
16544     pub nd_opt_ri_flags_reserved: u8,
16545     pub Flags: nd_opt_route_info_0_0,
16546 }
16547 impl nd_opt_route_info_0 {}
16548 impl ::std::default::Default for nd_opt_route_info_0 {
default() -> Self16549     fn default() -> Self {
16550         unsafe { ::std::mem::zeroed() }
16551     }
16552 }
16553 impl ::std::cmp::PartialEq for nd_opt_route_info_0 {
eq(&self, _other: &Self) -> bool16554     fn eq(&self, _other: &Self) -> bool {
16555         unimplemented!()
16556     }
16557 }
16558 impl ::std::cmp::Eq for nd_opt_route_info_0 {}
16559 unsafe impl ::windows::runtime::Abi for nd_opt_route_info_0 {
16560     type Abi = Self;
16561     type DefaultType = Self;
16562 }
16563 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16564 #[repr(C)]
16565 pub struct nd_opt_route_info_0_0 {
16566     pub _bitfield: u8,
16567 }
16568 impl nd_opt_route_info_0_0 {}
16569 impl ::std::default::Default for nd_opt_route_info_0_0 {
default() -> Self16570     fn default() -> Self {
16571         unsafe { ::std::mem::zeroed() }
16572     }
16573 }
16574 impl ::std::fmt::Debug for nd_opt_route_info_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16575     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16576         fmt.debug_struct("_Flags_e__Struct").field("_bitfield", &self._bitfield).finish()
16577     }
16578 }
16579 impl ::std::cmp::PartialEq for nd_opt_route_info_0_0 {
eq(&self, other: &Self) -> bool16580     fn eq(&self, other: &Self) -> bool {
16581         self._bitfield == other._bitfield
16582     }
16583 }
16584 impl ::std::cmp::Eq for nd_opt_route_info_0_0 {}
16585 unsafe impl ::windows::runtime::Abi for nd_opt_route_info_0_0 {
16586     type Abi = Self;
16587     type DefaultType = Self;
16588 }
16589 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16590 #[repr(C)]
16591 #[cfg(feature = "Win32_Networking_WinSock")]
16592 pub struct nd_redirect {
16593     pub nd_rd_hdr: ICMP_MESSAGE,
16594     pub nd_rd_target: super::super::Networking::WinSock::IN6_ADDR,
16595     pub nd_rd_dst: super::super::Networking::WinSock::IN6_ADDR,
16596 }
16597 #[cfg(feature = "Win32_Networking_WinSock")]
16598 impl nd_redirect {}
16599 #[cfg(feature = "Win32_Networking_WinSock")]
16600 impl ::std::default::Default for nd_redirect {
default() -> Self16601     fn default() -> Self {
16602         unsafe { ::std::mem::zeroed() }
16603     }
16604 }
16605 #[cfg(feature = "Win32_Networking_WinSock")]
16606 impl ::std::cmp::PartialEq for nd_redirect {
eq(&self, _other: &Self) -> bool16607     fn eq(&self, _other: &Self) -> bool {
16608         unimplemented!()
16609     }
16610 }
16611 #[cfg(feature = "Win32_Networking_WinSock")]
16612 impl ::std::cmp::Eq for nd_redirect {}
16613 #[cfg(feature = "Win32_Networking_WinSock")]
16614 unsafe impl ::windows::runtime::Abi for nd_redirect {
16615     type Abi = Self;
16616     type DefaultType = Self;
16617 }
16618 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16619 #[repr(C)]
16620 pub struct nd_router_advert {
16621     pub nd_ra_hdr: ICMP_MESSAGE,
16622     pub nd_ra_reachable: u32,
16623     pub nd_ra_retransmit: u32,
16624 }
16625 impl nd_router_advert {}
16626 impl ::std::default::Default for nd_router_advert {
default() -> Self16627     fn default() -> Self {
16628         unsafe { ::std::mem::zeroed() }
16629     }
16630 }
16631 impl ::std::cmp::PartialEq for nd_router_advert {
eq(&self, _other: &Self) -> bool16632     fn eq(&self, _other: &Self) -> bool {
16633         unimplemented!()
16634     }
16635 }
16636 impl ::std::cmp::Eq for nd_router_advert {}
16637 unsafe impl ::windows::runtime::Abi for nd_router_advert {
16638     type Abi = Self;
16639     type DefaultType = Self;
16640 }
16641 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16642 #[repr(C)]
16643 pub struct nd_router_solicit {
16644     pub nd_rs_hdr: ICMP_MESSAGE,
16645 }
16646 impl nd_router_solicit {}
16647 impl ::std::default::Default for nd_router_solicit {
default() -> Self16648     fn default() -> Self {
16649         unsafe { ::std::mem::zeroed() }
16650     }
16651 }
16652 impl ::std::cmp::PartialEq for nd_router_solicit {
eq(&self, _other: &Self) -> bool16653     fn eq(&self, _other: &Self) -> bool {
16654         unimplemented!()
16655     }
16656 }
16657 impl ::std::cmp::Eq for nd_router_solicit {}
16658 unsafe impl ::windows::runtime::Abi for nd_router_solicit {
16659     type Abi = Self;
16660     type DefaultType = Self;
16661 }
16662 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16663 #[repr(C, packed(1))]
16664 pub struct tcp_hdr {
16665     pub th_sport: u16,
16666     pub th_dport: u16,
16667     pub th_seq: u32,
16668     pub th_ack: u32,
16669     pub _bitfield: u8,
16670     pub th_flags: u8,
16671     pub th_win: u16,
16672     pub th_sum: u16,
16673     pub th_urp: u16,
16674 }
16675 impl tcp_hdr {}
16676 impl ::std::default::Default for tcp_hdr {
default() -> Self16677     fn default() -> Self {
16678         unsafe { ::std::mem::zeroed() }
16679     }
16680 }
16681 impl ::std::cmp::PartialEq for tcp_hdr {
eq(&self, _other: &Self) -> bool16682     fn eq(&self, _other: &Self) -> bool {
16683         unimplemented!()
16684     }
16685 }
16686 impl ::std::cmp::Eq for tcp_hdr {}
16687 unsafe impl ::windows::runtime::Abi for tcp_hdr {
16688     type Abi = Self;
16689     type DefaultType = Self;
16690 }
16691 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16692 #[repr(C)]
16693 pub struct tcp_opt_fastopen {
16694     pub Kind: u8,
16695     pub Length: u8,
16696     pub Cookie: [u8; 1],
16697 }
16698 impl tcp_opt_fastopen {}
16699 impl ::std::default::Default for tcp_opt_fastopen {
default() -> Self16700     fn default() -> Self {
16701         unsafe { ::std::mem::zeroed() }
16702     }
16703 }
16704 impl ::std::fmt::Debug for tcp_opt_fastopen {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16705     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16706         fmt.debug_struct("tcp_opt_fastopen").field("Kind", &self.Kind).field("Length", &self.Length).field("Cookie", &self.Cookie).finish()
16707     }
16708 }
16709 impl ::std::cmp::PartialEq for tcp_opt_fastopen {
eq(&self, other: &Self) -> bool16710     fn eq(&self, other: &Self) -> bool {
16711         self.Kind == other.Kind && self.Length == other.Length && self.Cookie == other.Cookie
16712     }
16713 }
16714 impl ::std::cmp::Eq for tcp_opt_fastopen {}
16715 unsafe impl ::windows::runtime::Abi for tcp_opt_fastopen {
16716     type Abi = Self;
16717     type DefaultType = Self;
16718 }
16719 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16720 #[repr(C, packed(1))]
16721 pub struct tcp_opt_mss {
16722     pub Kind: u8,
16723     pub Length: u8,
16724     pub Mss: u16,
16725 }
16726 impl tcp_opt_mss {}
16727 impl ::std::default::Default for tcp_opt_mss {
default() -> Self16728     fn default() -> Self {
16729         unsafe { ::std::mem::zeroed() }
16730     }
16731 }
16732 impl ::std::cmp::PartialEq for tcp_opt_mss {
eq(&self, _other: &Self) -> bool16733     fn eq(&self, _other: &Self) -> bool {
16734         unimplemented!()
16735     }
16736 }
16737 impl ::std::cmp::Eq for tcp_opt_mss {}
16738 unsafe impl ::windows::runtime::Abi for tcp_opt_mss {
16739     type Abi = Self;
16740     type DefaultType = Self;
16741 }
16742 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16743 #[repr(C)]
16744 pub struct tcp_opt_sack {
16745     pub Kind: u8,
16746     pub Length: u8,
16747     pub Block: [tcp_opt_sack_0; 1],
16748 }
16749 impl tcp_opt_sack {}
16750 impl ::std::default::Default for tcp_opt_sack {
default() -> Self16751     fn default() -> Self {
16752         unsafe { ::std::mem::zeroed() }
16753     }
16754 }
16755 impl ::std::cmp::PartialEq for tcp_opt_sack {
eq(&self, _other: &Self) -> bool16756     fn eq(&self, _other: &Self) -> bool {
16757         unimplemented!()
16758     }
16759 }
16760 impl ::std::cmp::Eq for tcp_opt_sack {}
16761 unsafe impl ::windows::runtime::Abi for tcp_opt_sack {
16762     type Abi = Self;
16763     type DefaultType = Self;
16764 }
16765 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16766 #[repr(C, packed(1))]
16767 pub struct tcp_opt_sack_0 {
16768     pub Left: u32,
16769     pub Right: u32,
16770 }
16771 impl tcp_opt_sack_0 {}
16772 impl ::std::default::Default for tcp_opt_sack_0 {
default() -> Self16773     fn default() -> Self {
16774         unsafe { ::std::mem::zeroed() }
16775     }
16776 }
16777 impl ::std::cmp::PartialEq for tcp_opt_sack_0 {
eq(&self, _other: &Self) -> bool16778     fn eq(&self, _other: &Self) -> bool {
16779         unimplemented!()
16780     }
16781 }
16782 impl ::std::cmp::Eq for tcp_opt_sack_0 {}
16783 unsafe impl ::windows::runtime::Abi for tcp_opt_sack_0 {
16784     type Abi = Self;
16785     type DefaultType = Self;
16786 }
16787 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16788 #[repr(C)]
16789 pub struct tcp_opt_sack_permitted {
16790     pub Kind: u8,
16791     pub Length: u8,
16792 }
16793 impl tcp_opt_sack_permitted {}
16794 impl ::std::default::Default for tcp_opt_sack_permitted {
default() -> Self16795     fn default() -> Self {
16796         unsafe { ::std::mem::zeroed() }
16797     }
16798 }
16799 impl ::std::fmt::Debug for tcp_opt_sack_permitted {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16800     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16801         fmt.debug_struct("tcp_opt_sack_permitted").field("Kind", &self.Kind).field("Length", &self.Length).finish()
16802     }
16803 }
16804 impl ::std::cmp::PartialEq for tcp_opt_sack_permitted {
eq(&self, other: &Self) -> bool16805     fn eq(&self, other: &Self) -> bool {
16806         self.Kind == other.Kind && self.Length == other.Length
16807     }
16808 }
16809 impl ::std::cmp::Eq for tcp_opt_sack_permitted {}
16810 unsafe impl ::windows::runtime::Abi for tcp_opt_sack_permitted {
16811     type Abi = Self;
16812     type DefaultType = Self;
16813 }
16814 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16815 #[repr(C, packed(1))]
16816 pub struct tcp_opt_ts {
16817     pub Kind: u8,
16818     pub Length: u8,
16819     pub Val: u32,
16820     pub EcR: u32,
16821 }
16822 impl tcp_opt_ts {}
16823 impl ::std::default::Default for tcp_opt_ts {
default() -> Self16824     fn default() -> Self {
16825         unsafe { ::std::mem::zeroed() }
16826     }
16827 }
16828 impl ::std::cmp::PartialEq for tcp_opt_ts {
eq(&self, _other: &Self) -> bool16829     fn eq(&self, _other: &Self) -> bool {
16830         unimplemented!()
16831     }
16832 }
16833 impl ::std::cmp::Eq for tcp_opt_ts {}
16834 unsafe impl ::windows::runtime::Abi for tcp_opt_ts {
16835     type Abi = Self;
16836     type DefaultType = Self;
16837 }
16838 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16839 #[repr(C)]
16840 pub struct tcp_opt_unknown {
16841     pub Kind: u8,
16842     pub Length: u8,
16843 }
16844 impl tcp_opt_unknown {}
16845 impl ::std::default::Default for tcp_opt_unknown {
default() -> Self16846     fn default() -> Self {
16847         unsafe { ::std::mem::zeroed() }
16848     }
16849 }
16850 impl ::std::fmt::Debug for tcp_opt_unknown {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16851     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16852         fmt.debug_struct("tcp_opt_unknown").field("Kind", &self.Kind).field("Length", &self.Length).finish()
16853     }
16854 }
16855 impl ::std::cmp::PartialEq for tcp_opt_unknown {
eq(&self, other: &Self) -> bool16856     fn eq(&self, other: &Self) -> bool {
16857         self.Kind == other.Kind && self.Length == other.Length
16858     }
16859 }
16860 impl ::std::cmp::Eq for tcp_opt_unknown {}
16861 unsafe impl ::windows::runtime::Abi for tcp_opt_unknown {
16862     type Abi = Self;
16863     type DefaultType = Self;
16864 }
16865 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
16866 #[repr(C)]
16867 pub struct tcp_opt_ws {
16868     pub Kind: u8,
16869     pub Length: u8,
16870     pub ShiftCnt: u8,
16871 }
16872 impl tcp_opt_ws {}
16873 impl ::std::default::Default for tcp_opt_ws {
default() -> Self16874     fn default() -> Self {
16875         unsafe { ::std::mem::zeroed() }
16876     }
16877 }
16878 impl ::std::fmt::Debug for tcp_opt_ws {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result16879     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16880         fmt.debug_struct("tcp_opt_ws").field("Kind", &self.Kind).field("Length", &self.Length).field("ShiftCnt", &self.ShiftCnt).finish()
16881     }
16882 }
16883 impl ::std::cmp::PartialEq for tcp_opt_ws {
eq(&self, other: &Self) -> bool16884     fn eq(&self, other: &Self) -> bool {
16885         self.Kind == other.Kind && self.Length == other.Length && self.ShiftCnt == other.ShiftCnt
16886     }
16887 }
16888 impl ::std::cmp::Eq for tcp_opt_ws {}
16889 unsafe impl ::windows::runtime::Abi for tcp_opt_ws {
16890     type Abi = Self;
16891     type DefaultType = Self;
16892 }
16893