1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmCalloutAdd0(enginehandle: super::super::Foundation::HANDLE, callout: *const FWPM_CALLOUT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u32) -> u325     pub fn FwpmCalloutAdd0(enginehandle: super::super::Foundation::HANDLE, callout: *const FWPM_CALLOUT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u32) -> u32;
6     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_CALLOUT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u327     pub fn FwpmCalloutCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_CALLOUT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
8     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u32) -> u329     pub fn FwpmCalloutDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u32) -> u32;
10     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u3211     pub fn FwpmCalloutDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32;
12     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u3213     pub fn FwpmCalloutDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
14     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CALLOUT0, numentriesreturned: *mut u32) -> u3215     pub fn FwpmCalloutEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CALLOUT0, numentriesreturned: *mut u32) -> u32;
16     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutGetById0(enginehandle: super::super::Foundation::HANDLE, id: u32, callout: *mut *mut FWPM_CALLOUT0) -> u3217     pub fn FwpmCalloutGetById0(enginehandle: super::super::Foundation::HANDLE, id: u32, callout: *mut *mut FWPM_CALLOUT0) -> u32;
18     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, callout: *mut *mut FWPM_CALLOUT0) -> u3219     pub fn FwpmCalloutGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, callout: *mut *mut FWPM_CALLOUT0) -> u32;
20     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmCalloutGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u3221     pub fn FwpmCalloutGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
22     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmCalloutSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u3223     pub fn FwpmCalloutSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
24     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_CALLOUT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_CALLOUT_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u3225     pub fn FwpmCalloutSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_CALLOUT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_CALLOUT_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
26     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_CALLOUT_SUBSCRIPTION0, numentries: *mut u32) -> u3227     pub fn FwpmCalloutSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_CALLOUT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
28     #[cfg(feature = "Win32_Foundation")]
FwpmCalloutUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u3229     pub fn FwpmCalloutUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
30     #[cfg(feature = "Win32_Foundation")]
FwpmConnectionCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_CONNECTION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u3231     pub fn FwpmConnectionCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_CONNECTION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
32     #[cfg(feature = "Win32_Foundation")]
FwpmConnectionDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u3233     pub fn FwpmConnectionDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
34     #[cfg(feature = "Win32_Foundation")]
FwpmConnectionEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CONNECTION0, numentriesreturned: *mut u32) -> u3235     pub fn FwpmConnectionEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_CONNECTION0, numentriesreturned: *mut u32) -> u32;
36     #[cfg(feature = "Win32_Foundation")]
FwpmConnectionGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, connection: *mut *mut FWPM_CONNECTION0) -> u3237     pub fn FwpmConnectionGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, connection: *mut *mut FWPM_CONNECTION0) -> u32;
38     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u3239     pub 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;
40     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u3241     pub 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;
42     #[cfg(feature = "Win32_Foundation")]
FwpmConnectionSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_CONNECTION_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_CONNECTION_CALLBACK0>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u3243     pub fn FwpmConnectionSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_CONNECTION_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_CONNECTION_CALLBACK0>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
44     #[cfg(feature = "Win32_Foundation")]
FwpmConnectionUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u3245     pub fn FwpmConnectionUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32;
46     #[cfg(feature = "Win32_Foundation")]
FwpmDynamicKeywordSubscribe0(flags: u32, callback: ::core::option::Option<FWPM_DYNAMIC_KEYWORD_CALLBACK0>, context: *const ::core::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u3247     pub fn FwpmDynamicKeywordSubscribe0(flags: u32, callback: ::core::option::Option<FWPM_DYNAMIC_KEYWORD_CALLBACK0>, context: *const ::core::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32;
48     #[cfg(feature = "Win32_Foundation")]
FwpmDynamicKeywordUnsubscribe0(subscriptionhandle: super::super::Foundation::HANDLE) -> u3249     pub fn FwpmDynamicKeywordUnsubscribe0(subscriptionhandle: super::super::Foundation::HANDLE) -> u32;
50     #[cfg(feature = "Win32_Foundation")]
FwpmEngineClose0(enginehandle: super::super::Foundation::HANDLE) -> u3251     pub fn FwpmEngineClose0(enginehandle: super::super::Foundation::HANDLE) -> u32;
52     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmEngineGetOption0(enginehandle: super::super::Foundation::HANDLE, option: FWPM_ENGINE_OPTION, value: *mut *mut FWP_VALUE0) -> u3253     pub fn FwpmEngineGetOption0(enginehandle: super::super::Foundation::HANDLE, option: FWPM_ENGINE_OPTION, value: *mut *mut FWP_VALUE0) -> u32;
54     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u3255     pub 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;
56     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security", feature = "Win32_System_Rpc"))]
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) -> u3257     pub 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;
58     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmEngineSetOption0(enginehandle: super::super::Foundation::HANDLE, option: FWPM_ENGINE_OPTION, newvalue: *const FWP_VALUE0) -> u3259     pub fn FwpmEngineSetOption0(enginehandle: super::super::Foundation::HANDLE, option: FWPM_ENGINE_OPTION, newvalue: *const FWP_VALUE0) -> u32;
60     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u3261     pub 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;
62     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterAdd0(enginehandle: super::super::Foundation::HANDLE, filter: *const FWPM_FILTER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u3263     pub fn FwpmFilterAdd0(enginehandle: super::super::Foundation::HANDLE, filter: *const FWPM_FILTER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
64     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_FILTER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u3265     pub fn FwpmFilterCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_FILTER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
66     #[cfg(feature = "Win32_Foundation")]
FwpmFilterDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u3267     pub fn FwpmFilterDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
68     #[cfg(feature = "Win32_Foundation")]
FwpmFilterDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u3269     pub fn FwpmFilterDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32;
70     #[cfg(feature = "Win32_Foundation")]
FwpmFilterDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u3271     pub fn FwpmFilterDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
72     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_FILTER0, numentriesreturned: *mut u32) -> u3273     pub fn FwpmFilterEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_FILTER0, numentriesreturned: *mut u32) -> u32;
74     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, filter: *mut *mut FWPM_FILTER0) -> u3275     pub fn FwpmFilterGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, filter: *mut *mut FWPM_FILTER0) -> u32;
76     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, filter: *mut *mut FWPM_FILTER0) -> u3277     pub fn FwpmFilterGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, filter: *mut *mut FWPM_FILTER0) -> u32;
78     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u3279     pub fn FwpmFilterGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
80     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u3281     pub fn FwpmFilterSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
82     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_FILTER_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_FILTER_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u3283     pub fn FwpmFilterSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_FILTER_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_FILTER_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
84     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmFilterSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_FILTER_SUBSCRIPTION0, numentries: *mut u32) -> u3285     pub fn FwpmFilterSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_FILTER_SUBSCRIPTION0, numentries: *mut u32) -> u32;
86     #[cfg(feature = "Win32_Foundation")]
FwpmFilterUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u3287     pub fn FwpmFilterUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
FwpmFreeMemory0(p: *mut *mut ::core::ffi::c_void)88     pub fn FwpmFreeMemory0(p: *mut *mut ::core::ffi::c_void);
89     #[cfg(feature = "Win32_Foundation")]
FwpmGetAppIdFromFileName0(filename: super::super::Foundation::PWSTR, appid: *mut *mut FWP_BYTE_BLOB) -> u3290     pub fn FwpmGetAppIdFromFileName0(filename: super::super::Foundation::PWSTR, appid: *mut *mut FWP_BYTE_BLOB) -> u32;
91     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u3292     pub 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;
93     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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_sys::core::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u3294     pub 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_sys::core::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
95     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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_sys::core::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u3296     pub 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_sys::core::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
97     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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_sys::core::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u3298     pub 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_sys::core::GUID, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
99     #[cfg(feature = "Win32_Foundation")]
FwpmIPsecTunnelDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32100     pub fn FwpmIPsecTunnelDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32;
101     #[cfg(feature = "Win32_Foundation")]
FwpmLayerCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_LAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32102     pub fn FwpmLayerCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_LAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
103     #[cfg(feature = "Win32_Foundation")]
FwpmLayerDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32104     pub fn FwpmLayerDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
105     #[cfg(feature = "Win32_Foundation")]
FwpmLayerEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_LAYER0, numentriesreturned: *mut u32) -> u32106     pub fn FwpmLayerEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_LAYER0, numentriesreturned: *mut u32) -> u32;
107     #[cfg(feature = "Win32_Foundation")]
FwpmLayerGetById0(enginehandle: super::super::Foundation::HANDLE, id: u16, layer: *mut *mut FWPM_LAYER0) -> u32108     pub fn FwpmLayerGetById0(enginehandle: super::super::Foundation::HANDLE, id: u16, layer: *mut *mut FWPM_LAYER0) -> u32;
109     #[cfg(feature = "Win32_Foundation")]
FwpmLayerGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, layer: *mut *mut FWPM_LAYER0) -> u32110     pub fn FwpmLayerGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, layer: *mut *mut FWPM_LAYER0) -> u32;
111     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmLayerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32112     pub fn FwpmLayerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
113     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmLayerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32114     pub fn FwpmLayerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
115     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_NET_EVENT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32116     pub fn FwpmNetEventCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_NET_EVENT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
117     #[cfg(feature = "Win32_Foundation")]
FwpmNetEventDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32118     pub fn FwpmNetEventDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
119     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT0, numentriesreturned: *mut u32) -> u32120     pub 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;
121     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT1, numentriesreturned: *mut u32) -> u32122     pub 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;
123     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventEnum2(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT2, numentriesreturned: *mut u32) -> u32124     pub 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;
125     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventEnum3(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT3, numentriesreturned: *mut u32) -> u32126     pub 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;
127     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventEnum4(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT4_, numentriesreturned: *mut u32) -> u32128     pub 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;
129     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventEnum5(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_NET_EVENT5_, numentriesreturned: *mut u32) -> u32130     pub 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;
131     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK0>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32132     pub fn FwpmNetEventSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK0>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
133     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventSubscribe1(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK1>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32134     pub fn FwpmNetEventSubscribe1(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK1>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
135     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventSubscribe2(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK2>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32136     pub fn FwpmNetEventSubscribe2(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK2>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
137     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventSubscribe3(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK3>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32138     pub fn FwpmNetEventSubscribe3(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK3>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
139     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventSubscribe4(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK4>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32140     pub fn FwpmNetEventSubscribe4(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_NET_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_NET_EVENT_CALLBACK4>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
141     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmNetEventSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_NET_EVENT_SUBSCRIPTION0, numentries: *mut u32) -> u32142     pub fn FwpmNetEventSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_NET_EVENT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
143     #[cfg(feature = "Win32_Foundation")]
FwpmNetEventUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32144     pub fn FwpmNetEventUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32;
145     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32146     pub 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;
147     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32148     pub 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;
149     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderAdd0(enginehandle: super::super::Foundation::HANDLE, provider: *const FWPM_PROVIDER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32150     pub fn FwpmProviderAdd0(enginehandle: super::super::Foundation::HANDLE, provider: *const FWPM_PROVIDER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
151     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextAdd0(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32152     pub fn FwpmProviderContextAdd0(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT0, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
153     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextAdd1(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT1, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32154     pub fn FwpmProviderContextAdd1(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT1, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
155     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextAdd2(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT2, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32156     pub fn FwpmProviderContextAdd2(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT2, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
157     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextAdd3(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT3_, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32158     pub fn FwpmProviderContextAdd3(enginehandle: super::super::Foundation::HANDLE, providercontext: *const FWPM_PROVIDER_CONTEXT3_, sd: *const super::super::Security::SECURITY_DESCRIPTOR, id: *mut u64) -> u32;
159     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32160     pub fn FwpmProviderContextCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
161     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32162     pub fn FwpmProviderContextDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
163     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32164     pub fn FwpmProviderContextDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32;
165     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32166     pub fn FwpmProviderContextDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
167     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT0, numentriesreturned: *mut u32) -> u32168     pub 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;
169     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT1, numentriesreturned: *mut u32) -> u32170     pub 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;
171     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextEnum2(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT2, numentriesreturned: *mut u32) -> u32172     pub 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;
173     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextEnum3(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT3_, numentriesreturned: *mut u32) -> u32174     pub 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;
175     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32176     pub fn FwpmProviderContextGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32;
177     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32178     pub fn FwpmProviderContextGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32;
179     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetById2(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32180     pub fn FwpmProviderContextGetById2(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32;
181     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetById3(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32182     pub fn FwpmProviderContextGetById3(enginehandle: super::super::Foundation::HANDLE, id: u64, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32;
183     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32184     pub fn FwpmProviderContextGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT0) -> u32;
185     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetByKey1(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32186     pub fn FwpmProviderContextGetByKey1(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT1) -> u32;
187     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetByKey2(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32188     pub fn FwpmProviderContextGetByKey2(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT2) -> u32;
189     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetByKey3(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32190     pub fn FwpmProviderContextGetByKey3(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, providercontext: *mut *mut FWPM_PROVIDER_CONTEXT3_) -> u32;
191     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32192     pub fn FwpmProviderContextGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
193     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderContextSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32194     pub fn FwpmProviderContextSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
195     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32196     pub fn FwpmProviderContextSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
197     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32198     pub fn FwpmProviderContextSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
199     #[cfg(feature = "Win32_Foundation")]
FwpmProviderContextUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32200     pub fn FwpmProviderContextUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
201     #[cfg(feature = "Win32_Foundation")]
FwpmProviderCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_PROVIDER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32202     pub fn FwpmProviderCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_PROVIDER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
203     #[cfg(feature = "Win32_Foundation")]
FwpmProviderDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32204     pub fn FwpmProviderDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32;
205     #[cfg(feature = "Win32_Foundation")]
FwpmProviderDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32206     pub fn FwpmProviderDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
207     #[cfg(feature = "Win32_Foundation")]
FwpmProviderEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER0, numentriesreturned: *mut u32) -> u32208     pub fn FwpmProviderEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_PROVIDER0, numentriesreturned: *mut u32) -> u32;
209     #[cfg(feature = "Win32_Foundation")]
FwpmProviderGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, provider: *mut *mut FWPM_PROVIDER0) -> u32210     pub fn FwpmProviderGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, provider: *mut *mut FWPM_PROVIDER0) -> u32;
211     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32212     pub fn FwpmProviderGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
213     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmProviderSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32214     pub fn FwpmProviderSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
215     #[cfg(feature = "Win32_Foundation")]
FwpmProviderSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_PROVIDER_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_PROVIDER_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32216     pub fn FwpmProviderSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_PROVIDER_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_PROVIDER_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
217     #[cfg(feature = "Win32_Foundation")]
FwpmProviderSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_PROVIDER_SUBSCRIPTION0, numentries: *mut u32) -> u32218     pub fn FwpmProviderSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_PROVIDER_SUBSCRIPTION0, numentries: *mut u32) -> u32;
219     #[cfg(feature = "Win32_Foundation")]
FwpmProviderUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32220     pub fn FwpmProviderUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
221     #[cfg(feature = "Win32_Foundation")]
FwpmSessionCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_SESSION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32222     pub fn FwpmSessionCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_SESSION_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
223     #[cfg(feature = "Win32_Foundation")]
FwpmSessionDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32224     pub fn FwpmSessionDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
225     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmSessionEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SESSION0, numentriesreturned: *mut u32) -> u32226     pub fn FwpmSessionEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SESSION0, numentriesreturned: *mut u32) -> u32;
227     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmSubLayerAdd0(enginehandle: super::super::Foundation::HANDLE, sublayer: *const FWPM_SUBLAYER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32228     pub fn FwpmSubLayerAdd0(enginehandle: super::super::Foundation::HANDLE, sublayer: *const FWPM_SUBLAYER0, sd: *const super::super::Security::SECURITY_DESCRIPTOR) -> u32;
229     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_SUBLAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32230     pub fn FwpmSubLayerCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const FWPM_SUBLAYER_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
231     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32232     pub fn FwpmSubLayerDeleteByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID) -> u32;
233     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32234     pub fn FwpmSubLayerDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
235     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SUBLAYER0, numentriesreturned: *mut u32) -> u32236     pub fn FwpmSubLayerEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut FWPM_SUBLAYER0, numentriesreturned: *mut u32) -> u32;
237     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, sublayer: *mut *mut FWPM_SUBLAYER0) -> u32238     pub fn FwpmSubLayerGetByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::GUID, sublayer: *mut *mut FWPM_SUBLAYER0) -> u32;
239     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmSubLayerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32240     pub fn FwpmSubLayerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
241     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
FwpmSubLayerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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) -> u32242     pub fn FwpmSubLayerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, key: *const ::windows_sys::core::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;
243     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_SUBLAYER_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_SUBLAYER_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32244     pub fn FwpmSubLayerSubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_SUBLAYER_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_SUBLAYER_CHANGE_CALLBACK0>, context: *const ::core::ffi::c_void, changehandle: *mut super::super::Foundation::HANDLE) -> u32;
245     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_SUBLAYER_SUBSCRIPTION0, numentries: *mut u32) -> u32246     pub fn FwpmSubLayerSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut FWPM_SUBLAYER_SUBSCRIPTION0, numentries: *mut u32) -> u32;
247     #[cfg(feature = "Win32_Foundation")]
FwpmSubLayerUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32248     pub fn FwpmSubLayerUnsubscribeChanges0(enginehandle: super::super::Foundation::HANDLE, changehandle: super::super::Foundation::HANDLE) -> u32;
249     #[cfg(feature = "Win32_Foundation")]
FwpmSystemPortsGet0(enginehandle: super::super::Foundation::HANDLE, sysports: *mut *mut FWPM_SYSTEM_PORTS0) -> u32250     pub fn FwpmSystemPortsGet0(enginehandle: super::super::Foundation::HANDLE, sysports: *mut *mut FWPM_SYSTEM_PORTS0) -> u32;
251     #[cfg(feature = "Win32_Foundation")]
FwpmSystemPortsSubscribe0(enginehandle: super::super::Foundation::HANDLE, reserved: *mut ::core::ffi::c_void, callback: ::core::option::Option<FWPM_SYSTEM_PORTS_CALLBACK0>, context: *const ::core::ffi::c_void, sysportshandle: *mut super::super::Foundation::HANDLE) -> u32252     pub fn FwpmSystemPortsSubscribe0(enginehandle: super::super::Foundation::HANDLE, reserved: *mut ::core::ffi::c_void, callback: ::core::option::Option<FWPM_SYSTEM_PORTS_CALLBACK0>, context: *const ::core::ffi::c_void, sysportshandle: *mut super::super::Foundation::HANDLE) -> u32;
253     #[cfg(feature = "Win32_Foundation")]
FwpmSystemPortsUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, sysportshandle: super::super::Foundation::HANDLE) -> u32254     pub fn FwpmSystemPortsUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, sysportshandle: super::super::Foundation::HANDLE) -> u32;
255     #[cfg(feature = "Win32_Foundation")]
FwpmTransactionAbort0(enginehandle: super::super::Foundation::HANDLE) -> u32256     pub fn FwpmTransactionAbort0(enginehandle: super::super::Foundation::HANDLE) -> u32;
257     #[cfg(feature = "Win32_Foundation")]
FwpmTransactionBegin0(enginehandle: super::super::Foundation::HANDLE, flags: u32) -> u32258     pub fn FwpmTransactionBegin0(enginehandle: super::super::Foundation::HANDLE, flags: u32) -> u32;
259     #[cfg(feature = "Win32_Foundation")]
FwpmTransactionCommit0(enginehandle: super::super::Foundation::HANDLE) -> u32260     pub fn FwpmTransactionCommit0(enginehandle: super::super::Foundation::HANDLE) -> u32;
261     #[cfg(feature = "Win32_Foundation")]
FwpmvSwitchEventSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_VSWITCH_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_VSWITCH_EVENT_CALLBACK0>, context: *const ::core::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32262     pub fn FwpmvSwitchEventSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const FWPM_VSWITCH_EVENT_SUBSCRIPTION0, callback: ::core::option::Option<FWPM_VSWITCH_EVENT_CALLBACK0>, context: *const ::core::ffi::c_void, subscriptionhandle: *mut super::super::Foundation::HANDLE) -> u32;
263     #[cfg(feature = "Win32_Foundation")]
FwpmvSwitchEventUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, subscriptionhandle: super::super::Foundation::HANDLE) -> u32264     pub fn FwpmvSwitchEventUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, subscriptionhandle: super::super::Foundation::HANDLE) -> u32;
265     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32266     pub 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;
267     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32268     pub 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;
269     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32270     pub 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;
271     #[cfg(feature = "Win32_Foundation")]
IPsecDospGetStatistics0(enginehandle: super::super::Foundation::HANDLE, idpstatistics: *mut IPSEC_DOSP_STATISTICS0) -> u32272     pub fn IPsecDospGetStatistics0(enginehandle: super::super::Foundation::HANDLE, idpstatistics: *mut IPSEC_DOSP_STATISTICS0) -> u32;
273     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32274     pub 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;
275     #[cfg(feature = "Win32_Foundation")]
IPsecDospStateCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_DOSP_STATE_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32276     pub fn IPsecDospStateCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_DOSP_STATE_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
277     #[cfg(feature = "Win32_Foundation")]
IPsecDospStateDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32278     pub fn IPsecDospStateDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
279     #[cfg(feature = "Win32_Foundation")]
IPsecDospStateEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_DOSP_STATE0, numentries: *mut u32) -> u32280     pub 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;
281     #[cfg(feature = "Win32_Foundation")]
IPsecGetStatistics0(enginehandle: super::super::Foundation::HANDLE, ipsecstatistics: *mut IPSEC_STATISTICS0) -> u32282     pub fn IPsecGetStatistics0(enginehandle: super::super::Foundation::HANDLE, ipsecstatistics: *mut IPSEC_STATISTICS0) -> u32;
283     #[cfg(feature = "Win32_Foundation")]
IPsecGetStatistics1(enginehandle: super::super::Foundation::HANDLE, ipsecstatistics: *mut IPSEC_STATISTICS1) -> u32284     pub fn IPsecGetStatistics1(enginehandle: super::super::Foundation::HANDLE, ipsecstatistics: *mut IPSEC_STATISTICS1) -> u32;
285     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecKeyManagerAddAndRegister0(enginehandle: super::super::Foundation::HANDLE, keymanager: *const IPSEC_KEY_MANAGER0, keymanagercallbacks: *const IPSEC_KEY_MANAGER_CALLBACKS0, keymgmthandle: *mut super::super::Foundation::HANDLE) -> u32286     pub fn IPsecKeyManagerAddAndRegister0(enginehandle: super::super::Foundation::HANDLE, keymanager: *const IPSEC_KEY_MANAGER0, keymanagercallbacks: *const IPSEC_KEY_MANAGER_CALLBACKS0, keymgmthandle: *mut super::super::Foundation::HANDLE) -> u32;
287     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecKeyManagerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, reserved: *const ::core::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) -> u32288     pub fn IPsecKeyManagerGetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, reserved: *const ::core::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;
289     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecKeyManagerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, reserved: *const ::core::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) -> u32290     pub fn IPsecKeyManagerSetSecurityInfoByKey0(enginehandle: super::super::Foundation::HANDLE, reserved: *const ::core::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;
291     #[cfg(feature = "Win32_Foundation")]
IPsecKeyManagerUnregisterAndDelete0(enginehandle: super::super::Foundation::HANDLE, keymgmthandle: super::super::Foundation::HANDLE) -> u32292     pub fn IPsecKeyManagerUnregisterAndDelete0(enginehandle: super::super::Foundation::HANDLE, keymgmthandle: super::super::Foundation::HANDLE) -> u32;
293     #[cfg(feature = "Win32_Foundation")]
IPsecKeyManagersGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut IPSEC_KEY_MANAGER0, numentries: *mut u32) -> u32294     pub fn IPsecKeyManagersGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut IPSEC_KEY_MANAGER0, numentries: *mut u32) -> u32;
295     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextAddInbound0(enginehandle: super::super::Foundation::HANDLE, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE0) -> u32296     pub fn IPsecSaContextAddInbound0(enginehandle: super::super::Foundation::HANDLE, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE0) -> u32;
297     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextAddInbound1(enginehandle: super::super::Foundation::HANDLE, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE1) -> u32298     pub fn IPsecSaContextAddInbound1(enginehandle: super::super::Foundation::HANDLE, id: u64, inboundbundle: *const IPSEC_SA_BUNDLE1) -> u32;
299     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextAddOutbound0(enginehandle: super::super::Foundation::HANDLE, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE0) -> u32300     pub fn IPsecSaContextAddOutbound0(enginehandle: super::super::Foundation::HANDLE, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE0) -> u32;
301     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextAddOutbound1(enginehandle: super::super::Foundation::HANDLE, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE1) -> u32302     pub fn IPsecSaContextAddOutbound1(enginehandle: super::super::Foundation::HANDLE, id: u64, outboundbundle: *const IPSEC_SA_BUNDLE1) -> u32;
303     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextCreate0(enginehandle: super::super::Foundation::HANDLE, outboundtraffic: *const IPSEC_TRAFFIC0, inboundfilterid: *mut u64, id: *mut u64) -> u32304     pub fn IPsecSaContextCreate0(enginehandle: super::super::Foundation::HANDLE, outboundtraffic: *const IPSEC_TRAFFIC0, inboundfilterid: *mut u64, id: *mut u64) -> u32;
305     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextCreate1(enginehandle: super::super::Foundation::HANDLE, outboundtraffic: *const IPSEC_TRAFFIC1, virtualiftunnelinfo: *const IPSEC_VIRTUAL_IF_TUNNEL_INFO0, inboundfilterid: *mut u64, id: *mut u64) -> u32306     pub 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;
307     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32308     pub fn IPsecSaContextCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
309     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32310     pub fn IPsecSaContextDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
311     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32312     pub fn IPsecSaContextDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
313     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT0, numentriesreturned: *mut u32) -> u32314     pub 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;
315     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_CONTEXT1, numentriesreturned: *mut u32) -> u32316     pub 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;
317     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextExpire0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32318     pub fn IPsecSaContextExpire0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
319     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT0) -> u32320     pub fn IPsecSaContextGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT0) -> u32;
321     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT1) -> u32322     pub fn IPsecSaContextGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, sacontext: *mut *mut IPSEC_SA_CONTEXT1) -> u32;
323     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextGetSpi0(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI0, inboundspi: *mut u32) -> u32324     pub fn IPsecSaContextGetSpi0(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI0, inboundspi: *mut u32) -> u32;
325     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextGetSpi1(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: *mut u32) -> u32326     pub fn IPsecSaContextGetSpi1(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: *mut u32) -> u32;
327     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextSetSpi0(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: u32) -> u32328     pub fn IPsecSaContextSetSpi0(enginehandle: super::super::Foundation::HANDLE, id: u64, getspi: *const IPSEC_GETSPI1, inboundspi: u32) -> u32;
329     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const IPSEC_SA_CONTEXT_SUBSCRIPTION0, callback: ::core::option::Option<IPSEC_SA_CONTEXT_CALLBACK0>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32330     pub fn IPsecSaContextSubscribe0(enginehandle: super::super::Foundation::HANDLE, subscription: *const IPSEC_SA_CONTEXT_SUBSCRIPTION0, callback: ::core::option::Option<IPSEC_SA_CONTEXT_CALLBACK0>, context: *const ::core::ffi::c_void, eventshandle: *mut super::super::Foundation::HANDLE) -> u32;
331     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut IPSEC_SA_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32332     pub fn IPsecSaContextSubscriptionsGet0(enginehandle: super::super::Foundation::HANDLE, entries: *mut *mut *mut IPSEC_SA_CONTEXT_SUBSCRIPTION0, numentries: *mut u32) -> u32;
333     #[cfg(feature = "Win32_Foundation")]
IPsecSaContextUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32334     pub fn IPsecSaContextUnsubscribe0(enginehandle: super::super::Foundation::HANDLE, eventshandle: super::super::Foundation::HANDLE) -> u32;
335     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaContextUpdate0(enginehandle: super::super::Foundation::HANDLE, flags: u64, newvalues: *const IPSEC_SA_CONTEXT1) -> u32336     pub fn IPsecSaContextUpdate0(enginehandle: super::super::Foundation::HANDLE, flags: u64, newvalues: *const IPSEC_SA_CONTEXT1) -> u32;
337     #[cfg(feature = "Win32_Foundation")]
IPsecSaCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32338     pub fn IPsecSaCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IPSEC_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
339     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32340     pub 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;
341     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32342     pub 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;
343     #[cfg(feature = "Win32_Foundation")]
IPsecSaDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32344     pub fn IPsecSaDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
345     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS0, numentriesreturned: *mut u32) -> u32346     pub 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;
347     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IPsecSaEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IPSEC_SA_DETAILS1, numentriesreturned: *mut u32) -> u32348     pub 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;
349     #[cfg(feature = "Win32_Foundation")]
IkeextGetStatistics0(enginehandle: super::super::Foundation::HANDLE, ikeextstatistics: *mut IKEEXT_STATISTICS0) -> u32350     pub fn IkeextGetStatistics0(enginehandle: super::super::Foundation::HANDLE, ikeextstatistics: *mut IKEEXT_STATISTICS0) -> u32;
351     #[cfg(feature = "Win32_Foundation")]
IkeextGetStatistics1(enginehandle: super::super::Foundation::HANDLE, ikeextstatistics: *mut IKEEXT_STATISTICS1) -> u32352     pub fn IkeextGetStatistics1(enginehandle: super::super::Foundation::HANDLE, ikeextstatistics: *mut IKEEXT_STATISTICS1) -> u32;
353     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
IkeextSaCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IKEEXT_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32354     pub fn IkeextSaCreateEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumtemplate: *const IKEEXT_SA_ENUM_TEMPLATE0, enumhandle: *mut super::super::Foundation::HANDLE) -> u32;
355     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32356     pub 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;
357     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
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) -> u32358     pub 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;
359     #[cfg(feature = "Win32_Foundation")]
IkeextSaDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32360     pub fn IkeextSaDeleteById0(enginehandle: super::super::Foundation::HANDLE, id: u64) -> u32;
361     #[cfg(feature = "Win32_Foundation")]
IkeextSaDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32362     pub fn IkeextSaDestroyEnumHandle0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE) -> u32;
363     #[cfg(feature = "Win32_Foundation")]
IkeextSaEnum0(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS0, numentriesreturned: *mut u32) -> u32364     pub 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;
365     #[cfg(feature = "Win32_Foundation")]
IkeextSaEnum1(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS1, numentriesreturned: *mut u32) -> u32366     pub 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;
367     #[cfg(feature = "Win32_Foundation")]
IkeextSaEnum2(enginehandle: super::super::Foundation::HANDLE, enumhandle: super::super::Foundation::HANDLE, numentriesrequested: u32, entries: *mut *mut *mut IKEEXT_SA_DETAILS2, numentriesreturned: *mut u32) -> u32368     pub 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;
369     #[cfg(feature = "Win32_Foundation")]
IkeextSaGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, sa: *mut *mut IKEEXT_SA_DETAILS0) -> u32370     pub fn IkeextSaGetById0(enginehandle: super::super::Foundation::HANDLE, id: u64, sa: *mut *mut IKEEXT_SA_DETAILS0) -> u32;
371     #[cfg(feature = "Win32_Foundation")]
IkeextSaGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, salookupcontext: *const ::windows_sys::core::GUID, sa: *mut *mut IKEEXT_SA_DETAILS1) -> u32372     pub fn IkeextSaGetById1(enginehandle: super::super::Foundation::HANDLE, id: u64, salookupcontext: *const ::windows_sys::core::GUID, sa: *mut *mut IKEEXT_SA_DETAILS1) -> u32;
373     #[cfg(feature = "Win32_Foundation")]
IkeextSaGetById2(enginehandle: super::super::Foundation::HANDLE, id: u64, salookupcontext: *const ::windows_sys::core::GUID, sa: *mut *mut IKEEXT_SA_DETAILS2) -> u32374     pub fn IkeextSaGetById2(enginehandle: super::super::Foundation::HANDLE, id: u64, salookupcontext: *const ::windows_sys::core::GUID, sa: *mut *mut IKEEXT_SA_DETAILS2) -> u32;
375 }
376 pub type ARP_HARDWARE_TYPE = i32;
377 pub const ARP_HW_ENET: ARP_HARDWARE_TYPE = 1i32;
378 pub const ARP_HW_802: ARP_HARDWARE_TYPE = 6i32;
379 #[repr(C)]
380 pub struct ARP_HEADER {
381     pub HardwareAddressSpace: u16,
382     pub ProtocolAddressSpace: u16,
383     pub HardwareAddressLength: u8,
384     pub ProtocolAddressLength: u8,
385     pub Opcode: u16,
386     pub SenderHardwareAddress: [u8; 1],
387 }
388 impl ::core::marker::Copy for ARP_HEADER {}
389 impl ::core::clone::Clone for ARP_HEADER {
clone(&self) -> Self390     fn clone(&self) -> Self {
391         *self
392     }
393 }
394 pub type ARP_OPCODE = i32;
395 pub const ARP_REQUEST: ARP_OPCODE = 1i32;
396 pub const ARP_RESPONSE: ARP_OPCODE = 2i32;
397 pub const BYTE_ORDER: u32 = 1234u32;
398 pub const DL_ADDRESS_LENGTH_MAXIMUM: u32 = 32u32;
399 pub type DL_ADDRESS_TYPE = i32;
400 pub const DlUnicast: DL_ADDRESS_TYPE = 0i32;
401 pub const DlMulticast: DL_ADDRESS_TYPE = 1i32;
402 pub const DlBroadcast: DL_ADDRESS_TYPE = 2i32;
403 #[repr(C)]
404 pub union DL_EI48 {
405     pub Byte: [u8; 3],
406 }
407 impl ::core::marker::Copy for DL_EI48 {}
408 impl ::core::clone::Clone for DL_EI48 {
clone(&self) -> Self409     fn clone(&self) -> Self {
410         *self
411     }
412 }
413 #[repr(C)]
414 pub union DL_EI64 {
415     pub Byte: [u8; 5],
416 }
417 impl ::core::marker::Copy for DL_EI64 {}
418 impl ::core::clone::Clone for DL_EI64 {
clone(&self) -> Self419     fn clone(&self) -> Self {
420         *self
421     }
422 }
423 #[repr(C)]
424 pub union DL_EUI48 {
425     pub Byte: [u8; 6],
426     pub Anonymous: DL_EUI48_0,
427 }
428 impl ::core::marker::Copy for DL_EUI48 {}
429 impl ::core::clone::Clone for DL_EUI48 {
clone(&self) -> Self430     fn clone(&self) -> Self {
431         *self
432     }
433 }
434 #[repr(C)]
435 pub struct DL_EUI48_0 {
436     pub Oui: DL_OUI,
437     pub Ei48: DL_EI48,
438 }
439 impl ::core::marker::Copy for DL_EUI48_0 {}
440 impl ::core::clone::Clone for DL_EUI48_0 {
clone(&self) -> Self441     fn clone(&self) -> Self {
442         *self
443     }
444 }
445 #[repr(C)]
446 pub union DL_EUI64 {
447     pub Byte: [u8; 8],
448     pub Value: u64,
449     pub Anonymous: DL_EUI64_0,
450 }
451 impl ::core::marker::Copy for DL_EUI64 {}
452 impl ::core::clone::Clone for DL_EUI64 {
clone(&self) -> Self453     fn clone(&self) -> Self {
454         *self
455     }
456 }
457 #[repr(C)]
458 pub struct DL_EUI64_0 {
459     pub Oui: DL_OUI,
460     pub Anonymous: DL_EUI64_0_0,
461 }
462 impl ::core::marker::Copy for DL_EUI64_0 {}
463 impl ::core::clone::Clone for DL_EUI64_0 {
clone(&self) -> Self464     fn clone(&self) -> Self {
465         *self
466     }
467 }
468 #[repr(C)]
469 pub union DL_EUI64_0_0 {
470     pub Ei64: DL_EI64,
471     pub Anonymous: DL_EUI64_0_0_0,
472 }
473 impl ::core::marker::Copy for DL_EUI64_0_0 {}
474 impl ::core::clone::Clone for DL_EUI64_0_0 {
clone(&self) -> Self475     fn clone(&self) -> Self {
476         *self
477     }
478 }
479 #[repr(C)]
480 pub struct DL_EUI64_0_0_0 {
481     pub Type: u8,
482     pub Tse: u8,
483     pub Ei48: DL_EI48,
484 }
485 impl ::core::marker::Copy for DL_EUI64_0_0_0 {}
486 impl ::core::clone::Clone for DL_EUI64_0_0_0 {
clone(&self) -> Self487     fn clone(&self) -> Self {
488         *self
489     }
490 }
491 pub const DL_HEADER_LENGTH_MAXIMUM: u32 = 64u32;
492 #[repr(C)]
493 pub union DL_OUI {
494     pub Byte: [u8; 3],
495     pub Anonymous: DL_OUI_0,
496 }
497 impl ::core::marker::Copy for DL_OUI {}
498 impl ::core::clone::Clone for DL_OUI {
clone(&self) -> Self499     fn clone(&self) -> Self {
500         *self
501     }
502 }
503 #[repr(C)]
504 pub struct DL_OUI_0 {
505     pub _bitfield: u8,
506 }
507 impl ::core::marker::Copy for DL_OUI_0 {}
508 impl ::core::clone::Clone for DL_OUI_0 {
clone(&self) -> Self509     fn clone(&self) -> Self {
510         *self
511     }
512 }
513 #[repr(C)]
514 #[cfg(feature = "Win32_Networking_WinSock")]
515 pub struct DL_TEREDO_ADDRESS {
516     pub Reserved: [u8; 6],
517     pub Anonymous: DL_TEREDO_ADDRESS_0,
518 }
519 #[cfg(feature = "Win32_Networking_WinSock")]
520 impl ::core::marker::Copy for DL_TEREDO_ADDRESS {}
521 #[cfg(feature = "Win32_Networking_WinSock")]
522 impl ::core::clone::Clone for DL_TEREDO_ADDRESS {
clone(&self) -> Self523     fn clone(&self) -> Self {
524         *self
525     }
526 }
527 #[repr(C, packed(1))]
528 #[cfg(feature = "Win32_Networking_WinSock")]
529 pub union DL_TEREDO_ADDRESS_0 {
530     pub Eui64: DL_EUI64,
531     pub Anonymous: DL_TEREDO_ADDRESS_0_0,
532 }
533 #[cfg(feature = "Win32_Networking_WinSock")]
534 impl ::core::marker::Copy for DL_TEREDO_ADDRESS_0 {}
535 #[cfg(feature = "Win32_Networking_WinSock")]
536 impl ::core::clone::Clone for DL_TEREDO_ADDRESS_0 {
clone(&self) -> Self537     fn clone(&self) -> Self {
538         *self
539     }
540 }
541 #[repr(C, packed(1))]
542 #[cfg(feature = "Win32_Networking_WinSock")]
543 pub struct DL_TEREDO_ADDRESS_0_0 {
544     pub Flags: u16,
545     pub MappedPort: u16,
546     pub MappedAddress: super::super::Networking::WinSock::IN_ADDR,
547 }
548 #[cfg(feature = "Win32_Networking_WinSock")]
549 impl ::core::marker::Copy for DL_TEREDO_ADDRESS_0_0 {}
550 #[cfg(feature = "Win32_Networking_WinSock")]
551 impl ::core::clone::Clone for DL_TEREDO_ADDRESS_0_0 {
clone(&self) -> Self552     fn clone(&self) -> Self {
553         *self
554     }
555 }
556 #[repr(C)]
557 #[cfg(feature = "Win32_Networking_WinSock")]
558 pub struct DL_TEREDO_ADDRESS_PRV {
559     pub Reserved: [u8; 6],
560     pub Anonymous: DL_TEREDO_ADDRESS_PRV_0,
561 }
562 #[cfg(feature = "Win32_Networking_WinSock")]
563 impl ::core::marker::Copy for DL_TEREDO_ADDRESS_PRV {}
564 #[cfg(feature = "Win32_Networking_WinSock")]
565 impl ::core::clone::Clone for DL_TEREDO_ADDRESS_PRV {
clone(&self) -> Self566     fn clone(&self) -> Self {
567         *self
568     }
569 }
570 #[repr(C, packed(1))]
571 #[cfg(feature = "Win32_Networking_WinSock")]
572 pub union DL_TEREDO_ADDRESS_PRV_0 {
573     pub Eui64: DL_EUI64,
574     pub Anonymous: DL_TEREDO_ADDRESS_PRV_0_0,
575 }
576 #[cfg(feature = "Win32_Networking_WinSock")]
577 impl ::core::marker::Copy for DL_TEREDO_ADDRESS_PRV_0 {}
578 #[cfg(feature = "Win32_Networking_WinSock")]
579 impl ::core::clone::Clone for DL_TEREDO_ADDRESS_PRV_0 {
clone(&self) -> Self580     fn clone(&self) -> Self {
581         *self
582     }
583 }
584 #[repr(C, packed(1))]
585 #[cfg(feature = "Win32_Networking_WinSock")]
586 pub struct DL_TEREDO_ADDRESS_PRV_0_0 {
587     pub Flags: u16,
588     pub MappedPort: u16,
589     pub MappedAddress: super::super::Networking::WinSock::IN_ADDR,
590     pub LocalAddress: super::super::Networking::WinSock::IN_ADDR,
591     pub InterfaceIndex: u32,
592     pub LocalPort: u16,
593     pub DlDestination: DL_EUI48,
594 }
595 #[cfg(feature = "Win32_Networking_WinSock")]
596 impl ::core::marker::Copy for DL_TEREDO_ADDRESS_PRV_0_0 {}
597 #[cfg(feature = "Win32_Networking_WinSock")]
598 impl ::core::clone::Clone for DL_TEREDO_ADDRESS_PRV_0_0 {
clone(&self) -> Self599     fn clone(&self) -> Self {
600         *self
601     }
602 }
603 #[repr(C)]
604 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
605 pub struct DL_TUNNEL_ADDRESS {
606     pub CompartmentId: super::super::System::Kernel::COMPARTMENT_ID,
607     pub ScopeId: super::super::Networking::WinSock::SCOPE_ID,
608     pub IpAddress: [u8; 1],
609 }
610 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
611 impl ::core::marker::Copy for DL_TUNNEL_ADDRESS {}
612 #[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_System_Kernel"))]
613 impl ::core::clone::Clone for DL_TUNNEL_ADDRESS {
clone(&self) -> Self614     fn clone(&self) -> Self {
615         *self
616     }
617 }
618 #[repr(C)]
619 pub struct ETHERNET_HEADER {
620     pub Destination: DL_EUI48,
621     pub Source: DL_EUI48,
622     pub Anonymous: ETHERNET_HEADER_0,
623 }
624 impl ::core::marker::Copy for ETHERNET_HEADER {}
625 impl ::core::clone::Clone for ETHERNET_HEADER {
clone(&self) -> Self626     fn clone(&self) -> Self {
627         *self
628     }
629 }
630 #[repr(C)]
631 pub union ETHERNET_HEADER_0 {
632     pub Type: u16,
633     pub Length: u16,
634 }
635 impl ::core::marker::Copy for ETHERNET_HEADER_0 {}
636 impl ::core::clone::Clone for ETHERNET_HEADER_0 {
clone(&self) -> Self637     fn clone(&self) -> Self {
638         *self
639     }
640 }
641 pub const ETHERNET_TYPE_802_1AD: u32 = 34984u32;
642 pub const ETHERNET_TYPE_802_1Q: u32 = 33024u32;
643 pub const ETHERNET_TYPE_ARP: u32 = 2054u32;
644 pub const ETHERNET_TYPE_IPV4: u32 = 2048u32;
645 pub const ETHERNET_TYPE_IPV6: u32 = 34525u32;
646 pub const ETHERNET_TYPE_MINIMUM: u32 = 1536u32;
647 pub const ETH_LENGTH_OF_HEADER: u32 = 14u32;
648 pub const ETH_LENGTH_OF_SNAP_HEADER: u32 = 8u32;
649 pub const ETH_LENGTH_OF_VLAN_HEADER: u32 = 4u32;
650 pub const EXT_LEN_UNIT: u32 = 8u32;
651 pub type FALLBACK_INDEX = i32;
652 pub const FallbackIndexTcpFastopen: FALLBACK_INDEX = 0i32;
653 pub const FallbackIndexMax: FALLBACK_INDEX = 1i32;
654 #[repr(C)]
655 pub struct FWPM_ACTION0 {
656     pub r#type: u32,
657     pub Anonymous: FWPM_ACTION0_0,
658 }
659 impl ::core::marker::Copy for FWPM_ACTION0 {}
660 impl ::core::clone::Clone for FWPM_ACTION0 {
clone(&self) -> Self661     fn clone(&self) -> Self {
662         *self
663     }
664 }
665 #[repr(C)]
666 pub union FWPM_ACTION0_0 {
667     pub filterType: ::windows_sys::core::GUID,
668     pub calloutKey: ::windows_sys::core::GUID,
669 }
670 impl ::core::marker::Copy for FWPM_ACTION0_0 {}
671 impl ::core::clone::Clone for FWPM_ACTION0_0 {
clone(&self) -> Self672     fn clone(&self) -> Self {
673         *self
674     }
675 }
676 pub const FWPM_ACTRL_ADD: u32 = 1u32;
677 pub const FWPM_ACTRL_ADD_LINK: u32 = 2u32;
678 pub const FWPM_ACTRL_BEGIN_READ_TXN: u32 = 4u32;
679 pub const FWPM_ACTRL_BEGIN_WRITE_TXN: u32 = 8u32;
680 pub const FWPM_ACTRL_CLASSIFY: u32 = 16u32;
681 pub const FWPM_ACTRL_ENUM: u32 = 32u32;
682 pub const FWPM_ACTRL_OPEN: u32 = 64u32;
683 pub const FWPM_ACTRL_READ: u32 = 128u32;
684 pub const FWPM_ACTRL_READ_STATS: u32 = 256u32;
685 pub const FWPM_ACTRL_SUBSCRIBE: u32 = 512u32;
686 pub const FWPM_ACTRL_WRITE: u32 = 1024u32;
687 pub type FWPM_APPC_NETWORK_CAPABILITY_TYPE = i32;
688 pub const FWPM_APPC_NETWORK_CAPABILITY_INTERNET_CLIENT: FWPM_APPC_NETWORK_CAPABILITY_TYPE = 0i32;
689 pub const FWPM_APPC_NETWORK_CAPABILITY_INTERNET_CLIENT_SERVER: FWPM_APPC_NETWORK_CAPABILITY_TYPE = 1i32;
690 pub const FWPM_APPC_NETWORK_CAPABILITY_INTERNET_PRIVATE_NETWORK: FWPM_APPC_NETWORK_CAPABILITY_TYPE = 2i32;
691 pub const FWPM_AUTO_WEIGHT_BITS: u32 = 60u32;
692 #[repr(C)]
693 #[cfg(feature = "Win32_Foundation")]
694 pub struct FWPM_CALLOUT0 {
695     pub calloutKey: ::windows_sys::core::GUID,
696     pub displayData: FWPM_DISPLAY_DATA0,
697     pub flags: u32,
698     pub providerKey: *mut ::windows_sys::core::GUID,
699     pub providerData: FWP_BYTE_BLOB,
700     pub applicableLayer: ::windows_sys::core::GUID,
701     pub calloutId: u32,
702 }
703 #[cfg(feature = "Win32_Foundation")]
704 impl ::core::marker::Copy for FWPM_CALLOUT0 {}
705 #[cfg(feature = "Win32_Foundation")]
706 impl ::core::clone::Clone for FWPM_CALLOUT0 {
clone(&self) -> Self707     fn clone(&self) -> Self {
708         *self
709     }
710 }
711 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_1: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
712     data1: 2006391204,
713     data2: 59029,
714     data3: 18358,
715     data4: [161, 153, 121, 153, 254, 201, 22, 59],
716 };
717 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_2: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
718     data1: 4019610038,
719     data2: 31838,
720     data3: 18685,
721     data4: [161, 48, 150, 103, 140, 234, 204, 65],
722 };
723 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_3: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
724     data1: 410164346,
725     data2: 12130,
726     data3: 19424,
727     data4: [150, 111, 151, 75, 33, 184, 109, 241],
728 };
729 pub const FWPM_CALLOUT_BUILT_IN_RESERVED_4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
730     data1: 1816115201,
731     data2: 56063,
732     data3: 16617,
733     data4: [145, 230, 247, 255, 126, 82, 247, 217],
734 };
735 #[repr(C)]
736 pub struct FWPM_CALLOUT_CHANGE0 {
737     pub changeType: FWPM_CHANGE_TYPE,
738     pub calloutKey: ::windows_sys::core::GUID,
739     pub calloutId: u32,
740 }
741 impl ::core::marker::Copy for FWPM_CALLOUT_CHANGE0 {}
742 impl ::core::clone::Clone for FWPM_CALLOUT_CHANGE0 {
clone(&self) -> Self743     fn clone(&self) -> Self {
744         *self
745     }
746 }
747 pub type FWPM_CALLOUT_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, change: *const FWPM_CALLOUT_CHANGE0);
748 pub const FWPM_CALLOUT_EDGE_TRAVERSAL_ALE_LISTEN_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
749     data1: 860383925,
750     data2: 27998,
751     data3: 20069,
752     data4: [160, 11, 167, 175, 237, 11, 169, 161],
753 };
754 pub const FWPM_CALLOUT_EDGE_TRAVERSAL_ALE_RESOURCE_ASSIGNMENT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 127602704, data2: 61893, data3: 20429, data4: [174, 5, 218, 65, 16, 122, 189, 11] };
755 #[repr(C)]
756 pub struct FWPM_CALLOUT_ENUM_TEMPLATE0 {
757     pub providerKey: *mut ::windows_sys::core::GUID,
758     pub layerKey: ::windows_sys::core::GUID,
759 }
760 impl ::core::marker::Copy for FWPM_CALLOUT_ENUM_TEMPLATE0 {}
761 impl ::core::clone::Clone for FWPM_CALLOUT_ENUM_TEMPLATE0 {
clone(&self) -> Self762     fn clone(&self) -> Self {
763         *self
764     }
765 }
766 pub const FWPM_CALLOUT_FLAG_PERSISTENT: u32 = 65536u32;
767 pub const FWPM_CALLOUT_FLAG_REGISTERED: u32 = 262144u32;
768 pub const FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT: u32 = 131072u32;
769 pub const FWPM_CALLOUT_HTTP_TEMPLATE_SSL_HANDSHAKE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
770     data1: 3007459913,
771     data2: 36105,
772     data3: 18520,
773     data4: [146, 16, 149, 199, 253, 168, 227, 15],
774 };
775 pub const FWPM_CALLOUT_IPSEC_ALE_CONNECT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1791050236, data2: 63325, data3: 16899, data4: [185, 200, 72, 230, 20, 156, 39, 18] };
776 pub const FWPM_CALLOUT_IPSEC_ALE_CONNECT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
777     data1: 1275976197,
778     data2: 58143,
779     data3: 18022,
780     data4: [144, 176, 179, 223, 173, 52, 18, 154],
781 };
782 pub const FWPM_CALLOUT_IPSEC_DOSP_FORWARD_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 801855212, data2: 52535, data3: 19279, data4: [177, 8, 98, 194, 177, 133, 10, 12] };
783 pub const FWPM_CALLOUT_IPSEC_DOSP_FORWARD_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
784     data1: 1829282626,
785     data2: 56222,
786     data3: 20414,
787     data4: [158, 210, 87, 55, 76, 232, 159, 121],
788 };
789 pub const FWPM_CALLOUT_IPSEC_FORWARD_INBOUND_TUNNEL_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
790     data1: 679646771,
791     data2: 50416,
792     data3: 20070,
793     data4: [135, 63, 132, 77, 178, 168, 153, 199],
794 };
795 pub const FWPM_CALLOUT_IPSEC_FORWARD_INBOUND_TUNNEL_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
796     data1: 2941304514,
797     data2: 50822,
798     data3: 17050,
799     data4: [136, 77, 183, 68, 67, 231, 176, 180],
800 };
801 pub const FWPM_CALLOUT_IPSEC_FORWARD_OUTBOUND_TUNNEL_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4216529206, data2: 5579, data3: 17419, data4: [147, 124, 23, 23, 202, 50, 12, 64] };
802 pub const FWPM_CALLOUT_IPSEC_FORWARD_OUTBOUND_TUNNEL_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
803     data1: 3672522956,
804     data2: 57377,
805     data3: 19438,
806     data4: [158, 182, 164, 139, 39, 92, 140, 29],
807 };
808 pub const FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
809     data1: 2113876123,
810     data2: 47741,
811     data3: 19130,
812     data4: [145, 170, 174, 92, 102, 64, 201, 68],
813 };
814 pub const FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
815     data1: 2845890265,
816     data2: 50572,
817     data3: 18254,
818     data4: [138, 235, 60, 254, 153, 214, 213, 61],
819 };
820 pub const FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1362268173, data2: 24196, data3: 19295, data4: [128, 228, 1, 116, 30, 129, 255, 16] };
821 pub const FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1238609042, data2: 10860, data3: 19919, data4: [149, 95, 28, 59, 224, 9, 221, 153] };
822 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_ALE_ACCEPT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1039591390, data2: 64800, data3: 18674, data4: [159, 38, 248, 84, 68, 76, 186, 121] };
823 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_ALE_ACCEPT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2716046035, data2: 29356, data3: 18363, data4: [135, 167, 1, 34, 198, 148, 52, 171] };
824 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 421169734, data2: 3064, data3: 18127, data4: [176, 69, 75, 69, 223, 166, 163, 36] };
825 pub const FWPM_CALLOUT_IPSEC_INBOUND_TUNNEL_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2160280291, data2: 7763, data3: 19823, data4: [155, 68, 3, 223, 90, 238, 225, 84] };
826 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
827     data1: 1262927626,
828     data2: 17699,
829     data3: 20055,
830     data4: [170, 56, 168, 121, 135, 201, 16, 217],
831 };
832 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 953710370, data2: 44419, data3: 20241, data4: [169, 31, 223, 15, 176, 119, 34, 91] };
833 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TUNNEL_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1889802604, data2: 33627, data3: 20400, data4: [152, 232, 7, 95, 77, 151, 125, 70] };
834 pub const FWPM_CALLOUT_IPSEC_OUTBOUND_TUNNEL_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
835     data1: 4051915619,
836     data2: 42661,
837     data3: 20066,
838     data4: [177, 128, 35, 219, 120, 157, 141, 166],
839 };
840 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_CONNECT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1606402845, data2: 42268, data3: 17628, data4: [172, 182, 6, 36, 160, 48, 167, 0] };
841 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_CONNECT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1606402845, data2: 42268, data3: 17628, data4: [172, 182, 6, 36, 160, 48, 167, 1] };
842 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_RECV_ACCEPT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1606402845, data2: 42268, data3: 17628, data4: [172, 182, 6, 36, 160, 48, 167, 2] };
843 pub const FWPM_CALLOUT_POLICY_SILENT_MODE_AUTH_RECV_ACCEPT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1606402845, data2: 42268, data3: 17628, data4: [172, 182, 6, 36, 160, 48, 167, 3] };
844 pub const FWPM_CALLOUT_RESERVED_AUTH_CONNECT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 680219213, data2: 1382, data3: 19993, data4: [182, 18, 143, 68, 26, 46, 89, 73] };
845 pub const FWPM_CALLOUT_RESERVED_AUTH_CONNECT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 12077970, data2: 11102, data3: 19313, data4: [171, 14, 170, 202, 67, 227, 135, 230] };
846 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_CONNECT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
847     data1: 3159892608,
848     data2: 5751,
849     data3: 16873,
850     data4: [148, 171, 194, 252, 177, 92, 46, 235],
851 };
852 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_CONNECT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2565158716, data2: 47236, data3: 18703, data4: [182, 95, 47, 106, 74, 87, 81, 149] };
853 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_RECV_ACCEPT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
854     data1: 760606728,
855     data2: 3073,
856     data3: 20370,
857     data4: [178, 110, 160, 138, 148, 86, 155, 141],
858 };
859 pub const FWPM_CALLOUT_SET_OPTIONS_AUTH_RECV_ACCEPT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
860     data1: 1661044023,
861     data2: 62081,
862     data3: 19908,
863     data4: [131, 211, 141, 236, 24, 183, 173, 226],
864 };
865 #[repr(C)]
866 pub struct FWPM_CALLOUT_SUBSCRIPTION0 {
867     pub enumTemplate: *mut FWPM_CALLOUT_ENUM_TEMPLATE0,
868     pub flags: u32,
869     pub sessionKey: ::windows_sys::core::GUID,
870 }
871 impl ::core::marker::Copy for FWPM_CALLOUT_SUBSCRIPTION0 {}
872 impl ::core::clone::Clone for FWPM_CALLOUT_SUBSCRIPTION0 {
clone(&self) -> Self873     fn clone(&self) -> Self {
874         *self
875     }
876 }
877 pub const FWPM_CALLOUT_TCP_CHIMNEY_ACCEPT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
878     data1: 3783519410,
879     data2: 14975,
880     data3: 19284,
881     data4: [138, 217, 118, 5, 14, 216, 128, 202],
882 };
883 pub const FWPM_CALLOUT_TCP_CHIMNEY_ACCEPT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 58249025, data2: 49048, data3: 17923, data4: [129, 242, 127, 18, 88, 96, 121, 246] };
884 pub const FWPM_CALLOUT_TCP_CHIMNEY_CONNECT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
885     data1: 4091611827,
886     data2: 11301,
887     data3: 17017,
888     data4: [172, 54, 195, 15, 193, 129, 190, 196],
889 };
890 pub const FWPM_CALLOUT_TCP_CHIMNEY_CONNECT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
891     data1: 971120773,
892     data2: 41793,
893     data3: 17148,
894     data4: [162, 121, 174, 201, 78, 104, 156, 86],
895 };
896 pub const FWPM_CALLOUT_TCP_TEMPLATES_ACCEPT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
897     data1: 790885840,
898     data2: 16580,
899     data3: 19521,
900     data4: [162, 84, 70, 216, 219, 168, 149, 124],
901 };
902 pub const FWPM_CALLOUT_TCP_TEMPLATES_ACCEPT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2991674096, data2: 39196, data3: 20307, data4: [187, 231, 210, 75, 69, 254, 99, 44] };
903 pub const FWPM_CALLOUT_TCP_TEMPLATES_CONNECT_LAYER_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 559549241, data2: 19326, data3: 20186, data4: [140, 228, 23, 150, 121, 223, 98, 36] };
904 pub const FWPM_CALLOUT_TCP_TEMPLATES_CONNECT_LAYER_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2206939041, data2: 23570, data3: 19764, data4: [139, 56, 7, 135, 40, 178, 210, 92] };
905 pub const FWPM_CALLOUT_TEREDO_ALE_LISTEN_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2175022311, data2: 62988, data3: 17272, data4: [186, 184, 198, 37, 163, 15, 1, 151] };
906 pub const FWPM_CALLOUT_TEREDO_ALE_RESOURCE_ASSIGNMENT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
907     data1: 834229138,
908     data2: 1646,
909     data3: 17058,
910     data4: [183, 219, 146, 248, 172, 221, 86, 249],
911 };
912 pub const FWPM_CALLOUT_WFP_TRANSPORT_LAYER_V4_SILENT_DROP: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
913     data1: 3986720262,
914     data2: 9364,
915     data3: 19832,
916     data4: [137, 188, 103, 131, 124, 3, 185, 105],
917 };
918 pub const FWPM_CALLOUT_WFP_TRANSPORT_LAYER_V6_SILENT_DROP: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
919     data1: 2257833076,
920     data2: 41077,
921     data3: 16726,
922     data4: [180, 118, 146, 134, 238, 206, 129, 78],
923 };
924 pub type FWPM_CHANGE_TYPE = i32;
925 pub const FWPM_CHANGE_ADD: FWPM_CHANGE_TYPE = 1i32;
926 pub const FWPM_CHANGE_DELETE: FWPM_CHANGE_TYPE = 2i32;
927 pub const FWPM_CHANGE_TYPE_MAX: FWPM_CHANGE_TYPE = 3i32;
928 #[repr(C)]
929 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
930 pub struct FWPM_CLASSIFY_OPTION0 {
931     pub r#type: FWP_CLASSIFY_OPTION_TYPE,
932     pub value: FWP_VALUE0,
933 }
934 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
935 impl ::core::marker::Copy for FWPM_CLASSIFY_OPTION0 {}
936 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
937 impl ::core::clone::Clone for FWPM_CLASSIFY_OPTION0 {
clone(&self) -> Self938     fn clone(&self) -> Self {
939         *self
940     }
941 }
942 #[repr(C)]
943 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
944 pub struct FWPM_CLASSIFY_OPTIONS0 {
945     pub numOptions: u32,
946     pub options: *mut FWPM_CLASSIFY_OPTION0,
947 }
948 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
949 impl ::core::marker::Copy for FWPM_CLASSIFY_OPTIONS0 {}
950 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
951 impl ::core::clone::Clone for FWPM_CLASSIFY_OPTIONS0 {
clone(&self) -> Self952     fn clone(&self) -> Self {
953         *self
954     }
955 }
956 pub const FWPM_CONDITION_ALE_APP_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
957     data1: 3616415367,
958     data2: 34372,
959     data3: 20133,
960     data4: [148, 55, 216, 9, 236, 239, 201, 113],
961 };
962 pub const FWPM_CONDITION_ALE_EFFECTIVE_NAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
963     data1: 2972154778,
964     data2: 46977,
965     data3: 16636,
966     data4: [150, 113, 229, 241, 185, 137, 243, 78],
967 };
968 pub const FWPM_CONDITION_ALE_NAP_CONTEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1176984221, data2: 49215, data3: 19831, data4: [183, 132, 28, 87, 244, 208, 39, 83] };
969 pub const FWPM_CONDITION_ALE_ORIGINAL_APP_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
970     data1: 242012294,
971     data2: 57851,
972     data3: 16914,
973     data4: [132, 47, 138, 159, 153, 63, 179, 246],
974 };
975 pub const FWPM_CONDITION_ALE_PACKAGE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1908177146, data2: 61820, data3: 18839, data4: [166, 2, 106, 187, 38, 31, 53, 28] };
976 pub const FWPM_CONDITION_ALE_PROMISCUOUS_MODE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 479676278, data2: 29058, data3: 18153, data4: [175, 211, 176, 41, 16, 227, 3, 52] };
977 pub const FWPM_CONDITION_ALE_REAUTH_REASON: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3028472359, data2: 6521, data3: 19096, data4: [128, 68, 24, 187, 230, 35, 117, 66] };
978 pub const FWPM_CONDITION_ALE_REMOTE_MACHINE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
979     data1: 446988113,
980     data2: 32659,
981     data3: 17672,
982     data4: [162, 113, 129, 171, 176, 12, 156, 171],
983 };
984 pub const FWPM_CONDITION_ALE_REMOTE_USER_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4130370487, data2: 393, data3: 19120, data4: [149, 164, 97, 35, 203, 250, 184, 98] };
985 pub const FWPM_CONDITION_ALE_SECURITY_ATTRIBUTE_FQBN_VALUE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
986     data1: 933590681,
987     data2: 22659,
988     data3: 18787,
989     data4: [146, 184, 62, 112, 70, 136, 176, 173],
990 };
991 pub const FWPM_CONDITION_ALE_SIO_FIREWALL_SYSTEM_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3119833224, data2: 52120, data3: 20219, data4: [162, 199, 173, 7, 51, 38, 67, 219] };
992 pub const FWPM_CONDITION_ALE_USER_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
993     data1: 2936289802,
994     data2: 45901,
995     data3: 20358,
996     data4: [151, 156, 201, 3, 113, 175, 110, 102],
997 };
998 pub const FWPM_CONDITION_ARRIVAL_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3423112627, data2: 6034, data3: 19057, data4: [176, 249, 3, 125, 33, 205, 130, 139] };
999 pub const FWPM_CONDITION_ARRIVAL_INTERFACE_PROFILE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1000     data1: 3456002731,
1001     data2: 49283,
1002     data3: 16706,
1003     data4: [134, 121, 192, 143, 149, 50, 156, 97],
1004 };
1005 pub const FWPM_CONDITION_ARRIVAL_INTERFACE_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1006     data1: 2314834142,
1007     data2: 59288,
1008     data3: 20077,
1009     data4: [171, 118, 124, 149, 88, 41, 46, 111],
1010 };
1011 pub const FWPM_CONDITION_ARRIVAL_TUNNEL_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1360094940, data2: 31372, data3: 19111, data4: [181, 51, 149, 171, 89, 251, 3, 64] };
1012 pub const FWPM_CONDITION_AUTHENTICATION_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3947203797, data2: 55931, data3: 20217, data4: [141, 67, 123, 10, 132, 3, 50, 242] };
1013 pub const FWPM_CONDITION_CLIENT_CERT_KEY_LENGTH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2750152903, data2: 1524, data3: 19959, data4: [145, 242, 95, 96, 217, 31, 244, 67] };
1014 pub const FWPM_CONDITION_CLIENT_CERT_OID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3297881438, data2: 63618, data3: 17027, data4: [185, 22, 67, 107, 16, 63, 244, 173] };
1015 pub const FWPM_CONDITION_CLIENT_TOKEN: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1016     data1: 3257465886,
1017     data2: 16442,
1018     data3: 17528,
1019     data4: [190, 5, 201, 186, 164, 192, 90, 206],
1020 };
1021 pub const FWPM_CONDITION_COMPARTMENT_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 900174251, data2: 1196, data3: 20466, data4: [166, 187, 218, 108, 250, 199, 24, 6] };
1022 pub const FWPM_CONDITION_CURRENT_PROFILE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2872062921, data2: 49379, data3: 18265, data4: [147, 125, 87, 88, 198, 93, 74, 227] };
1023 pub const FWPM_CONDITION_DCOM_APP_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4281236301, data2: 12562, data3: 18288, data4: [182, 54, 77, 36, 174, 58, 106, 242] };
1024 pub const FWPM_CONDITION_DESTINATION_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 902784290, data2: 16697, data3: 17902, data4: [160, 213, 103, 184, 9, 73, 216, 121] };
1025 pub const FWPM_CONDITION_DESTINATION_SUB_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1026     data1: 729629593,
1027     data2: 54471,
1028     data3: 18232,
1029     data4: [162, 245, 233, 148, 180, 61, 163, 136],
1030 };
1031 pub const FWPM_CONDITION_DIRECTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1032     data1: 2273624390,
1033     data2: 51863,
1034     data3: 17622,
1035     data4: [159, 209, 25, 251, 24, 64, 203, 247],
1036 };
1037 pub const FWPM_CONDITION_EMBEDDED_LOCAL_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1038     data1: 1181918312,
1039     data2: 35338,
1040     data3: 16898,
1041     data4: [171, 180, 132, 158, 146, 230, 104, 9],
1042 };
1043 pub const FWPM_CONDITION_EMBEDDED_LOCAL_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1044     data1: 3217701197,
1045     data2: 44251,
1046     data3: 18510,
1047     data4: [184, 230, 42, 255, 121, 117, 115, 69],
1048 };
1049 pub const FWPM_CONDITION_EMBEDDED_PROTOCOL: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1050     data1: 125321479,
1051     data2: 41630,
1052     data3: 19579,
1053     data4: [158, 199, 41, 196, 74, 250, 253, 188],
1054 };
1055 pub const FWPM_CONDITION_EMBEDDED_REMOTE_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1056     data1: 2012105529,
1057     data2: 12915,
1058     data3: 18033,
1059     data4: [182, 59, 171, 111, 235, 102, 238, 182],
1060 };
1061 pub const FWPM_CONDITION_EMBEDDED_REMOTE_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1062     data1: 3403994785,
1063     data2: 10600,
1064     data3: 16621,
1065     data4: [164, 206, 84, 113, 96, 221, 168, 141],
1066 };
1067 pub const FWPM_CONDITION_ETHER_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4245197965, data2: 41497, data3: 19794, data4: [187, 152, 26, 85, 64, 238, 123, 78] };
1068 pub const FWPM_CONDITION_FLAGS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1663885883, data2: 20839, data3: 17244, data4: [134, 215, 233, 3, 104, 74, 168, 12] };
1069 pub const FWPM_CONDITION_IMAGE_NAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1070     data1: 3492077133,
1071     data2: 57002,
1072     data3: 17175,
1073     data4: [156, 133, 228, 14, 246, 225, 64, 195],
1074 };
1075 pub const FWPM_CONDITION_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1076     data1: 1719654229,
1077     data2: 54933,
1078     data3: 17226,
1079     data4: [138, 245, 211, 131, 90, 18, 89, 188],
1080 };
1081 pub const FWPM_CONDITION_INTERFACE_MAC_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1082     data1: 4142284238,
1083     data2: 8011,
1084     data3: 19563,
1085     data4: [182, 239, 17, 101, 231, 31, 142, 231],
1086 };
1087 pub const FWPM_CONDITION_INTERFACE_QUARANTINE_EPOCH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3437661534, data2: 1339, data3: 17320, data4: [154, 111, 51, 56, 76, 40, 228, 246] };
1088 pub const FWPM_CONDITION_INTERFACE_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1089     data1: 3673738516,
1090     data2: 57502,
1091     data3: 19603,
1092     data4: [165, 174, 197, 193, 59, 115, 255, 202],
1093 };
1094 pub const FWPM_CONDITION_IPSEC_POLICY_KEY: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2906119907, data2: 29231, data3: 17868, data4: [164, 227, 6, 128, 72, 18, 68, 82] };
1095 pub const FWPM_CONDITION_IPSEC_SECURITY_REALM_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1096     data1: 933590784,
1097     data2: 22660,
1098     data3: 18788,
1099     data4: [146, 184, 62, 112, 70, 136, 176, 173],
1100 };
1101 pub const FWPM_CONDITION_IP_ARRIVAL_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1102     data1: 1636473709,
1103     data2: 14443,
1104     data3: 16694,
1105     data4: [173, 110, 181, 21, 135, 207, 177, 205],
1106 };
1107 pub const FWPM_CONDITION_IP_DESTINATION_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1108     data1: 762909499,
1109     data2: 45968,
1110     data3: 17862,
1111     data4: [134, 153, 172, 172, 234, 175, 237, 51],
1112 };
1113 pub const FWPM_CONDITION_IP_DESTINATION_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1114     data1: 516011977,
1115     data2: 20202,
1116     data3: 20318,
1117     data4: [185, 239, 118, 190, 170, 175, 23, 238],
1118 };
1119 pub const FWPM_CONDITION_IP_DESTINATION_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3463311173, data2: 24827, data3: 19067, data4: [163, 4, 175, 48, 161, 23, 0, 14] };
1120 pub const FWPM_CONDITION_IP_FORWARD_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 276215973, data2: 25379, data3: 19550, data4: [152, 16, 232, 211, 252, 158, 97, 54] };
1121 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1122     data1: 3656253662,
1123     data2: 49647,
1124     data3: 17943,
1125     data4: [191, 227, 255, 216, 245, 160, 137, 87],
1126 };
1127 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1128     data1: 1858598596,
1129     data2: 14187,
1130     data3: 17879,
1131     data4: [158, 156, 211, 55, 206, 220, 210, 55],
1132 };
1133 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 61221323, data2: 28242, data3: 18936, data4: [156, 65, 87, 9, 99, 60, 9, 207] };
1134 pub const FWPM_CONDITION_IP_LOCAL_ADDRESS_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 595705476, data2: 29988, data3: 17843, data4: [160, 91, 30, 99, 125, 156, 122, 106] };
1135 pub const FWPM_CONDITION_IP_LOCAL_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1136     data1: 1289103945,
1137     data2: 22979,
1138     data3: 18793,
1139     data4: [183, 243, 189, 165, 211, 40, 144, 164],
1140 };
1141 pub const FWPM_CONDITION_IP_LOCAL_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1142     data1: 203137455,
1143     data2: 22373,
1144     data3: 17727,
1145     data4: [175, 34, 168, 247, 145, 172, 119, 91],
1146 };
1147 pub const FWPM_CONDITION_IP_NEXTHOP_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1148     data1: 3938337930,
1149     data2: 42769,
1150     data3: 19812,
1151     data4: [133, 183, 63, 118, 182, 82, 153, 199],
1152 };
1153 pub const FWPM_CONDITION_IP_NEXTHOP_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2477690715, data2: 32623, data3: 18201, data4: [152, 200, 20, 233, 116, 41, 239, 4] };
1154 pub const FWPM_CONDITION_IP_PHYSICAL_ARRIVAL_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3662730696, data2: 64013, data3: 19593, data4: [176, 50, 110, 98, 19, 109, 30, 150] };
1155 pub const FWPM_CONDITION_IP_PHYSICAL_NEXTHOP_INTERFACE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1156     data1: 4036744654,
1157     data2: 20816,
1158     data3: 18622,
1159     data4: [176, 152, 194, 81, 82, 251, 31, 146],
1160 };
1161 pub const FWPM_CONDITION_IP_PROTOCOL: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1162     data1: 963768107,
1163     data2: 25150,
1164     data3: 20378,
1165     data4: [140, 177, 110, 121, 184, 6, 185, 167],
1166 };
1167 pub const FWPM_CONDITION_IP_REMOTE_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2989862554, data2: 7524, data3: 18872, data4: [164, 76, 95, 243, 217, 9, 80, 69] };
1168 pub const FWPM_CONDITION_IP_REMOTE_ADDRESS_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 535541264, data2: 15308, data3: 17889, data4: [188, 54, 46, 6, 126, 44, 177, 134] };
1169 pub const FWPM_CONDITION_IP_REMOTE_ADDRESS_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 611196300, data2: 35822, data3: 16408, data4: [155, 152, 49, 212, 88, 47, 51, 97] };
1170 pub const FWPM_CONDITION_IP_REMOTE_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1171     data1: 3277480013,
1172     data2: 53803,
1173     data3: 19994,
1174     data4: [145, 180, 104, 246, 116, 238, 103, 75],
1175 };
1176 pub const FWPM_CONDITION_IP_SOURCE_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2929101182, data2: 11924, data3: 19401, data4: [179, 19, 178, 126, 232, 14, 87, 77] };
1177 pub const FWPM_CONDITION_IP_SOURCE_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1178     data1: 2796547985,
1179     data2: 15860,
1180     data3: 18224,
1181     data4: [162, 20, 245, 66, 106, 235, 248, 33],
1182 };
1183 pub const FWPM_CONDITION_KM_AUTH_NAP_CONTEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 902883854, data2: 5578, data3: 18731, data4: [144, 14, 151, 253, 70, 53, 44, 206] };
1184 pub const FWPM_CONDITION_KM_MODE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1185     data1: 4277093762,
1186     data2: 61327,
1187     data3: 20347,
1188     data4: [133, 139, 144, 119, 209, 34, 222, 71],
1189 };
1190 pub const FWPM_CONDITION_KM_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4279197513, data2: 3307, data3: 18459, data4: [134, 56, 20, 121, 121, 31, 63, 44] };
1191 pub const FWPM_CONDITION_L2_FLAGS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1192     data1: 2076458175,
1193     data2: 14266,
1194     data3: 17905,
1195     data4: [183, 74, 130, 255, 81, 142, 235, 16],
1196 };
1197 pub const FWPM_CONDITION_LOCAL_INTERFACE_PROFILE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1198     data1: 1321170274,
1199     data2: 40728,
1200     data3: 19718,
1201     data4: [153, 65, 167, 166, 37, 116, 77, 113],
1202 };
1203 pub const FWPM_CONDITION_MAC_DESTINATION_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 82455187, data2: 34188, data3: 16423, data4: [182, 19, 180, 49, 128, 199, 133, 158] };
1204 pub const FWPM_CONDITION_MAC_DESTINATION_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1205     data1: 2919573810,
1206     data2: 61250,
1207     data3: 20121,
1208     data4: [177, 41, 243, 179, 19, 158, 52, 247],
1209 };
1210 pub const FWPM_CONDITION_MAC_LOCAL_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1211     data1: 3650742657,
1212     data2: 31048,
1213     data3: 19587,
1214     data4: [183, 66, 200, 78, 59, 103, 143, 143],
1215 };
1216 pub const FWPM_CONDITION_MAC_LOCAL_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1217     data1: 3425776988,
1218     data2: 12403,
1219     data3: 20475,
1220     data4: [161, 79, 121, 65, 92, 177, 234, 209],
1221 };
1222 pub const FWPM_CONDITION_MAC_REMOTE_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1083125460, data2: 14960, data3: 19277, data4: [146, 166, 65, 90, 194, 14, 47, 18] };
1223 pub const FWPM_CONDITION_MAC_REMOTE_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1224     data1: 41938356,
1225     data2: 61889,
1226     data3: 16432,
1227     data4: [181, 100, 238, 119, 127, 216, 103, 234],
1228 };
1229 pub const FWPM_CONDITION_MAC_SOURCE_ADDRESS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1230     data1: 2071549009,
1231     data2: 61942,
1232     data3: 19717,
1233     data4: [183, 203, 33, 119, 157, 128, 35, 54],
1234 };
1235 pub const FWPM_CONDITION_MAC_SOURCE_ADDRESS_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1545302756, data2: 10654, data3: 17463, data4: [162, 152, 188, 63, 1, 75, 61, 194] };
1236 pub const FWPM_CONDITION_NDIS_MEDIA_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3409039089, data2: 31005, data3: 18235, data4: [137, 209, 97, 197, 152, 67, 4, 160] };
1237 pub const FWPM_CONDITION_NDIS_PHYSICAL_MEDIA_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 885495843, data2: 49705, data3: 17650, data4: [184, 60, 116, 2, 8, 130, 174, 119] };
1238 pub const FWPM_CONDITION_NDIS_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1239     data1: 3682317355,
1240     data2: 11692,
1241     data3: 19668,
1242     data4: [165, 154, 224, 189, 206, 30, 104, 52],
1243 };
1244 pub const FWPM_CONDITION_NET_EVENT_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1245     data1: 544119190,
1246     data2: 18702,
1247     data3: 16591,
1248     data4: [184, 49, 179, 134, 65, 235, 111, 203],
1249 };
1250 pub const FWPM_CONDITION_NEXTHOP_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1251     data1: 328099976,
1252     data2: 31416,
1253     data3: 19813,
1254     data4: [158, 232, 5, 145, 188, 246, 164, 148],
1255 };
1256 pub const FWPM_CONDITION_NEXTHOP_INTERFACE_PROFILE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1257     data1: 3623852630,
1258     data2: 52650,
1259     data3: 18219,
1260     data4: [132, 219, 210, 57, 99, 193, 209, 191],
1261 };
1262 pub const FWPM_CONDITION_NEXTHOP_INTERFACE_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1263     data1: 2538830956,
1264     data2: 55715,
1265     data3: 18279,
1266     data4: [163, 129, 233, 66, 103, 92, 217, 32],
1267 };
1268 pub const FWPM_CONDITION_NEXTHOP_SUB_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1269     data1: 4018823458,
1270     data2: 1399,
1271     data3: 17831,
1272     data4: [154, 175, 130, 95, 190, 180, 251, 149],
1273 };
1274 pub const FWPM_CONDITION_NEXTHOP_TUNNEL_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1275     data1: 1924243729,
1276     data2: 39035,
1277     data3: 18208,
1278     data4: [153, 221, 199, 197, 118, 250, 45, 76],
1279 };
1280 pub const FWPM_CONDITION_ORIGINAL_ICMP_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1281     data1: 124648894,
1282     data2: 50540,
1283     data3: 20338,
1284     data4: [174, 138, 44, 254, 126, 92, 130, 134],
1285 };
1286 pub const FWPM_CONDITION_ORIGINAL_PROFILE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1189746001, data2: 8789, data3: 18731, data4: [128, 25, 170, 190, 238, 52, 159, 64] };
1287 pub const FWPM_CONDITION_PEER_NAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2605944962, data2: 60304, data3: 16774, data4: [166, 204, 222, 91, 99, 35, 80, 22] };
1288 pub const FWPM_CONDITION_PIPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 466646045, data2: 58335, data3: 20004, data4: [134, 52, 118, 32, 70, 238, 246, 235] };
1289 pub const FWPM_CONDITION_PROCESS_WITH_RPC_IF_UUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3809575080, data2: 48061, data3: 19732, data4: [166, 94, 113, 87, 176, 98, 51, 187] };
1290 pub const FWPM_CONDITION_QM_MODE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1291     data1: 4132423377,
1292     data2: 63947,
1293     data3: 17362,
1294     data4: [138, 95, 225, 59, 200, 148, 242, 101],
1295 };
1296 pub const FWPM_CONDITION_REAUTHORIZE_REASON: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 287334028, data2: 4526, data3: 17786, data4: [138, 68, 71, 112, 38, 221, 118, 74] };
1297 pub const FWPM_CONDITION_REMOTE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1298     data1: 4135675645,
1299     data2: 1666,
1300     data3: 19593,
1301     data4: [184, 245, 134, 67, 108, 126, 249, 183],
1302 };
1303 pub const FWPM_CONDITION_REMOTE_USER_TOKEN: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2616258150, data2: 1737, data3: 16825, data4: [132, 218, 40, 140, 180, 58, 245, 31] };
1304 pub const FWPM_CONDITION_RESERVED0: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1305     data1: 1737444843,
1306     data2: 17839,
1307     data3: 18562,
1308     data4: [147, 254, 25, 212, 114, 157, 152, 52],
1309 };
1310 pub const FWPM_CONDITION_RESERVED1: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1311     data1: 3625515047,
1312     data2: 23657,
1313     data3: 18667,
1314     data4: [191, 128, 216, 107, 23, 117, 95, 151],
1315 };
1316 pub const FWPM_CONDITION_RESERVED10: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3111772802, data2: 54817, data3: 19596, data4: [177, 132, 177, 5, 166, 28, 54, 206] };
1317 pub const FWPM_CONDITION_RESERVED11: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 761458253, data2: 573, data3: 16671, data4: [149, 130, 67, 172, 187, 121, 89, 117] };
1318 pub const FWPM_CONDITION_RESERVED12: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1319     data1: 2741468210,
1320     data2: 32309,
1321     data3: 19932,
1322     data4: [147, 218, 232, 195, 63, 201, 35, 199],
1323 };
1324 pub const FWPM_CONDITION_RESERVED13: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 861552272, data2: 33962, data3: 17141, data4: [158, 111, 89, 48, 149, 54, 164, 76] };
1325 pub const FWPM_CONDITION_RESERVED14: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 820268450, data2: 12058, data3: 16662, data4: [165, 89, 249, 7, 222, 131, 96, 74] };
1326 pub const FWPM_CONDITION_RESERVED15: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1327     data1: 3132634127,
1328     data2: 45024,
1329     data3: 17361,
1330     data4: [128, 216, 92, 164, 86, 150, 45, 227],
1331 };
1332 pub const FWPM_CONDITION_RESERVED2: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1333     data1: 1406407229,
1334     data2: 57691,
1335     data3: 20100,
1336     data4: [183, 168, 220, 225, 111, 123, 98, 217],
1337 };
1338 pub const FWPM_CONDITION_RESERVED3: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2137951395, data2: 26118, data3: 18738, data4: [151, 199, 225, 242, 7, 16, 175, 59] };
1339 pub const FWPM_CONDITION_RESERVED4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1340     data1: 1599661634,
1341     data2: 47415,
1342     data3: 18782,
1343     data4: [169, 75, 246, 176, 81, 164, 146, 80],
1344 };
1345 pub const FWPM_CONDITION_RESERVED5: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1346     data1: 2611541709,
1347     data2: 63356,
1348     data3: 17382,
1349     data4: [136, 71, 17, 147, 157, 197, 219, 90],
1350 };
1351 pub const FWPM_CONDITION_RESERVED6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4047340733, data2: 22997, data3: 17604, data4: [136, 23, 94, 205, 174, 24, 5, 189] };
1352 pub const FWPM_CONDITION_RESERVED7: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1705048368, data2: 17885, data3: 18819, data4: [170, 51, 239, 199, 182, 17, 175, 8] };
1353 pub const FWPM_CONDITION_RESERVED8: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1329744244, data2: 3090, data3: 18454, data4: [155, 71, 154, 84, 125, 179, 154, 50] };
1354 pub const FWPM_CONDITION_RESERVED9: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3464028431, data2: 5119, data3: 19568, data4: [134, 67, 54, 173, 24, 121, 175, 163] };
1355 pub const FWPM_CONDITION_RPC_AUTH_LEVEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3852512981, data2: 22956, data3: 18154, data4: [190, 5, 165, 240, 94, 207, 68, 110] };
1356 pub const FWPM_CONDITION_RPC_AUTH_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1357     data1: 3669652651,
1358     data2: 3431,
1359     data3: 17383,
1360     data4: [152, 110, 117, 184, 79, 130, 245, 148],
1361 };
1362 pub const FWPM_CONDITION_RPC_EP_FLAGS: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 562790730, data2: 2617, data3: 18872, data4: [142, 113, 194, 12, 57, 199, 221, 46] };
1363 pub const FWPM_CONDITION_RPC_EP_VALUE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3704529081, data2: 2182, data3: 17248, data4: [156, 106, 171, 4, 58, 36, 251, 169] };
1364 pub const FWPM_CONDITION_RPC_IF_FLAG: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 596281906, data2: 12697, data3: 18045, data4: [135, 28, 39, 38, 33, 171, 56, 150] };
1365 pub const FWPM_CONDITION_RPC_IF_UUID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1366     data1: 2090630559,
1367     data2: 117,
1368     data3: 19765,
1369     data4: [160, 209, 131, 17, 196, 207, 106, 241],
1370 };
1371 pub const FWPM_CONDITION_RPC_IF_VERSION: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1372     data1: 3938441655,
1373     data2: 4706,
1374     data3: 18990,
1375     data4: [173, 170, 95, 150, 246, 254, 50, 109],
1376 };
1377 pub const FWPM_CONDITION_RPC_PROTOCOL: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1378     data1: 655866996,
1379     data2: 14901,
1380     data3: 19687,
1381     data4: [183, 239, 200, 56, 250, 189, 236, 69],
1382 };
1383 pub const FWPM_CONDITION_RPC_PROXY_AUTH_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1384     data1: 1083523042,
1385     data2: 34149,
1386     data3: 18265,
1387     data4: [132, 136, 23, 113, 180, 180, 181, 219],
1388 };
1389 pub const FWPM_CONDITION_RPC_SERVER_NAME: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1390     data1: 3053822501,
1391     data2: 50099,
1392     data3: 18631,
1393     data4: [152, 51, 122, 239, 169, 82, 117, 70],
1394 };
1395 pub const FWPM_CONDITION_RPC_SERVER_PORT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2156983877, data2: 39637, data3: 20027, data4: [159, 159, 128, 35, 202, 9, 121, 9] };
1396 pub const FWPM_CONDITION_SEC_ENCRYPT_ALGORITHM: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 221277936, data2: 59764, data3: 20340, data4: [181, 199, 89, 27, 13, 167, 213, 98] };
1397 pub const FWPM_CONDITION_SEC_KEY_SIZE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1398     data1: 1198659643,
1399     data2: 52472,
1400     data3: 19179,
1401     data4: [188, 225, 198, 198, 22, 28, 143, 228],
1402 };
1403 pub const FWPM_CONDITION_SOURCE_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 588329805, data2: 51501, data3: 17855, data4: [148, 150, 237, 244, 71, 130, 14, 45] };
1404 pub const FWPM_CONDITION_SOURCE_SUB_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 90103197, data2: 44242, data3: 17249, data4: [141, 171, 249, 82, 93, 151, 102, 47] };
1405 pub const FWPM_CONDITION_SUB_INTERFACE_INDEX: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1406     data1: 215229555,
1407     data2: 54817,
1408     data3: 19427,
1409     data4: [174, 140, 114, 163, 72, 210, 131, 225],
1410 };
1411 pub const FWPM_CONDITION_TUNNEL_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1412     data1: 2007237687,
1413     data2: 34681,
1414     data3: 18536,
1415     data4: [162, 97, 245, 169, 2, 241, 192, 205],
1416 };
1417 pub const FWPM_CONDITION_VLAN_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1418     data1: 2475600673,
1419     data2: 13848,
1420     data3: 20068,
1421     data4: [156, 165, 33, 65, 235, 218, 28, 162],
1422 };
1423 pub const FWPM_CONDITION_VSWITCH_DESTINATION_INTERFACE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1424     data1: 2396294116,
1425     data2: 51494,
1426     data3: 18934,
1427     data4: [164, 246, 239, 48, 48, 227, 252, 22],
1428 };
1429 pub const FWPM_CONDITION_VSWITCH_DESTINATION_INTERFACE_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1430     data1: 4204478214,
1431     data2: 12058,
1432     data3: 19543,
1433     data4: [158, 104, 167, 9, 139, 40, 219, 254],
1434 };
1435 pub const FWPM_CONDITION_VSWITCH_DESTINATION_VM_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1436     data1: 1627826894,
1437     data2: 19937,
1438     data3: 19588,
1439     data4: [150, 113, 54, 55, 248, 188, 247, 49],
1440 };
1441 pub const FWPM_CONDITION_VSWITCH_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1442     data1: 3299087546,
1443     data2: 17275,
1444     data3: 19942,
1445     data4: [153, 70, 217, 156, 27, 149, 179, 18],
1446 };
1447 pub const FWPM_CONDITION_VSWITCH_NETWORK_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 299141963, data2: 59258, data3: 16564, data4: [145, 85, 57, 44, 144, 108, 38, 8] };
1448 pub const FWPM_CONDITION_VSWITCH_SOURCE_INTERFACE_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1449     data1: 2135880267,
1450     data2: 45761,
1451     data3: 18744,
1452     data4: [186, 51, 161, 236, 190, 213, 18, 186],
1453 };
1454 pub const FWPM_CONDITION_VSWITCH_SOURCE_INTERFACE_TYPE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1455     data1: 3870310562,
1456     data2: 60847,
1457     data3: 19510,
1458     data4: [144, 139, 242, 245, 138, 228, 56, 7],
1459 };
1460 pub const FWPM_CONDITION_VSWITCH_SOURCE_VM_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1461     data1: 2620038850,
1462     data2: 40902,
1463     data3: 17084,
1464     data4: [189, 216, 64, 109, 77, 160, 190, 100],
1465 };
1466 pub const FWPM_CONDITION_VSWITCH_TENANT_NETWORK_ID: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1467     data1: 3691283516,
1468     data2: 31206,
1469     data3: 20036,
1470     data4: [160, 37, 101, 185, 187, 15, 159, 148],
1471 };
1472 #[repr(C)]
1473 #[cfg(feature = "Win32_Foundation")]
1474 pub struct FWPM_CONNECTION0 {
1475     pub connectionId: u64,
1476     pub ipVersion: FWP_IP_VERSION,
1477     pub Anonymous1: FWPM_CONNECTION0_0,
1478     pub Anonymous2: FWPM_CONNECTION0_1,
1479     pub providerKey: *mut ::windows_sys::core::GUID,
1480     pub ipsecTrafficModeType: IPSEC_TRAFFIC_TYPE,
1481     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
1482     pub mmCrypto: IKEEXT_PROPOSAL0,
1483     pub mmPeer: IKEEXT_CREDENTIAL2,
1484     pub emPeer: IKEEXT_CREDENTIAL2,
1485     pub bytesTransferredIn: u64,
1486     pub bytesTransferredOut: u64,
1487     pub bytesTransferredTotal: u64,
1488     pub startSysTime: super::super::Foundation::FILETIME,
1489 }
1490 #[cfg(feature = "Win32_Foundation")]
1491 impl ::core::marker::Copy for FWPM_CONNECTION0 {}
1492 #[cfg(feature = "Win32_Foundation")]
1493 impl ::core::clone::Clone for FWPM_CONNECTION0 {
clone(&self) -> Self1494     fn clone(&self) -> Self {
1495         *self
1496     }
1497 }
1498 #[repr(C)]
1499 #[cfg(feature = "Win32_Foundation")]
1500 pub union FWPM_CONNECTION0_0 {
1501     pub localV4Address: u32,
1502     pub localV6Address: [u8; 16],
1503 }
1504 #[cfg(feature = "Win32_Foundation")]
1505 impl ::core::marker::Copy for FWPM_CONNECTION0_0 {}
1506 #[cfg(feature = "Win32_Foundation")]
1507 impl ::core::clone::Clone for FWPM_CONNECTION0_0 {
clone(&self) -> Self1508     fn clone(&self) -> Self {
1509         *self
1510     }
1511 }
1512 #[repr(C)]
1513 #[cfg(feature = "Win32_Foundation")]
1514 pub union FWPM_CONNECTION0_1 {
1515     pub remoteV4Address: u32,
1516     pub remoteV6Address: [u8; 16],
1517 }
1518 #[cfg(feature = "Win32_Foundation")]
1519 impl ::core::marker::Copy for FWPM_CONNECTION0_1 {}
1520 #[cfg(feature = "Win32_Foundation")]
1521 impl ::core::clone::Clone for FWPM_CONNECTION0_1 {
clone(&self) -> Self1522     fn clone(&self) -> Self {
1523         *self
1524     }
1525 }
1526 #[cfg(feature = "Win32_Foundation")]
1527 pub type FWPM_CONNECTION_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, eventtype: FWPM_CONNECTION_EVENT_TYPE, connection: *const FWPM_CONNECTION0);
1528 pub const FWPM_CONNECTION_ENUM_FLAG_QUERY_BYTES_TRANSFERRED: u32 = 1u32;
1529 #[repr(C)]
1530 pub struct FWPM_CONNECTION_ENUM_TEMPLATE0 {
1531     pub connectionId: u64,
1532     pub flags: u32,
1533 }
1534 impl ::core::marker::Copy for FWPM_CONNECTION_ENUM_TEMPLATE0 {}
1535 impl ::core::clone::Clone for FWPM_CONNECTION_ENUM_TEMPLATE0 {
clone(&self) -> Self1536     fn clone(&self) -> Self {
1537         *self
1538     }
1539 }
1540 pub type FWPM_CONNECTION_EVENT_TYPE = i32;
1541 pub const FWPM_CONNECTION_EVENT_ADD: FWPM_CONNECTION_EVENT_TYPE = 0i32;
1542 pub const FWPM_CONNECTION_EVENT_DELETE: FWPM_CONNECTION_EVENT_TYPE = 1i32;
1543 pub const FWPM_CONNECTION_EVENT_MAX: FWPM_CONNECTION_EVENT_TYPE = 2i32;
1544 #[repr(C)]
1545 pub struct FWPM_CONNECTION_SUBSCRIPTION0 {
1546     pub enumTemplate: *mut FWPM_CONNECTION_ENUM_TEMPLATE0,
1547     pub flags: u32,
1548     pub sessionKey: ::windows_sys::core::GUID,
1549 }
1550 impl ::core::marker::Copy for FWPM_CONNECTION_SUBSCRIPTION0 {}
1551 impl ::core::clone::Clone for FWPM_CONNECTION_SUBSCRIPTION0 {
clone(&self) -> Self1552     fn clone(&self) -> Self {
1553         *self
1554     }
1555 }
1556 #[repr(C)]
1557 #[cfg(feature = "Win32_Foundation")]
1558 pub struct FWPM_DISPLAY_DATA0 {
1559     pub name: super::super::Foundation::PWSTR,
1560     pub description: super::super::Foundation::PWSTR,
1561 }
1562 #[cfg(feature = "Win32_Foundation")]
1563 impl ::core::marker::Copy for FWPM_DISPLAY_DATA0 {}
1564 #[cfg(feature = "Win32_Foundation")]
1565 impl ::core::clone::Clone for FWPM_DISPLAY_DATA0 {
clone(&self) -> Self1566     fn clone(&self) -> Self {
1567         *self
1568     }
1569 }
1570 pub type FWPM_DYNAMIC_KEYWORD_CALLBACK0 = unsafe extern "system" fn(notification: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void);
1571 pub type FWPM_ENGINE_OPTION = i32;
1572 pub const FWPM_ENGINE_COLLECT_NET_EVENTS: FWPM_ENGINE_OPTION = 0i32;
1573 pub const FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS: FWPM_ENGINE_OPTION = 1i32;
1574 pub const FWPM_ENGINE_NAME_CACHE: FWPM_ENGINE_OPTION = 2i32;
1575 pub const FWPM_ENGINE_MONITOR_IPSEC_CONNECTIONS: FWPM_ENGINE_OPTION = 3i32;
1576 pub const FWPM_ENGINE_PACKET_QUEUING: FWPM_ENGINE_OPTION = 4i32;
1577 pub const FWPM_ENGINE_TXN_WATCHDOG_TIMEOUT_IN_MSEC: FWPM_ENGINE_OPTION = 5i32;
1578 pub const FWPM_ENGINE_OPTION_MAX: FWPM_ENGINE_OPTION = 6i32;
1579 pub const FWPM_ENGINE_OPTION_PACKET_BATCH_INBOUND: u32 = 4u32;
1580 pub const FWPM_ENGINE_OPTION_PACKET_QUEUE_FORWARD: u32 = 2u32;
1581 pub const FWPM_ENGINE_OPTION_PACKET_QUEUE_INBOUND: u32 = 1u32;
1582 pub const FWPM_ENGINE_OPTION_PACKET_QUEUE_NONE: u32 = 0u32;
1583 #[repr(C)]
1584 pub struct FWPM_FIELD0 {
1585     pub fieldKey: *mut ::windows_sys::core::GUID,
1586     pub r#type: FWPM_FIELD_TYPE,
1587     pub dataType: FWP_DATA_TYPE,
1588 }
1589 impl ::core::marker::Copy for FWPM_FIELD0 {}
1590 impl ::core::clone::Clone for FWPM_FIELD0 {
clone(&self) -> Self1591     fn clone(&self) -> Self {
1592         *self
1593     }
1594 }
1595 pub type FWPM_FIELD_TYPE = i32;
1596 pub const FWPM_FIELD_RAW_DATA: FWPM_FIELD_TYPE = 0i32;
1597 pub const FWPM_FIELD_IP_ADDRESS: FWPM_FIELD_TYPE = 1i32;
1598 pub const FWPM_FIELD_FLAGS: FWPM_FIELD_TYPE = 2i32;
1599 pub const FWPM_FIELD_TYPE_MAX: FWPM_FIELD_TYPE = 3i32;
1600 #[repr(C)]
1601 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1602 pub struct FWPM_FILTER0 {
1603     pub filterKey: ::windows_sys::core::GUID,
1604     pub displayData: FWPM_DISPLAY_DATA0,
1605     pub flags: FWPM_FILTER_FLAGS,
1606     pub providerKey: *mut ::windows_sys::core::GUID,
1607     pub providerData: FWP_BYTE_BLOB,
1608     pub layerKey: ::windows_sys::core::GUID,
1609     pub subLayerKey: ::windows_sys::core::GUID,
1610     pub weight: FWP_VALUE0,
1611     pub numFilterConditions: u32,
1612     pub filterCondition: *mut FWPM_FILTER_CONDITION0,
1613     pub action: FWPM_ACTION0,
1614     pub Anonymous: FWPM_FILTER0_0,
1615     pub reserved: *mut ::windows_sys::core::GUID,
1616     pub filterId: u64,
1617     pub effectiveWeight: FWP_VALUE0,
1618 }
1619 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1620 impl ::core::marker::Copy for FWPM_FILTER0 {}
1621 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1622 impl ::core::clone::Clone for FWPM_FILTER0 {
clone(&self) -> Self1623     fn clone(&self) -> Self {
1624         *self
1625     }
1626 }
1627 #[repr(C)]
1628 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1629 pub union FWPM_FILTER0_0 {
1630     pub rawContext: u64,
1631     pub providerContextKey: ::windows_sys::core::GUID,
1632 }
1633 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1634 impl ::core::marker::Copy for FWPM_FILTER0_0 {}
1635 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1636 impl ::core::clone::Clone for FWPM_FILTER0_0 {
clone(&self) -> Self1637     fn clone(&self) -> Self {
1638         *self
1639     }
1640 }
1641 #[repr(C)]
1642 pub struct FWPM_FILTER_CHANGE0 {
1643     pub changeType: FWPM_CHANGE_TYPE,
1644     pub filterKey: ::windows_sys::core::GUID,
1645     pub filterId: u64,
1646 }
1647 impl ::core::marker::Copy for FWPM_FILTER_CHANGE0 {}
1648 impl ::core::clone::Clone for FWPM_FILTER_CHANGE0 {
clone(&self) -> Self1649     fn clone(&self) -> Self {
1650         *self
1651     }
1652 }
1653 pub type FWPM_FILTER_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, change: *const FWPM_FILTER_CHANGE0);
1654 #[repr(C)]
1655 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1656 pub struct FWPM_FILTER_CONDITION0 {
1657     pub fieldKey: ::windows_sys::core::GUID,
1658     pub matchType: FWP_MATCH_TYPE,
1659     pub conditionValue: FWP_CONDITION_VALUE0,
1660 }
1661 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1662 impl ::core::marker::Copy for FWPM_FILTER_CONDITION0 {}
1663 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1664 impl ::core::clone::Clone for FWPM_FILTER_CONDITION0 {
clone(&self) -> Self1665     fn clone(&self) -> Self {
1666         *self
1667     }
1668 }
1669 #[repr(C)]
1670 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1671 pub struct FWPM_FILTER_ENUM_TEMPLATE0 {
1672     pub providerKey: *mut ::windows_sys::core::GUID,
1673     pub layerKey: ::windows_sys::core::GUID,
1674     pub enumType: FWP_FILTER_ENUM_TYPE,
1675     pub flags: u32,
1676     pub providerContextTemplate: *mut FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0,
1677     pub numFilterConditions: u32,
1678     pub filterCondition: *mut FWPM_FILTER_CONDITION0,
1679     pub actionMask: u32,
1680     pub calloutKey: *mut ::windows_sys::core::GUID,
1681 }
1682 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1683 impl ::core::marker::Copy for FWPM_FILTER_ENUM_TEMPLATE0 {}
1684 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1685 impl ::core::clone::Clone for FWPM_FILTER_ENUM_TEMPLATE0 {
clone(&self) -> Self1686     fn clone(&self) -> Self {
1687         *self
1688     }
1689 }
1690 pub type FWPM_FILTER_FLAGS = u32;
1691 pub const FWPM_FILTER_FLAG_NONE: FWPM_FILTER_FLAGS = 0u32;
1692 pub const FWPM_FILTER_FLAG_PERSISTENT: FWPM_FILTER_FLAGS = 1u32;
1693 pub const FWPM_FILTER_FLAG_BOOTTIME: FWPM_FILTER_FLAGS = 2u32;
1694 pub const FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT: FWPM_FILTER_FLAGS = 4u32;
1695 pub const FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT: FWPM_FILTER_FLAGS = 8u32;
1696 pub const FWPM_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED: FWPM_FILTER_FLAGS = 16u32;
1697 pub const FWPM_FILTER_FLAG_DISABLED: FWPM_FILTER_FLAGS = 32u32;
1698 pub const FWPM_FILTER_FLAG_INDEXED: FWPM_FILTER_FLAGS = 64u32;
1699 pub const FWPM_FILTER_FLAG_GAMEOS_ONLY: u32 = 512u32;
1700 pub const FWPM_FILTER_FLAG_HAS_SECURITY_REALM_PROVIDER_CONTEXT: u32 = 128u32;
1701 pub const FWPM_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE: u32 = 2048u32;
1702 pub const FWPM_FILTER_FLAG_RESERVED0: u32 = 4096u32;
1703 pub const FWPM_FILTER_FLAG_RESERVED1: u32 = 8192u32;
1704 pub const FWPM_FILTER_FLAG_SILENT_MODE: u32 = 1024u32;
1705 pub const FWPM_FILTER_FLAG_SYSTEMOS_ONLY: u32 = 256u32;
1706 #[repr(C)]
1707 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1708 pub struct FWPM_FILTER_SUBSCRIPTION0 {
1709     pub enumTemplate: *mut FWPM_FILTER_ENUM_TEMPLATE0,
1710     pub flags: u32,
1711     pub sessionKey: ::windows_sys::core::GUID,
1712 }
1713 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1714 impl ::core::marker::Copy for FWPM_FILTER_SUBSCRIPTION0 {}
1715 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1716 impl ::core::clone::Clone for FWPM_FILTER_SUBSCRIPTION0 {
clone(&self) -> Self1717     fn clone(&self) -> Self {
1718         *self
1719     }
1720 }
1721 pub const FWPM_KEYING_MODULE_AUTHIP: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1722     data1: 300145376,
1723     data2: 56614,
1724     data3: 17808,
1725     data4: [133, 125, 171, 75, 40, 209, 160, 149],
1726 };
1727 pub const FWPM_KEYING_MODULE_IKE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2847668103, data2: 33448, data3: 17851, data4: [164, 0, 93, 126, 89, 82, 199, 169] };
1728 pub const FWPM_KEYING_MODULE_IKEV2: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 68653772, data2: 36615, data3: 16797, data4: [163, 148, 113, 105, 104, 203, 22, 71] };
1729 #[repr(C)]
1730 #[cfg(feature = "Win32_Foundation")]
1731 pub struct FWPM_LAYER0 {
1732     pub layerKey: ::windows_sys::core::GUID,
1733     pub displayData: FWPM_DISPLAY_DATA0,
1734     pub flags: u32,
1735     pub numFields: u32,
1736     pub field: *mut FWPM_FIELD0,
1737     pub defaultSubLayerKey: ::windows_sys::core::GUID,
1738     pub layerId: u16,
1739 }
1740 #[cfg(feature = "Win32_Foundation")]
1741 impl ::core::marker::Copy for FWPM_LAYER0 {}
1742 #[cfg(feature = "Win32_Foundation")]
1743 impl ::core::clone::Clone for FWPM_LAYER0 {
clone(&self) -> Self1744     fn clone(&self) -> Self {
1745         *self
1746     }
1747 }
1748 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1749     data1: 3280820177,
1750     data2: 1447,
1751     data3: 19507,
1752     data4: [144, 79, 127, 188, 238, 230, 14, 130],
1753 };
1754 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1755     data1: 3593644033,
1756     data2: 62906,
1757     data3: 19158,
1758     data4: [150, 227, 96, 112, 23, 217, 131, 106],
1759 };
1760 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1761     data1: 1248999739,
1762     data2: 12703,
1763     data3: 17596,
1764     data4: [132, 195, 186, 84, 220, 179, 182, 180],
1765 };
1766 pub const FWPM_LAYER_ALE_AUTH_CONNECT_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1767     data1: 3380331448,
1768     data2: 51619,
1769     data3: 20019,
1770     data4: [134, 149, 142, 23, 170, 212, 222, 9],
1771 };
1772 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1773     data1: 2293980589,
1774     data2: 30423,
1775     data3: 16935,
1776     data4: [156, 113, 223, 10, 62, 215, 190, 126],
1777 };
1778 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1779     data1: 924711642,
1780     data2: 40742,
1781     data3: 17917,
1782     data4: [180, 235, 194, 158, 178, 18, 137, 63],
1783 };
1784 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2060049956, data2: 6109, data3: 18452, data4: [180, 189, 169, 251, 201, 90, 50, 27] };
1785 pub const FWPM_LAYER_ALE_AUTH_LISTEN_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1786     data1: 1617967879,
1787     data2: 25544,
1788     data3: 18665,
1789     data4: [173, 163, 18, 177, 175, 64, 166, 23],
1790 };
1791 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3788349415, data2: 62645, data3: 17011, data4: [150, 192, 89, 46, 72, 123, 134, 80] };
1792 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2666178971, data2: 48418, data3: 16935, data4: [145, 159, 0, 115, 198, 51, 87, 177] };
1793 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1794     data1: 2746494103,
1795     data2: 40708,
1796     data3: 18034,
1797     data4: [184, 126, 206, 233, 196, 131, 37, 127],
1798 };
1799 pub const FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1800     data1: 2303024023,
1801     data2: 56289,
1802     data3: 17727,
1803     data4: [162, 36, 19, 218, 137, 90, 243, 150],
1804 };
1805 pub const FWPM_LAYER_ALE_BIND_REDIRECT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1721207981, data2: 50948, data3: 17068, data4: [134, 172, 124, 26, 35, 27, 210, 83] };
1806 pub const FWPM_LAYER_ALE_BIND_REDIRECT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3203411100, data2: 24683, data3: 17718, data4: [140, 38, 28, 47, 199, 182, 49, 212] };
1807 pub const FWPM_LAYER_ALE_CONNECT_REDIRECT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1808     data1: 3336977548,
1809     data2: 46980,
1810     data3: 17762,
1811     data4: [170, 125, 10, 103, 207, 202, 249, 163],
1812 };
1813 pub const FWPM_LAYER_ALE_CONNECT_REDIRECT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1814     data1: 1484674215,
1815     data2: 32838,
1816     data3: 17082,
1817     data4: [160, 170, 183, 22, 37, 15, 199, 253],
1818 };
1819 pub const FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3027657767, data2: 58018, data3: 18042, data4: [189, 126, 219, 205, 27, 216, 90, 9] };
1820 pub const FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1821     data1: 3142806733,
1822     data2: 18261,
1823     data3: 19369,
1824     data4: [159, 247, 249, 237, 248, 105, 156, 123],
1825 };
1826 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1827     data1: 2944419594,
1828     data2: 21910,
1829     data3: 19475,
1830     data4: [153, 146, 83, 158, 111, 229, 121, 103],
1831 };
1832 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 342549673, data2: 41426, data3: 19779, data4: [163, 26, 76, 66, 104, 43, 142, 79] };
1833 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1834     data1: 1881264819,
1835     data2: 57252,
1836     data3: 16494,
1837     data4: [175, 235, 106, 250, 247, 231, 14, 253],
1838 };
1839 pub const FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1840     data1: 1184007734,
1841     data2: 48074,
1842     data3: 19318,
1843     data4: [148, 29, 15, 167, 245, 215, 211, 114],
1844 };
1845 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 306697837, data2: 2912, data3: 18965, data4: [141, 68, 113, 85, 208, 245, 58, 12] };
1846 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 190321314, data2: 50175, data3: 20170, data4: [184, 141, 199, 158, 32, 172, 99, 34] };
1847 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1848     data1: 1436963041,
1849     data2: 24330,
1850     data3: 20170,
1851     data4: [166, 83, 136, 245, 59, 38, 170, 140],
1852 };
1853 pub const FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1854     data1: 3418986683,
1855     data2: 50463,
1856     data3: 19482,
1857     data4: [187, 79, 151, 117, 252, 172, 171, 47],
1858 };
1859 pub const FWPM_LAYER_ALE_RESOURCE_RELEASE_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1860     data1: 1949719758,
1861     data2: 52400,
1862     data3: 16410,
1863     data4: [191, 193, 184, 153, 52, 173, 126, 21],
1864 };
1865 pub const FWPM_LAYER_ALE_RESOURCE_RELEASE_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4108701312, data2: 60876, data3: 19987, data4: [138, 47, 185, 20, 84, 187, 5, 123] };
1866 pub const FWPM_LAYER_DATAGRAM_DATA_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1023983438, data2: 17910, data3: 18736, data4: [169, 34, 65, 112, 152, 226, 0, 39] };
1867 pub const FWPM_LAYER_DATAGRAM_DATA_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 417542342, data2: 29256, data3: 20050, data4: [170, 171, 71, 46, 214, 119, 4, 253] };
1868 pub const FWPM_LAYER_DATAGRAM_DATA_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4198891055, data2: 15546, data3: 17447, data4: [135, 252, 87, 185, 164, 177, 13, 0] };
1869 pub const FWPM_LAYER_DATAGRAM_DATA_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1870     data1: 164749281,
1871     data2: 39814,
1872     data3: 19010,
1873     data4: [190, 157, 140, 49, 91, 146, 165, 208],
1874 };
1875 pub const FWPM_LAYER_EGRESS_VSWITCH_ETHERNET: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2261283504, data2: 30458, data3: 19321, data4: [147, 164, 7, 80, 83, 10, 226, 146] };
1876 pub const FWPM_LAYER_EGRESS_VSWITCH_TRANSPORT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1877     data1: 3106099382,
1878     data2: 37360,
1879     data3: 18102,
1880     data4: [189, 196, 135, 29, 253, 74, 124, 152],
1881 };
1882 pub const FWPM_LAYER_EGRESS_VSWITCH_TRANSPORT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 455995171, data2: 6273, data3: 16573, data4: [130, 244, 66, 84, 230, 49, 65, 203] };
1883 #[repr(C)]
1884 pub struct FWPM_LAYER_ENUM_TEMPLATE0 {
1885     pub reserved: u64,
1886 }
1887 impl ::core::marker::Copy for FWPM_LAYER_ENUM_TEMPLATE0 {}
1888 impl ::core::clone::Clone for FWPM_LAYER_ENUM_TEMPLATE0 {
clone(&self) -> Self1889     fn clone(&self) -> Self {
1890         *self
1891     }
1892 }
1893 pub const FWPM_LAYER_FLAG_BUFFERED: u32 = 8u32;
1894 pub const FWPM_LAYER_FLAG_BUILTIN: u32 = 2u32;
1895 pub const FWPM_LAYER_FLAG_CLASSIFY_MOSTLY: u32 = 4u32;
1896 pub const FWPM_LAYER_FLAG_KERNEL: u32 = 1u32;
1897 pub const FWPM_LAYER_IKEEXT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1898     data1: 2974514139,
1899     data2: 56253,
1900     data3: 18238,
1901     data4: [190, 212, 139, 71, 8, 212, 242, 112],
1902 };
1903 pub const FWPM_LAYER_IKEEXT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1904     data1: 3058140851,
1905     data2: 63111,
1906     data3: 20153,
1907     data4: [137, 210, 142, 243, 42, 205, 171, 226],
1908 };
1909 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1910     data1: 1632213392,
1911     data2: 15542,
1912     data3: 20100,
1913     data4: [185, 80, 83, 185, 75, 105, 100, 243],
1914 };
1915 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1916     data1: 2796646517,
1917     data2: 60335,
1918     data3: 16467,
1919     data4: [164, 231, 33, 60, 129, 33, 237, 229],
1920 };
1921 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1922     data1: 1710865919,
1923     data2: 15149,
1924     data3: 20061,
1925     data4: [184, 198, 199, 32, 101, 31, 232, 152],
1926 };
1927 pub const FWPM_LAYER_INBOUND_ICMP_ERROR_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2800209088, data2: 2299, data3: 18061, data4: [164, 114, 151, 113, 213, 89, 94, 9] };
1928 pub const FWPM_LAYER_INBOUND_IPPACKET_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3362771391, data2: 8653, data3: 18814, data4: [160, 187, 23, 66, 92, 136, 92, 88] };
1929 pub const FWPM_LAYER_INBOUND_IPPACKET_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1930     data1: 3047305424,
1931     data2: 43200,
1932     data3: 17650,
1933     data4: [145, 110, 153, 27, 83, 222, 209, 247],
1934 };
1935 pub const FWPM_LAYER_INBOUND_IPPACKET_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4112528075, data2: 39196, data3: 18151, data4: [151, 29, 38, 1, 69, 154, 145, 202] };
1936 pub const FWPM_LAYER_INBOUND_IPPACKET_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1937     data1: 3139748473,
1938     data2: 37812,
1939     data3: 18338,
1940     data4: [131, 173, 174, 22, 152, 181, 8, 133],
1941 };
1942 pub const FWPM_LAYER_INBOUND_MAC_FRAME_ETHERNET: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4026236635, data2: 85, data3: 20378, data4: [162, 49, 79, 248, 19, 26, 209, 145] };
1943 pub const FWPM_LAYER_INBOUND_MAC_FRAME_NATIVE: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1944     data1: 3559001043,
1945     data2: 25294,
1946     data3: 20232,
1947     data4: [174, 136, 181, 110, 133, 38, 223, 80],
1948 };
1949 pub const FWPM_LAYER_INBOUND_MAC_FRAME_NATIVE_FAST: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2235214478, data2: 11128, data3: 19748, data4: [168, 4, 54, 219, 8, 178, 151, 17] };
1950 pub const FWPM_LAYER_INBOUND_RESERVED2: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1951     data1: 4110126421,
1952     data2: 49270,
1953     data3: 18136,
1954     data4: [162, 199, 106, 76, 114, 44, 164, 237],
1955 };
1956 pub const FWPM_LAYER_INBOUND_TRANSPORT_FAST: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1957     data1: 3827115801,
1958     data2: 1479,
1959     data3: 16624,
1960     data4: [137, 131, 234, 141, 23, 187, 194, 246],
1961 };
1962 pub const FWPM_LAYER_INBOUND_TRANSPORT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1495719880, data2: 58319, data3: 17446, data4: [162, 131, 220, 57, 63, 93, 15, 157] };
1963 pub const FWPM_LAYER_INBOUND_TRANSPORT_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2890569779, data2: 63133, data3: 17992, data4: [178, 97, 109, 200, 72, 53, 239, 57] };
1964 pub const FWPM_LAYER_INBOUND_TRANSPORT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1965     data1: 1665828511,
1966     data2: 64547,
1967     data3: 19344,
1968     data4: [176, 193, 191, 98, 10, 54, 174, 111],
1969 };
1970 pub const FWPM_LAYER_INBOUND_TRANSPORT_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1971     data1: 711981397,
1972     data2: 15147,
1973     data3: 18898,
1974     data4: [152, 72, 173, 157, 114, 220, 170, 183],
1975 };
1976 pub const FWPM_LAYER_INGRESS_VSWITCH_ETHERNET: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1977     data1: 2107135866,
1978     data2: 39559,
1979     data3: 16876,
1980     data4: [151, 24, 124, 245, 137, 201, 243, 45],
1981 };
1982 pub const FWPM_LAYER_INGRESS_VSWITCH_TRANSPORT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1983     data1: 2993254390,
1984     data2: 30543,
1985     data3: 17748,
1986     data4: [159, 125, 61, 163, 148, 95, 142, 133],
1987 };
1988 pub const FWPM_LAYER_INGRESS_VSWITCH_TRANSPORT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1591940348, data2: 32138, data3: 18420, data4: [183, 227, 41, 26, 54, 218, 78, 18] };
1989 pub const FWPM_LAYER_IPFORWARD_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1990     data1: 2821377060,
1991     data2: 20193,
1992     data3: 20193,
1993     data4: [180, 101, 253, 29, 37, 203, 16, 164],
1994 };
1995 pub const FWPM_LAYER_IPFORWARD_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1996     data1: 2661197683,
1997     data2: 12206,
1998     data3: 16912,
1999     data4: [143, 23, 52, 18, 158, 243, 105, 235],
2000 };
2001 pub const FWPM_LAYER_IPFORWARD_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2073446424, data2: 6599, data3: 18746, data4: [183, 31, 131, 44, 54, 132, 210, 140] };
2002 pub const FWPM_LAYER_IPFORWARD_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 827476573, data2: 7678, data3: 18223, data4: [187, 147, 81, 142, 233, 69, 216, 162] };
2003 pub const FWPM_LAYER_IPSEC_KM_DEMUX_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2004     data1: 4029355302,
2005     data2: 42073,
2006     data3: 19025,
2007     data4: [185, 227, 117, 157, 229, 43, 157, 44],
2008 };
2009 pub const FWPM_LAYER_IPSEC_KM_DEMUX_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 796220662, data2: 12244, data3: 20104, data4: [179, 228, 169, 27, 202, 73, 82, 53] };
2010 pub const FWPM_LAYER_IPSEC_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2011     data1: 3987102836,
2012     data2: 24845,
2013     data3: 19397,
2014     data4: [148, 143, 60, 79, 137, 85, 104, 103],
2015 };
2016 pub const FWPM_LAYER_IPSEC_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 331646018, data2: 36231, data3: 16993, data4: [154, 41, 89, 210, 171, 195, 72, 180] };
2017 pub const FWPM_LAYER_KM_AUTHORIZATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2018     data1: 1252140777,
2019     data2: 36896,
2020     data3: 17915,
2021     data4: [149, 106, 192, 36, 157, 132, 17, 149],
2022 };
2023 pub const FWPM_LAYER_NAME_RESOLUTION_CACHE_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2024     data1: 204121729,
2025     data2: 36955,
2026     data3: 19661,
2027     data4: [164, 103, 77, 216, 17, 208, 123, 123],
2028 };
2029 pub const FWPM_LAYER_NAME_RESOLUTION_CACHE_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2030     data1: 2463470330,
2031     data2: 27393,
2032     data3: 17226,
2033     data4: [157, 234, 209, 233, 110, 169, 125, 169],
2034 };
2035 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1094254848, data2: 22092, data3: 19250, data4: [188, 29, 113, 128, 72, 53, 77, 124] };
2036 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3008990518, data2: 1377, data3: 17800, data4: [166, 191, 233, 85, 227, 246, 38, 75] };
2037 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2142255968, data2: 31629, data3: 19962, data4: [186, 221, 152, 1, 118, 252, 78, 18] };
2038 pub const FWPM_LAYER_OUTBOUND_ICMP_ERROR_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2039     data1: 1710417479,
2040     data2: 36108,
2041     data3: 20295,
2042     data4: [177, 155, 51, 164, 211, 241, 53, 124],
2043 };
2044 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 509386670, data2: 35460, data3: 16693, data4: [163, 49, 149, 11, 84, 34, 158, 205] };
2045 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 149208245, data2: 46663, data3: 18675, data4: [149, 60, 229, 221, 189, 3, 147, 126] };
2046 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2746461035, data2: 13668, data3: 18572, data4: [145, 23, 243, 78, 130, 20, 39, 99] };
2047 pub const FWPM_LAYER_OUTBOUND_IPPACKET_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2048     data1: 2501105604,
2049     data2: 43316,
2050     data3: 18908,
2051     data4: [145, 167, 108, 203, 128, 204, 2, 227],
2052 };
2053 pub const FWPM_LAYER_OUTBOUND_MAC_FRAME_ETHERNET: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2054     data1: 1766224828,
2055     data2: 55003,
2056     data3: 18544,
2057     data4: [173, 238, 10, 205, 189, 183, 244, 178],
2058 };
2059 pub const FWPM_LAYER_OUTBOUND_MAC_FRAME_NATIVE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2495891730, data2: 40303, data3: 20159, data4: [185, 149, 5, 171, 138, 8, 141, 27] };
2060 pub const FWPM_LAYER_OUTBOUND_MAC_FRAME_NATIVE_FAST: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2061     data1: 1192098118,
2062     data2: 51554,
2063     data3: 18543,
2064     data4: [148, 70, 130, 147, 203, 199, 94, 184],
2065 };
2066 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_FAST: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2067     data1: 334316424,
2068     data2: 41072,
2069     data3: 18453,
2070     data4: [153, 53, 122, 155, 230, 64, 139, 120],
2071 };
2072 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 166075114, data2: 53780, data3: 18146, data4: [155, 33, 178, 107, 11, 47, 40, 200] };
2073 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2074     data1: 3320907089,
2075     data2: 48560,
2076     data3: 17367,
2077     data4: [163, 19, 80, 226, 17, 244, 214, 138],
2078 };
2079 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3782433758, data2: 319, data3: 18005, data4: [179, 81, 164, 158, 21, 118, 45, 240] };
2080 pub const FWPM_LAYER_OUTBOUND_TRANSPORT_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4097040233, data2: 52413, data3: 18478, data4: [185, 178, 87, 22, 86, 88, 195, 179] };
2081 pub const FWPM_LAYER_RPC_EPMAP: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2082     data1: 2454174817,
2083     data2: 60167,
2084     data3: 18414,
2085     data4: [135, 44, 191, 215, 139, 253, 22, 22],
2086 };
2087 pub const FWPM_LAYER_RPC_EP_ADD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2088     data1: 1636696007,
2089     data2: 50256,
2090     data3: 18755,
2091     data4: [149, 219, 153, 180, 193, 106, 85, 212],
2092 };
2093 pub const FWPM_LAYER_RPC_PROXY_CONN: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2094     data1: 2493822219,
2095     data2: 47708,
2096     data3: 20263,
2097     data4: [144, 122, 34, 159, 172, 12, 42, 122],
2098 };
2099 pub const FWPM_LAYER_RPC_PROXY_IF: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2100     data1: 4171466261,
2101     data2: 57644,
2102     data3: 16812,
2103     data4: [152, 223, 18, 26, 217, 129, 170, 222],
2104 };
2105 pub const FWPM_LAYER_RPC_UM: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2106     data1: 1973984730,
2107     data2: 38372,
2108     data3: 16627,
2109     data4: [173, 199, 118, 136, 169, 200, 71, 225],
2110 };
2111 #[repr(C)]
2112 pub struct FWPM_LAYER_STATISTICS0 {
2113     pub layerId: ::windows_sys::core::GUID,
2114     pub classifyPermitCount: u32,
2115     pub classifyBlockCount: u32,
2116     pub classifyVetoCount: u32,
2117     pub numCacheEntries: u32,
2118 }
2119 impl ::core::marker::Copy for FWPM_LAYER_STATISTICS0 {}
2120 impl ::core::clone::Clone for FWPM_LAYER_STATISTICS0 {
clone(&self) -> Self2121     fn clone(&self) -> Self {
2122         *self
2123     }
2124 }
2125 pub const FWPM_LAYER_STREAM_PACKET_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2126     data1: 2941442284,
2127     data2: 52013,
2128     data3: 17637,
2129     data4: [173, 146, 248, 220, 56, 210, 235, 41],
2130 };
2131 pub const FWPM_LAYER_STREAM_PACKET_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2006617251, data2: 61593, data3: 18063, data4: [181, 212, 131, 83, 92, 70, 28, 2] };
2132 pub const FWPM_LAYER_STREAM_V4: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2133     data1: 998860092,
2134     data2: 49520,
2135     data3: 18916,
2136     data4: [177, 205, 224, 238, 238, 225, 154, 62],
2137 };
2138 pub const FWPM_LAYER_STREAM_V4_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 633651906, data2: 9727, data3: 17234, data4: [130, 249, 197, 74, 74, 71, 38, 220] };
2139 pub const FWPM_LAYER_STREAM_V6: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
2140     data1: 1204360058,
2141     data2: 32452,
2142     data3: 18099,
2143     data4: [182, 228, 72, 233, 38, 177, 237, 164],
2144 };
2145 pub const FWPM_LAYER_STREAM_V6_DISCARD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 279289799, data2: 46632, data3: 19521, data4: [158, 184, 207, 55, 213, 81, 3, 207] };
2146 #[repr(C)]
2147 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2148 pub struct FWPM_NET_EVENT0 {
2149     pub header: FWPM_NET_EVENT_HEADER0,
2150     pub r#type: FWPM_NET_EVENT_TYPE,
2151     pub Anonymous: FWPM_NET_EVENT0_0,
2152 }
2153 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2154 impl ::core::marker::Copy for FWPM_NET_EVENT0 {}
2155 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2156 impl ::core::clone::Clone for FWPM_NET_EVENT0 {
clone(&self) -> Self2157     fn clone(&self) -> Self {
2158         *self
2159     }
2160 }
2161 #[repr(C)]
2162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2163 pub union FWPM_NET_EVENT0_0 {
2164     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE0,
2165     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
2166     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE0,
2167     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP0,
2168     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2169     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2170 }
2171 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2172 impl ::core::marker::Copy for FWPM_NET_EVENT0_0 {}
2173 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2174 impl ::core::clone::Clone for FWPM_NET_EVENT0_0 {
clone(&self) -> Self2175     fn clone(&self) -> Self {
2176         *self
2177     }
2178 }
2179 #[repr(C)]
2180 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2181 pub struct FWPM_NET_EVENT1 {
2182     pub header: FWPM_NET_EVENT_HEADER1,
2183     pub r#type: FWPM_NET_EVENT_TYPE,
2184     pub Anonymous: FWPM_NET_EVENT1_0,
2185 }
2186 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2187 impl ::core::marker::Copy for FWPM_NET_EVENT1 {}
2188 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2189 impl ::core::clone::Clone for FWPM_NET_EVENT1 {
clone(&self) -> Self2190     fn clone(&self) -> Self {
2191         *self
2192     }
2193 }
2194 #[repr(C)]
2195 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2196 pub union FWPM_NET_EVENT1_0 {
2197     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE1,
2198     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
2199     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2200     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP1,
2201     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2202     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2203 }
2204 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2205 impl ::core::marker::Copy for FWPM_NET_EVENT1_0 {}
2206 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2207 impl ::core::clone::Clone for FWPM_NET_EVENT1_0 {
clone(&self) -> Self2208     fn clone(&self) -> Self {
2209         *self
2210     }
2211 }
2212 #[repr(C)]
2213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2214 pub struct FWPM_NET_EVENT2 {
2215     pub header: FWPM_NET_EVENT_HEADER2,
2216     pub r#type: FWPM_NET_EVENT_TYPE,
2217     pub Anonymous: FWPM_NET_EVENT2_0,
2218 }
2219 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2220 impl ::core::marker::Copy for FWPM_NET_EVENT2 {}
2221 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2222 impl ::core::clone::Clone for FWPM_NET_EVENT2 {
clone(&self) -> Self2223     fn clone(&self) -> Self {
2224         *self
2225     }
2226 }
2227 #[repr(C)]
2228 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2229 pub union FWPM_NET_EVENT2_0 {
2230     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE1,
2231     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
2232     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2233     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
2234     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2235     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2236     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
2237     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
2238     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
2239     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
2240 }
2241 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2242 impl ::core::marker::Copy for FWPM_NET_EVENT2_0 {}
2243 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2244 impl ::core::clone::Clone for FWPM_NET_EVENT2_0 {
clone(&self) -> Self2245     fn clone(&self) -> Self {
2246         *self
2247     }
2248 }
2249 #[repr(C)]
2250 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2251 pub struct FWPM_NET_EVENT3 {
2252     pub header: FWPM_NET_EVENT_HEADER3,
2253     pub r#type: FWPM_NET_EVENT_TYPE,
2254     pub Anonymous: FWPM_NET_EVENT3_0,
2255 }
2256 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2257 impl ::core::marker::Copy for FWPM_NET_EVENT3 {}
2258 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2259 impl ::core::clone::Clone for FWPM_NET_EVENT3 {
clone(&self) -> Self2260     fn clone(&self) -> Self {
2261         *self
2262     }
2263 }
2264 #[repr(C)]
2265 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2266 pub union FWPM_NET_EVENT3_0 {
2267     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE1,
2268     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE0,
2269     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2270     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
2271     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2272     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2273     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
2274     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
2275     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
2276     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
2277 }
2278 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2279 impl ::core::marker::Copy for FWPM_NET_EVENT3_0 {}
2280 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2281 impl ::core::clone::Clone for FWPM_NET_EVENT3_0 {
clone(&self) -> Self2282     fn clone(&self) -> Self {
2283         *self
2284     }
2285 }
2286 #[repr(C)]
2287 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2288 pub struct FWPM_NET_EVENT4_ {
2289     pub header: FWPM_NET_EVENT_HEADER3,
2290     pub r#type: FWPM_NET_EVENT_TYPE,
2291     pub Anonymous: FWPM_NET_EVENT4__0,
2292 }
2293 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2294 impl ::core::marker::Copy for FWPM_NET_EVENT4_ {}
2295 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2296 impl ::core::clone::Clone for FWPM_NET_EVENT4_ {
clone(&self) -> Self2297     fn clone(&self) -> Self {
2298         *self
2299     }
2300 }
2301 #[repr(C)]
2302 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2303 pub union FWPM_NET_EVENT4__0 {
2304     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_,
2305     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_,
2306     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2307     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
2308     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2309     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2310     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
2311     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
2312     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
2313     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
2314 }
2315 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2316 impl ::core::marker::Copy for FWPM_NET_EVENT4__0 {}
2317 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2318 impl ::core::clone::Clone for FWPM_NET_EVENT4__0 {
clone(&self) -> Self2319     fn clone(&self) -> Self {
2320         *self
2321     }
2322 }
2323 #[repr(C)]
2324 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2325 pub struct FWPM_NET_EVENT5_ {
2326     pub header: FWPM_NET_EVENT_HEADER3,
2327     pub r#type: FWPM_NET_EVENT_TYPE,
2328     pub Anonymous: FWPM_NET_EVENT5__0,
2329 }
2330 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2331 impl ::core::marker::Copy for FWPM_NET_EVENT5_ {}
2332 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2333 impl ::core::clone::Clone for FWPM_NET_EVENT5_ {
clone(&self) -> Self2334     fn clone(&self) -> Self {
2335         *self
2336     }
2337 }
2338 #[repr(C)]
2339 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2340 pub union FWPM_NET_EVENT5__0 {
2341     pub ikeMmFailure: *mut FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_,
2342     pub ikeQmFailure: *mut FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_,
2343     pub ikeEmFailure: *mut FWPM_NET_EVENT_IKEEXT_EM_FAILURE1,
2344     pub classifyDrop: *mut FWPM_NET_EVENT_CLASSIFY_DROP2,
2345     pub ipsecDrop: *mut FWPM_NET_EVENT_IPSEC_KERNEL_DROP0,
2346     pub idpDrop: *mut FWPM_NET_EVENT_IPSEC_DOSP_DROP0,
2347     pub classifyAllow: *mut FWPM_NET_EVENT_CLASSIFY_ALLOW0,
2348     pub capabilityDrop: *mut FWPM_NET_EVENT_CAPABILITY_DROP0,
2349     pub capabilityAllow: *mut FWPM_NET_EVENT_CAPABILITY_ALLOW0,
2350     pub classifyDropMac: *mut FWPM_NET_EVENT_CLASSIFY_DROP_MAC0,
2351     pub lpmPacketArrival: *mut FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_,
2352 }
2353 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2354 impl ::core::marker::Copy for FWPM_NET_EVENT5__0 {}
2355 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2356 impl ::core::clone::Clone for FWPM_NET_EVENT5__0 {
clone(&self) -> Self2357     fn clone(&self) -> Self {
2358         *self
2359     }
2360 }
2361 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2362 pub type FWPM_NET_EVENT_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, event: *const FWPM_NET_EVENT1);
2363 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2364 pub type FWPM_NET_EVENT_CALLBACK1 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, event: *const FWPM_NET_EVENT2);
2365 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2366 pub type FWPM_NET_EVENT_CALLBACK2 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, event: *const FWPM_NET_EVENT3);
2367 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2368 pub type FWPM_NET_EVENT_CALLBACK3 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, event: *const FWPM_NET_EVENT4_);
2369 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2370 pub type FWPM_NET_EVENT_CALLBACK4 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, event: *const FWPM_NET_EVENT5_);
2371 #[repr(C)]
2372 #[cfg(feature = "Win32_Foundation")]
2373 pub struct FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
2374     pub networkCapabilityId: FWPM_APPC_NETWORK_CAPABILITY_TYPE,
2375     pub filterId: u64,
2376     pub isLoopback: super::super::Foundation::BOOL,
2377 }
2378 #[cfg(feature = "Win32_Foundation")]
2379 impl ::core::marker::Copy for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {}
2380 #[cfg(feature = "Win32_Foundation")]
2381 impl ::core::clone::Clone for FWPM_NET_EVENT_CAPABILITY_ALLOW0 {
clone(&self) -> Self2382     fn clone(&self) -> Self {
2383         *self
2384     }
2385 }
2386 #[repr(C)]
2387 #[cfg(feature = "Win32_Foundation")]
2388 pub struct FWPM_NET_EVENT_CAPABILITY_DROP0 {
2389     pub networkCapabilityId: FWPM_APPC_NETWORK_CAPABILITY_TYPE,
2390     pub filterId: u64,
2391     pub isLoopback: super::super::Foundation::BOOL,
2392 }
2393 #[cfg(feature = "Win32_Foundation")]
2394 impl ::core::marker::Copy for FWPM_NET_EVENT_CAPABILITY_DROP0 {}
2395 #[cfg(feature = "Win32_Foundation")]
2396 impl ::core::clone::Clone for FWPM_NET_EVENT_CAPABILITY_DROP0 {
clone(&self) -> Self2397     fn clone(&self) -> Self {
2398         *self
2399     }
2400 }
2401 #[repr(C)]
2402 #[cfg(feature = "Win32_Foundation")]
2403 pub struct FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
2404     pub filterId: u64,
2405     pub layerId: u16,
2406     pub reauthReason: u32,
2407     pub originalProfile: u32,
2408     pub currentProfile: u32,
2409     pub msFwpDirection: u32,
2410     pub isLoopback: super::super::Foundation::BOOL,
2411 }
2412 #[cfg(feature = "Win32_Foundation")]
2413 impl ::core::marker::Copy for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {}
2414 #[cfg(feature = "Win32_Foundation")]
2415 impl ::core::clone::Clone for FWPM_NET_EVENT_CLASSIFY_ALLOW0 {
clone(&self) -> Self2416     fn clone(&self) -> Self {
2417         *self
2418     }
2419 }
2420 #[repr(C)]
2421 pub struct FWPM_NET_EVENT_CLASSIFY_DROP0 {
2422     pub filterId: u64,
2423     pub layerId: u16,
2424 }
2425 impl ::core::marker::Copy for FWPM_NET_EVENT_CLASSIFY_DROP0 {}
2426 impl ::core::clone::Clone for FWPM_NET_EVENT_CLASSIFY_DROP0 {
clone(&self) -> Self2427     fn clone(&self) -> Self {
2428         *self
2429     }
2430 }
2431 #[repr(C)]
2432 #[cfg(feature = "Win32_Foundation")]
2433 pub struct FWPM_NET_EVENT_CLASSIFY_DROP1 {
2434     pub filterId: u64,
2435     pub layerId: u16,
2436     pub reauthReason: u32,
2437     pub originalProfile: u32,
2438     pub currentProfile: u32,
2439     pub msFwpDirection: u32,
2440     pub isLoopback: super::super::Foundation::BOOL,
2441 }
2442 #[cfg(feature = "Win32_Foundation")]
2443 impl ::core::marker::Copy for FWPM_NET_EVENT_CLASSIFY_DROP1 {}
2444 #[cfg(feature = "Win32_Foundation")]
2445 impl ::core::clone::Clone for FWPM_NET_EVENT_CLASSIFY_DROP1 {
clone(&self) -> Self2446     fn clone(&self) -> Self {
2447         *self
2448     }
2449 }
2450 #[repr(C)]
2451 #[cfg(feature = "Win32_Foundation")]
2452 pub struct FWPM_NET_EVENT_CLASSIFY_DROP2 {
2453     pub filterId: u64,
2454     pub layerId: u16,
2455     pub reauthReason: u32,
2456     pub originalProfile: u32,
2457     pub currentProfile: u32,
2458     pub msFwpDirection: u32,
2459     pub isLoopback: super::super::Foundation::BOOL,
2460     pub vSwitchId: FWP_BYTE_BLOB,
2461     pub vSwitchSourcePort: u32,
2462     pub vSwitchDestinationPort: u32,
2463 }
2464 #[cfg(feature = "Win32_Foundation")]
2465 impl ::core::marker::Copy for FWPM_NET_EVENT_CLASSIFY_DROP2 {}
2466 #[cfg(feature = "Win32_Foundation")]
2467 impl ::core::clone::Clone for FWPM_NET_EVENT_CLASSIFY_DROP2 {
clone(&self) -> Self2468     fn clone(&self) -> Self {
2469         *self
2470     }
2471 }
2472 #[repr(C)]
2473 #[cfg(feature = "Win32_Foundation")]
2474 pub struct FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
2475     pub localMacAddr: FWP_BYTE_ARRAY6,
2476     pub remoteMacAddr: FWP_BYTE_ARRAY6,
2477     pub mediaType: u32,
2478     pub ifType: u32,
2479     pub etherType: u16,
2480     pub ndisPortNumber: u32,
2481     pub reserved: u32,
2482     pub vlanTag: u16,
2483     pub ifLuid: u64,
2484     pub filterId: u64,
2485     pub layerId: u16,
2486     pub reauthReason: u32,
2487     pub originalProfile: u32,
2488     pub currentProfile: u32,
2489     pub msFwpDirection: u32,
2490     pub isLoopback: super::super::Foundation::BOOL,
2491     pub vSwitchId: FWP_BYTE_BLOB,
2492     pub vSwitchSourcePort: u32,
2493     pub vSwitchDestinationPort: u32,
2494 }
2495 #[cfg(feature = "Win32_Foundation")]
2496 impl ::core::marker::Copy for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {}
2497 #[cfg(feature = "Win32_Foundation")]
2498 impl ::core::clone::Clone for FWPM_NET_EVENT_CLASSIFY_DROP_MAC0 {
clone(&self) -> Self2499     fn clone(&self) -> Self {
2500         *self
2501     }
2502 }
2503 #[repr(C)]
2504 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2505 pub struct FWPM_NET_EVENT_ENUM_TEMPLATE0 {
2506     pub startTime: super::super::Foundation::FILETIME,
2507     pub endTime: super::super::Foundation::FILETIME,
2508     pub numFilterConditions: u32,
2509     pub filterCondition: *mut FWPM_FILTER_CONDITION0,
2510 }
2511 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2512 impl ::core::marker::Copy for FWPM_NET_EVENT_ENUM_TEMPLATE0 {}
2513 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2514 impl ::core::clone::Clone for FWPM_NET_EVENT_ENUM_TEMPLATE0 {
clone(&self) -> Self2515     fn clone(&self) -> Self {
2516         *self
2517     }
2518 }
2519 pub const FWPM_NET_EVENT_FLAG_APP_ID_SET: u32 = 32u32;
2520 pub const FWPM_NET_EVENT_FLAG_EFFECTIVE_NAME_SET: u32 = 8192u32;
2521 pub const FWPM_NET_EVENT_FLAG_ENTERPRISE_ID_SET: u32 = 2048u32;
2522 pub const FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET: u32 = 1u32;
2523 pub const FWPM_NET_EVENT_FLAG_IP_VERSION_SET: u32 = 256u32;
2524 pub const FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET: u32 = 2u32;
2525 pub const FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET: u32 = 8u32;
2526 pub const FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET: u32 = 1024u32;
2527 pub const FWPM_NET_EVENT_FLAG_POLICY_FLAGS_SET: u32 = 4096u32;
2528 pub const FWPM_NET_EVENT_FLAG_REAUTH_REASON_SET: u32 = 512u32;
2529 pub const FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET: u32 = 4u32;
2530 pub const FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET: u32 = 16u32;
2531 pub const FWPM_NET_EVENT_FLAG_SCOPE_ID_SET: u32 = 128u32;
2532 pub const FWPM_NET_EVENT_FLAG_USER_ID_SET: u32 = 64u32;
2533 #[repr(C)]
2534 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2535 pub struct FWPM_NET_EVENT_HEADER0 {
2536     pub timeStamp: super::super::Foundation::FILETIME,
2537     pub flags: u32,
2538     pub ipVersion: FWP_IP_VERSION,
2539     pub ipProtocol: u8,
2540     pub Anonymous1: FWPM_NET_EVENT_HEADER0_0,
2541     pub Anonymous2: FWPM_NET_EVENT_HEADER0_1,
2542     pub localPort: u16,
2543     pub remotePort: u16,
2544     pub scopeId: u32,
2545     pub appId: FWP_BYTE_BLOB,
2546     pub userId: *mut super::super::Security::SID,
2547 }
2548 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2549 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER0 {}
2550 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2551 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER0 {
clone(&self) -> Self2552     fn clone(&self) -> Self {
2553         *self
2554     }
2555 }
2556 #[repr(C)]
2557 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2558 pub union FWPM_NET_EVENT_HEADER0_0 {
2559     pub localAddrV4: u32,
2560     pub localAddrV6: FWP_BYTE_ARRAY16,
2561 }
2562 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2563 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER0_0 {}
2564 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2565 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER0_0 {
clone(&self) -> Self2566     fn clone(&self) -> Self {
2567         *self
2568     }
2569 }
2570 #[repr(C)]
2571 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2572 pub union FWPM_NET_EVENT_HEADER0_1 {
2573     pub remoteAddrV4: u32,
2574     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2575 }
2576 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2577 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER0_1 {}
2578 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2579 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER0_1 {
clone(&self) -> Self2580     fn clone(&self) -> Self {
2581         *self
2582     }
2583 }
2584 #[repr(C)]
2585 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2586 pub struct FWPM_NET_EVENT_HEADER1 {
2587     pub timeStamp: super::super::Foundation::FILETIME,
2588     pub flags: u32,
2589     pub ipVersion: FWP_IP_VERSION,
2590     pub ipProtocol: u8,
2591     pub Anonymous1: FWPM_NET_EVENT_HEADER1_0,
2592     pub Anonymous2: FWPM_NET_EVENT_HEADER1_1,
2593     pub localPort: u16,
2594     pub remotePort: u16,
2595     pub scopeId: u32,
2596     pub appId: FWP_BYTE_BLOB,
2597     pub userId: *mut super::super::Security::SID,
2598     pub Anonymous3: FWPM_NET_EVENT_HEADER1_2,
2599 }
2600 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2601 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1 {}
2602 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2603 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1 {
clone(&self) -> Self2604     fn clone(&self) -> Self {
2605         *self
2606     }
2607 }
2608 #[repr(C)]
2609 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2610 pub union FWPM_NET_EVENT_HEADER1_0 {
2611     pub localAddrV4: u32,
2612     pub localAddrV6: FWP_BYTE_ARRAY16,
2613 }
2614 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2615 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1_0 {}
2616 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2617 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1_0 {
clone(&self) -> Self2618     fn clone(&self) -> Self {
2619         *self
2620     }
2621 }
2622 #[repr(C)]
2623 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2624 pub union FWPM_NET_EVENT_HEADER1_1 {
2625     pub remoteAddrV4: u32,
2626     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2627 }
2628 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2629 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1_1 {}
2630 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2631 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1_1 {
clone(&self) -> Self2632     fn clone(&self) -> Self {
2633         *self
2634     }
2635 }
2636 #[repr(C)]
2637 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2638 pub union FWPM_NET_EVENT_HEADER1_2 {
2639     pub Anonymous: FWPM_NET_EVENT_HEADER1_2_0,
2640 }
2641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2642 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1_2 {}
2643 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2644 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1_2 {
clone(&self) -> Self2645     fn clone(&self) -> Self {
2646         *self
2647     }
2648 }
2649 #[repr(C)]
2650 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2651 pub struct FWPM_NET_EVENT_HEADER1_2_0 {
2652     pub reserved1: FWP_AF,
2653     pub Anonymous: FWPM_NET_EVENT_HEADER1_2_0_0,
2654 }
2655 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2656 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1_2_0 {}
2657 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2658 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1_2_0 {
clone(&self) -> Self2659     fn clone(&self) -> Self {
2660         *self
2661     }
2662 }
2663 #[repr(C)]
2664 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2665 pub union FWPM_NET_EVENT_HEADER1_2_0_0 {
2666     pub Anonymous: FWPM_NET_EVENT_HEADER1_2_0_0_0,
2667 }
2668 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2669 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1_2_0_0 {}
2670 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2671 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1_2_0_0 {
clone(&self) -> Self2672     fn clone(&self) -> Self {
2673         *self
2674     }
2675 }
2676 #[repr(C)]
2677 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2678 pub struct FWPM_NET_EVENT_HEADER1_2_0_0_0 {
2679     pub reserved2: FWP_BYTE_ARRAY6,
2680     pub reserved3: FWP_BYTE_ARRAY6,
2681     pub reserved4: u32,
2682     pub reserved5: u32,
2683     pub reserved6: u16,
2684     pub reserved7: u32,
2685     pub reserved8: u32,
2686     pub reserved9: u16,
2687     pub reserved10: u64,
2688 }
2689 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2690 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER1_2_0_0_0 {}
2691 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2692 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER1_2_0_0_0 {
clone(&self) -> Self2693     fn clone(&self) -> Self {
2694         *self
2695     }
2696 }
2697 #[repr(C)]
2698 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2699 pub struct FWPM_NET_EVENT_HEADER2 {
2700     pub timeStamp: super::super::Foundation::FILETIME,
2701     pub flags: u32,
2702     pub ipVersion: FWP_IP_VERSION,
2703     pub ipProtocol: u8,
2704     pub Anonymous1: FWPM_NET_EVENT_HEADER2_0,
2705     pub Anonymous2: FWPM_NET_EVENT_HEADER2_1,
2706     pub localPort: u16,
2707     pub remotePort: u16,
2708     pub scopeId: u32,
2709     pub appId: FWP_BYTE_BLOB,
2710     pub userId: *mut super::super::Security::SID,
2711     pub addressFamily: FWP_AF,
2712     pub packageSid: *mut super::super::Security::SID,
2713 }
2714 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2715 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER2 {}
2716 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2717 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER2 {
clone(&self) -> Self2718     fn clone(&self) -> Self {
2719         *self
2720     }
2721 }
2722 #[repr(C)]
2723 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2724 pub union FWPM_NET_EVENT_HEADER2_0 {
2725     pub localAddrV4: u32,
2726     pub localAddrV6: FWP_BYTE_ARRAY16,
2727 }
2728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2729 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER2_0 {}
2730 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2731 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER2_0 {
clone(&self) -> Self2732     fn clone(&self) -> Self {
2733         *self
2734     }
2735 }
2736 #[repr(C)]
2737 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2738 pub union FWPM_NET_EVENT_HEADER2_1 {
2739     pub remoteAddrV4: u32,
2740     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2741 }
2742 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2743 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER2_1 {}
2744 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2745 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER2_1 {
clone(&self) -> Self2746     fn clone(&self) -> Self {
2747         *self
2748     }
2749 }
2750 #[repr(C)]
2751 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2752 pub struct FWPM_NET_EVENT_HEADER3 {
2753     pub timeStamp: super::super::Foundation::FILETIME,
2754     pub flags: u32,
2755     pub ipVersion: FWP_IP_VERSION,
2756     pub ipProtocol: u8,
2757     pub Anonymous1: FWPM_NET_EVENT_HEADER3_0,
2758     pub Anonymous2: FWPM_NET_EVENT_HEADER3_1,
2759     pub localPort: u16,
2760     pub remotePort: u16,
2761     pub scopeId: u32,
2762     pub appId: FWP_BYTE_BLOB,
2763     pub userId: *mut super::super::Security::SID,
2764     pub addressFamily: FWP_AF,
2765     pub packageSid: *mut super::super::Security::SID,
2766     pub enterpriseId: super::super::Foundation::PWSTR,
2767     pub policyFlags: u64,
2768     pub effectiveName: FWP_BYTE_BLOB,
2769 }
2770 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2771 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER3 {}
2772 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2773 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER3 {
clone(&self) -> Self2774     fn clone(&self) -> Self {
2775         *self
2776     }
2777 }
2778 #[repr(C)]
2779 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2780 pub union FWPM_NET_EVENT_HEADER3_0 {
2781     pub localAddrV4: u32,
2782     pub localAddrV6: FWP_BYTE_ARRAY16,
2783 }
2784 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2785 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER3_0 {}
2786 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2787 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER3_0 {
clone(&self) -> Self2788     fn clone(&self) -> Self {
2789         *self
2790     }
2791 }
2792 #[repr(C)]
2793 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2794 pub union FWPM_NET_EVENT_HEADER3_1 {
2795     pub remoteAddrV4: u32,
2796     pub remoteAddrV6: FWP_BYTE_ARRAY16,
2797 }
2798 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2799 impl ::core::marker::Copy for FWPM_NET_EVENT_HEADER3_1 {}
2800 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2801 impl ::core::clone::Clone for FWPM_NET_EVENT_HEADER3_1 {
clone(&self) -> Self2802     fn clone(&self) -> Self {
2803         *self
2804     }
2805 }
2806 #[repr(C)]
2807 pub struct FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
2808     pub failureErrorCode: u32,
2809     pub failurePoint: IPSEC_FAILURE_POINT,
2810     pub flags: u32,
2811     pub emState: IKEEXT_EM_SA_STATE,
2812     pub saRole: IKEEXT_SA_ROLE,
2813     pub emAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
2814     pub endCertHash: [u8; 20],
2815     pub mmId: u64,
2816     pub qmFilterId: u64,
2817 }
2818 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {}
2819 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 {
clone(&self) -> Self2820     fn clone(&self) -> Self {
2821         *self
2822     }
2823 }
2824 #[repr(C)]
2825 #[cfg(feature = "Win32_Foundation")]
2826 pub struct FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
2827     pub failureErrorCode: u32,
2828     pub failurePoint: IPSEC_FAILURE_POINT,
2829     pub flags: u32,
2830     pub emState: IKEEXT_EM_SA_STATE,
2831     pub saRole: IKEEXT_SA_ROLE,
2832     pub emAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
2833     pub endCertHash: [u8; 20],
2834     pub mmId: u64,
2835     pub qmFilterId: u64,
2836     pub localPrincipalNameForAuth: super::super::Foundation::PWSTR,
2837     pub remotePrincipalNameForAuth: super::super::Foundation::PWSTR,
2838     pub numLocalPrincipalGroupSids: u32,
2839     pub localPrincipalGroupSids: *mut super::super::Foundation::PWSTR,
2840     pub numRemotePrincipalGroupSids: u32,
2841     pub remotePrincipalGroupSids: *mut super::super::Foundation::PWSTR,
2842     pub saTrafficType: IPSEC_TRAFFIC_TYPE,
2843 }
2844 #[cfg(feature = "Win32_Foundation")]
2845 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {}
2846 #[cfg(feature = "Win32_Foundation")]
2847 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 {
clone(&self) -> Self2848     fn clone(&self) -> Self {
2849         *self
2850     }
2851 }
2852 pub const FWPM_NET_EVENT_IKEEXT_EM_FAILURE_FLAG_BENIGN: u32 = 2u32;
2853 pub const FWPM_NET_EVENT_IKEEXT_EM_FAILURE_FLAG_MULTIPLE: u32 = 1u32;
2854 #[repr(C)]
2855 pub struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
2856     pub failureErrorCode: u32,
2857     pub failurePoint: IPSEC_FAILURE_POINT,
2858     pub flags: u32,
2859     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
2860     pub mmState: IKEEXT_MM_SA_STATE,
2861     pub saRole: IKEEXT_SA_ROLE,
2862     pub mmAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
2863     pub endCertHash: [u8; 20],
2864     pub mmId: u64,
2865     pub mmFilterId: u64,
2866 }
2867 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {}
2868 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 {
clone(&self) -> Self2869     fn clone(&self) -> Self {
2870         *self
2871     }
2872 }
2873 #[repr(C)]
2874 #[cfg(feature = "Win32_Foundation")]
2875 pub struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
2876     pub failureErrorCode: u32,
2877     pub failurePoint: IPSEC_FAILURE_POINT,
2878     pub flags: u32,
2879     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
2880     pub mmState: IKEEXT_MM_SA_STATE,
2881     pub saRole: IKEEXT_SA_ROLE,
2882     pub mmAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
2883     pub endCertHash: [u8; 20],
2884     pub mmId: u64,
2885     pub mmFilterId: u64,
2886     pub localPrincipalNameForAuth: super::super::Foundation::PWSTR,
2887     pub remotePrincipalNameForAuth: super::super::Foundation::PWSTR,
2888     pub numLocalPrincipalGroupSids: u32,
2889     pub localPrincipalGroupSids: *mut super::super::Foundation::PWSTR,
2890     pub numRemotePrincipalGroupSids: u32,
2891     pub remotePrincipalGroupSids: *mut super::super::Foundation::PWSTR,
2892 }
2893 #[cfg(feature = "Win32_Foundation")]
2894 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {}
2895 #[cfg(feature = "Win32_Foundation")]
2896 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 {
clone(&self) -> Self2897     fn clone(&self) -> Self {
2898         *self
2899     }
2900 }
2901 #[repr(C)]
2902 #[cfg(feature = "Win32_Foundation")]
2903 pub struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
2904     pub failureErrorCode: u32,
2905     pub failurePoint: IPSEC_FAILURE_POINT,
2906     pub flags: u32,
2907     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
2908     pub mmState: IKEEXT_MM_SA_STATE,
2909     pub saRole: IKEEXT_SA_ROLE,
2910     pub mmAuthMethod: IKEEXT_AUTHENTICATION_METHOD_TYPE,
2911     pub endCertHash: [u8; 20],
2912     pub mmId: u64,
2913     pub mmFilterId: u64,
2914     pub localPrincipalNameForAuth: super::super::Foundation::PWSTR,
2915     pub remotePrincipalNameForAuth: super::super::Foundation::PWSTR,
2916     pub numLocalPrincipalGroupSids: u32,
2917     pub localPrincipalGroupSids: *mut super::super::Foundation::PWSTR,
2918     pub numRemotePrincipalGroupSids: u32,
2919     pub remotePrincipalGroupSids: *mut super::super::Foundation::PWSTR,
2920     pub providerContextKey: *mut ::windows_sys::core::GUID,
2921 }
2922 #[cfg(feature = "Win32_Foundation")]
2923 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {}
2924 #[cfg(feature = "Win32_Foundation")]
2925 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_MM_FAILURE2_ {
clone(&self) -> Self2926     fn clone(&self) -> Self {
2927         *self
2928     }
2929 }
2930 pub const FWPM_NET_EVENT_IKEEXT_MM_FAILURE_FLAG_BENIGN: u32 = 1u32;
2931 pub const FWPM_NET_EVENT_IKEEXT_MM_FAILURE_FLAG_MULTIPLE: u32 = 2u32;
2932 #[repr(C)]
2933 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2934 pub struct FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {
2935     pub failureErrorCode: u32,
2936     pub failurePoint: IPSEC_FAILURE_POINT,
2937     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
2938     pub qmState: IKEEXT_QM_SA_STATE,
2939     pub saRole: IKEEXT_SA_ROLE,
2940     pub saTrafficType: IPSEC_TRAFFIC_TYPE,
2941     pub Anonymous1: FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0,
2942     pub Anonymous2: FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1,
2943     pub qmFilterId: u64,
2944 }
2945 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2946 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {}
2947 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2948 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 {
clone(&self) -> Self2949     fn clone(&self) -> Self {
2950         *self
2951     }
2952 }
2953 #[repr(C)]
2954 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2955 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {
2956     pub localSubNet: FWP_CONDITION_VALUE0,
2957 }
2958 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2959 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {}
2960 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2961 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_0 {
clone(&self) -> Self2962     fn clone(&self) -> Self {
2963         *self
2964     }
2965 }
2966 #[repr(C)]
2967 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2968 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {
2969     pub remoteSubNet: FWP_CONDITION_VALUE0,
2970 }
2971 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2972 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {}
2973 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2974 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_QM_FAILURE0_1 {
clone(&self) -> Self2975     fn clone(&self) -> Self {
2976         *self
2977     }
2978 }
2979 #[repr(C)]
2980 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2981 pub struct FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {
2982     pub failureErrorCode: u32,
2983     pub failurePoint: IPSEC_FAILURE_POINT,
2984     pub keyingModuleType: IKEEXT_KEY_MODULE_TYPE,
2985     pub qmState: IKEEXT_QM_SA_STATE,
2986     pub saRole: IKEEXT_SA_ROLE,
2987     pub saTrafficType: IPSEC_TRAFFIC_TYPE,
2988     pub Anonymous1: FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0,
2989     pub Anonymous2: FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1,
2990     pub qmFilterId: u64,
2991     pub mmSaLuid: u64,
2992     pub mmProviderContextKey: ::windows_sys::core::GUID,
2993 }
2994 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2995 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {}
2996 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2997 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1_ {
clone(&self) -> Self2998     fn clone(&self) -> Self {
2999         *self
3000     }
3001 }
3002 #[repr(C)]
3003 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3004 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {
3005     pub localSubNet: FWP_CONDITION_VALUE0,
3006 }
3007 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3008 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {}
3009 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3010 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__0 {
clone(&self) -> Self3011     fn clone(&self) -> Self {
3012         *self
3013     }
3014 }
3015 #[repr(C)]
3016 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3017 pub union FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {
3018     pub remoteSubNet: FWP_CONDITION_VALUE0,
3019 }
3020 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3021 impl ::core::marker::Copy for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {}
3022 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3023 impl ::core::clone::Clone for FWPM_NET_EVENT_IKEEXT_QM_FAILURE1__1 {
clone(&self) -> Self3024     fn clone(&self) -> Self {
3025         *self
3026     }
3027 }
3028 #[repr(C)]
3029 pub struct FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {
3030     pub ipVersion: FWP_IP_VERSION,
3031     pub Anonymous1: FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0,
3032     pub Anonymous2: FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1,
3033     pub failureStatus: i32,
3034     pub direction: FWP_DIRECTION,
3035 }
3036 impl ::core::marker::Copy for FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {}
3037 impl ::core::clone::Clone for FWPM_NET_EVENT_IPSEC_DOSP_DROP0 {
clone(&self) -> Self3038     fn clone(&self) -> Self {
3039         *self
3040     }
3041 }
3042 #[repr(C)]
3043 pub union FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {
3044     pub publicHostV4Addr: u32,
3045     pub publicHostV6Addr: [u8; 16],
3046 }
3047 impl ::core::marker::Copy for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {}
3048 impl ::core::clone::Clone for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_0 {
clone(&self) -> Self3049     fn clone(&self) -> Self {
3050         *self
3051     }
3052 }
3053 #[repr(C)]
3054 pub union FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {
3055     pub internalHostV4Addr: u32,
3056     pub internalHostV6Addr: [u8; 16],
3057 }
3058 impl ::core::marker::Copy for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {}
3059 impl ::core::clone::Clone for FWPM_NET_EVENT_IPSEC_DOSP_DROP0_1 {
clone(&self) -> Self3060     fn clone(&self) -> Self {
3061         *self
3062     }
3063 }
3064 #[repr(C)]
3065 pub struct FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
3066     pub failureStatus: i32,
3067     pub direction: FWP_DIRECTION,
3068     pub spi: u32,
3069     pub filterId: u64,
3070     pub layerId: u16,
3071 }
3072 impl ::core::marker::Copy for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {}
3073 impl ::core::clone::Clone for FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 {
clone(&self) -> Self3074     fn clone(&self) -> Self {
3075         *self
3076     }
3077 }
3078 pub const FWPM_NET_EVENT_KEYWORD_CAPABILITY_ALLOW: u32 = 8u32;
3079 pub const FWPM_NET_EVENT_KEYWORD_CAPABILITY_DROP: u32 = 4u32;
3080 pub const FWPM_NET_EVENT_KEYWORD_CLASSIFY_ALLOW: u32 = 16u32;
3081 pub const FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST: u32 = 2u32;
3082 pub const FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST: u32 = 1u32;
3083 pub const FWPM_NET_EVENT_KEYWORD_PORT_SCANNING_DROP: u32 = 32u32;
3084 #[repr(C)]
3085 pub struct FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
3086     pub spi: u32,
3087 }
3088 impl ::core::marker::Copy for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {}
3089 impl ::core::clone::Clone for FWPM_NET_EVENT_LPM_PACKET_ARRIVAL0_ {
clone(&self) -> Self3090     fn clone(&self) -> Self {
3091         *self
3092     }
3093 }
3094 #[repr(C)]
3095 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3096 pub struct FWPM_NET_EVENT_SUBSCRIPTION0 {
3097     pub enumTemplate: *mut FWPM_NET_EVENT_ENUM_TEMPLATE0,
3098     pub flags: u32,
3099     pub sessionKey: ::windows_sys::core::GUID,
3100 }
3101 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3102 impl ::core::marker::Copy for FWPM_NET_EVENT_SUBSCRIPTION0 {}
3103 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3104 impl ::core::clone::Clone for FWPM_NET_EVENT_SUBSCRIPTION0 {
clone(&self) -> Self3105     fn clone(&self) -> Self {
3106         *self
3107     }
3108 }
3109 pub type FWPM_NET_EVENT_TYPE = i32;
3110 pub const FWPM_NET_EVENT_TYPE_IKEEXT_MM_FAILURE: FWPM_NET_EVENT_TYPE = 0i32;
3111 pub const FWPM_NET_EVENT_TYPE_IKEEXT_QM_FAILURE: FWPM_NET_EVENT_TYPE = 1i32;
3112 pub const FWPM_NET_EVENT_TYPE_IKEEXT_EM_FAILURE: FWPM_NET_EVENT_TYPE = 2i32;
3113 pub const FWPM_NET_EVENT_TYPE_CLASSIFY_DROP: FWPM_NET_EVENT_TYPE = 3i32;
3114 pub const FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP: FWPM_NET_EVENT_TYPE = 4i32;
3115 pub const FWPM_NET_EVENT_TYPE_IPSEC_DOSP_DROP: FWPM_NET_EVENT_TYPE = 5i32;
3116 pub const FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW: FWPM_NET_EVENT_TYPE = 6i32;
3117 pub const FWPM_NET_EVENT_TYPE_CAPABILITY_DROP: FWPM_NET_EVENT_TYPE = 7i32;
3118 pub const FWPM_NET_EVENT_TYPE_CAPABILITY_ALLOW: FWPM_NET_EVENT_TYPE = 8i32;
3119 pub const FWPM_NET_EVENT_TYPE_CLASSIFY_DROP_MAC: FWPM_NET_EVENT_TYPE = 9i32;
3120 pub const FWPM_NET_EVENT_TYPE_LPM_PACKET_ARRIVAL: FWPM_NET_EVENT_TYPE = 10i32;
3121 pub const FWPM_NET_EVENT_TYPE_MAX: FWPM_NET_EVENT_TYPE = 11i32;
3122 #[repr(C)]
3123 #[cfg(feature = "Win32_Foundation")]
3124 pub struct FWPM_PROVIDER0 {
3125     pub providerKey: ::windows_sys::core::GUID,
3126     pub displayData: FWPM_DISPLAY_DATA0,
3127     pub flags: u32,
3128     pub providerData: FWP_BYTE_BLOB,
3129     pub serviceName: super::super::Foundation::PWSTR,
3130 }
3131 #[cfg(feature = "Win32_Foundation")]
3132 impl ::core::marker::Copy for FWPM_PROVIDER0 {}
3133 #[cfg(feature = "Win32_Foundation")]
3134 impl ::core::clone::Clone for FWPM_PROVIDER0 {
clone(&self) -> Self3135     fn clone(&self) -> Self {
3136         *self
3137     }
3138 }
3139 #[repr(C)]
3140 pub struct FWPM_PROVIDER_CHANGE0 {
3141     pub changeType: FWPM_CHANGE_TYPE,
3142     pub providerKey: ::windows_sys::core::GUID,
3143 }
3144 impl ::core::marker::Copy for FWPM_PROVIDER_CHANGE0 {}
3145 impl ::core::clone::Clone for FWPM_PROVIDER_CHANGE0 {
clone(&self) -> Self3146     fn clone(&self) -> Self {
3147         *self
3148     }
3149 }
3150 pub type FWPM_PROVIDER_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, change: *const FWPM_PROVIDER_CHANGE0);
3151 #[repr(C)]
3152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3153 pub struct FWPM_PROVIDER_CONTEXT0 {
3154     pub providerContextKey: ::windows_sys::core::GUID,
3155     pub displayData: FWPM_DISPLAY_DATA0,
3156     pub flags: u32,
3157     pub providerKey: *mut ::windows_sys::core::GUID,
3158     pub providerData: FWP_BYTE_BLOB,
3159     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3160     pub Anonymous: FWPM_PROVIDER_CONTEXT0_0,
3161     pub providerContextId: u64,
3162 }
3163 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3164 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT0 {}
3165 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3166 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT0 {
clone(&self) -> Self3167     fn clone(&self) -> Self {
3168         *self
3169     }
3170 }
3171 #[repr(C)]
3172 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3173 pub union FWPM_PROVIDER_CONTEXT0_0 {
3174     pub keyingPolicy: *mut IPSEC_KEYING_POLICY0,
3175     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY0,
3176     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY0,
3177     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY0,
3178     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY0,
3179     pub ikeMmPolicy: *mut IKEEXT_POLICY0,
3180     pub authIpMmPolicy: *mut IKEEXT_POLICY0,
3181     pub dataBuffer: *mut FWP_BYTE_BLOB,
3182     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3183 }
3184 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3185 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT0_0 {}
3186 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3187 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT0_0 {
clone(&self) -> Self3188     fn clone(&self) -> Self {
3189         *self
3190     }
3191 }
3192 #[repr(C)]
3193 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3194 pub struct FWPM_PROVIDER_CONTEXT1 {
3195     pub providerContextKey: ::windows_sys::core::GUID,
3196     pub displayData: FWPM_DISPLAY_DATA0,
3197     pub flags: u32,
3198     pub providerKey: *mut ::windows_sys::core::GUID,
3199     pub providerData: FWP_BYTE_BLOB,
3200     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3201     pub Anonymous: FWPM_PROVIDER_CONTEXT1_0,
3202     pub providerContextId: u64,
3203 }
3204 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3205 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT1 {}
3206 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3207 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT1 {
clone(&self) -> Self3208     fn clone(&self) -> Self {
3209         *self
3210     }
3211 }
3212 #[repr(C)]
3213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3214 pub union FWPM_PROVIDER_CONTEXT1_0 {
3215     pub keyingPolicy: *mut IPSEC_KEYING_POLICY0,
3216     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY1,
3217     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY1,
3218     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY1,
3219     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY1,
3220     pub ikeMmPolicy: *mut IKEEXT_POLICY1,
3221     pub authIpMmPolicy: *mut IKEEXT_POLICY1,
3222     pub dataBuffer: *mut FWP_BYTE_BLOB,
3223     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3224     pub ikeV2QmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY1,
3225     pub ikeV2MmPolicy: *mut IKEEXT_POLICY1,
3226     pub idpOptions: *mut IPSEC_DOSP_OPTIONS0,
3227 }
3228 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3229 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT1_0 {}
3230 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3231 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT1_0 {
clone(&self) -> Self3232     fn clone(&self) -> Self {
3233         *self
3234     }
3235 }
3236 #[repr(C)]
3237 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3238 pub struct FWPM_PROVIDER_CONTEXT2 {
3239     pub providerContextKey: ::windows_sys::core::GUID,
3240     pub displayData: FWPM_DISPLAY_DATA0,
3241     pub flags: u32,
3242     pub providerKey: *mut ::windows_sys::core::GUID,
3243     pub providerData: FWP_BYTE_BLOB,
3244     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3245     pub Anonymous: FWPM_PROVIDER_CONTEXT2_0,
3246     pub providerContextId: u64,
3247 }
3248 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3249 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT2 {}
3250 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3251 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT2 {
clone(&self) -> Self3252     fn clone(&self) -> Self {
3253         *self
3254     }
3255 }
3256 #[repr(C)]
3257 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3258 pub union FWPM_PROVIDER_CONTEXT2_0 {
3259     pub keyingPolicy: *mut IPSEC_KEYING_POLICY1,
3260     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3261     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY2,
3262     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3263     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY2,
3264     pub ikeMmPolicy: *mut IKEEXT_POLICY2,
3265     pub authIpMmPolicy: *mut IKEEXT_POLICY2,
3266     pub dataBuffer: *mut FWP_BYTE_BLOB,
3267     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3268     pub ikeV2QmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY2,
3269     pub ikeV2QmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3270     pub ikeV2MmPolicy: *mut IKEEXT_POLICY2,
3271     pub idpOptions: *mut IPSEC_DOSP_OPTIONS0,
3272 }
3273 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3274 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT2_0 {}
3275 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3276 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT2_0 {
clone(&self) -> Self3277     fn clone(&self) -> Self {
3278         *self
3279     }
3280 }
3281 #[repr(C)]
3282 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3283 pub struct FWPM_PROVIDER_CONTEXT3_ {
3284     pub providerContextKey: ::windows_sys::core::GUID,
3285     pub displayData: FWPM_DISPLAY_DATA0,
3286     pub flags: u32,
3287     pub providerKey: *mut ::windows_sys::core::GUID,
3288     pub providerData: FWP_BYTE_BLOB,
3289     pub r#type: FWPM_PROVIDER_CONTEXT_TYPE,
3290     pub Anonymous: FWPM_PROVIDER_CONTEXT3__0,
3291     pub providerContextId: u64,
3292 }
3293 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3294 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT3_ {}
3295 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3296 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT3_ {
clone(&self) -> Self3297     fn clone(&self) -> Self {
3298         *self
3299     }
3300 }
3301 #[repr(C)]
3302 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3303 pub union FWPM_PROVIDER_CONTEXT3__0 {
3304     pub keyingPolicy: *mut IPSEC_KEYING_POLICY1,
3305     pub ikeQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3306     pub ikeQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY3_,
3307     pub authipQmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3308     pub authipQmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY3_,
3309     pub ikeMmPolicy: *mut IKEEXT_POLICY2,
3310     pub authIpMmPolicy: *mut IKEEXT_POLICY2,
3311     pub dataBuffer: *mut FWP_BYTE_BLOB,
3312     pub classifyOptions: *mut FWPM_CLASSIFY_OPTIONS0,
3313     pub ikeV2QmTunnelPolicy: *mut IPSEC_TUNNEL_POLICY3_,
3314     pub ikeV2QmTransportPolicy: *mut IPSEC_TRANSPORT_POLICY2,
3315     pub ikeV2MmPolicy: *mut IKEEXT_POLICY2,
3316     pub idpOptions: *mut IPSEC_DOSP_OPTIONS0,
3317 }
3318 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3319 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT3__0 {}
3320 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3321 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT3__0 {
clone(&self) -> Self3322     fn clone(&self) -> Self {
3323         *self
3324     }
3325 }
3326 #[repr(C)]
3327 pub struct FWPM_PROVIDER_CONTEXT_CHANGE0 {
3328     pub changeType: FWPM_CHANGE_TYPE,
3329     pub providerContextKey: ::windows_sys::core::GUID,
3330     pub providerContextId: u64,
3331 }
3332 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT_CHANGE0 {}
3333 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT_CHANGE0 {
clone(&self) -> Self3334     fn clone(&self) -> Self {
3335         *self
3336     }
3337 }
3338 pub type FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, change: *const FWPM_PROVIDER_CONTEXT_CHANGE0);
3339 #[repr(C)]
3340 pub struct FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
3341     pub providerKey: *mut ::windows_sys::core::GUID,
3342     pub providerContextType: FWPM_PROVIDER_CONTEXT_TYPE,
3343 }
3344 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {}
3345 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 {
clone(&self) -> Self3346     fn clone(&self) -> Self {
3347         *self
3348     }
3349 }
3350 pub const FWPM_PROVIDER_CONTEXT_FLAG_DOWNLEVEL: u32 = 2u32;
3351 pub const FWPM_PROVIDER_CONTEXT_FLAG_PERSISTENT: u32 = 1u32;
3352 pub const FWPM_PROVIDER_CONTEXT_SECURE_SOCKET_AUTHIP: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3353     data1: 2992547840,
3354     data2: 3330,
3355     data3: 18157,
3356     data4: [146, 189, 127, 168, 75, 183, 62, 157],
3357 };
3358 pub const FWPM_PROVIDER_CONTEXT_SECURE_SOCKET_IPSEC: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3359     data1: 2351776068,
3360     data2: 63712,
3361     data3: 17088,
3362     data4: [148, 206, 124, 207, 198, 59, 47, 155],
3363 };
3364 #[repr(C)]
3365 pub struct FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
3366     pub enumTemplate: *mut FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0,
3367     pub flags: FWPM_SUBSCRIPTION_FLAGS,
3368     pub sessionKey: ::windows_sys::core::GUID,
3369 }
3370 impl ::core::marker::Copy for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {}
3371 impl ::core::clone::Clone for FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 {
clone(&self) -> Self3372     fn clone(&self) -> Self {
3373         *self
3374     }
3375 }
3376 pub type FWPM_PROVIDER_CONTEXT_TYPE = i32;
3377 pub const FWPM_IPSEC_KEYING_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 0i32;
3378 pub const FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 1i32;
3379 pub const FWPM_IPSEC_IKE_QM_TUNNEL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 2i32;
3380 pub const FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 3i32;
3381 pub const FWPM_IPSEC_AUTHIP_QM_TUNNEL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 4i32;
3382 pub const FWPM_IPSEC_IKE_MM_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 5i32;
3383 pub const FWPM_IPSEC_AUTHIP_MM_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 6i32;
3384 pub const FWPM_CLASSIFY_OPTIONS_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 7i32;
3385 pub const FWPM_GENERAL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 8i32;
3386 pub const FWPM_IPSEC_IKEV2_QM_TUNNEL_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 9i32;
3387 pub const FWPM_IPSEC_IKEV2_MM_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 10i32;
3388 pub const FWPM_IPSEC_DOSP_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 11i32;
3389 pub const FWPM_IPSEC_IKEV2_QM_TRANSPORT_CONTEXT: FWPM_PROVIDER_CONTEXT_TYPE = 12i32;
3390 pub const FWPM_PROVIDER_CONTEXT_TYPE_MAX: FWPM_PROVIDER_CONTEXT_TYPE = 13i32;
3391 #[repr(C)]
3392 pub struct FWPM_PROVIDER_ENUM_TEMPLATE0 {
3393     pub reserved: u64,
3394 }
3395 impl ::core::marker::Copy for FWPM_PROVIDER_ENUM_TEMPLATE0 {}
3396 impl ::core::clone::Clone for FWPM_PROVIDER_ENUM_TEMPLATE0 {
clone(&self) -> Self3397     fn clone(&self) -> Self {
3398         *self
3399     }
3400 }
3401 pub const FWPM_PROVIDER_FLAG_DISABLED: u32 = 16u32;
3402 pub const FWPM_PROVIDER_FLAG_PERSISTENT: u32 = 1u32;
3403 pub const FWPM_PROVIDER_IKEEXT: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 279810582, data2: 52446, data3: 17772, data4: [139, 22, 233, 240, 78, 96, 169, 11] };
3404 pub const FWPM_PROVIDER_IPSEC_DOSP_CONFIG: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1013712297, data2: 49244, data3: 19385, data4: [131, 56, 35, 39, 129, 76, 232, 191] };
3405 pub const FWPM_PROVIDER_MPSSVC_EDP: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2835519223, data2: 18104, data3: 17495, data4: [143, 132, 176, 94, 5, 211, 198, 34] };
3406 pub const FWPM_PROVIDER_MPSSVC_TENANT_RESTRICTIONS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3407     data1: 3497103353,
3408     data2: 17626,
3409     data3: 20304,
3410     data4: [157, 194, 201, 99, 164, 36, 118, 19],
3411 };
3412 pub const FWPM_PROVIDER_MPSSVC_WF: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3737917130, data2: 16179, data3: 17222, data4: [190, 30, 143, 180, 174, 15, 61, 98] };
3413 pub const FWPM_PROVIDER_MPSSVC_WSH: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3414     data1: 1259681589,
3415     data2: 4169,
3416     data3: 17536,
3417     data4: [170, 180, 209, 185, 189, 192, 55, 16],
3418 };
3419 #[repr(C)]
3420 pub struct FWPM_PROVIDER_SUBSCRIPTION0 {
3421     pub enumTemplate: *mut FWPM_PROVIDER_ENUM_TEMPLATE0,
3422     pub flags: u32,
3423     pub sessionKey: ::windows_sys::core::GUID,
3424 }
3425 impl ::core::marker::Copy for FWPM_PROVIDER_SUBSCRIPTION0 {}
3426 impl ::core::clone::Clone for FWPM_PROVIDER_SUBSCRIPTION0 {
clone(&self) -> Self3427     fn clone(&self) -> Self {
3428         *self
3429     }
3430 }
3431 pub const FWPM_PROVIDER_TCP_CHIMNEY_OFFLOAD: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3432     data1: 2305466782,
3433     data2: 39476,
3434     data3: 19403,
3435     data4: [174, 121, 190, 185, 18, 124, 132, 185],
3436 };
3437 pub const FWPM_PROVIDER_TCP_TEMPLATES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1993329968, data2: 13204, data3: 17197, data4: [190, 211, 68, 26, 229, 14, 99, 195] };
3438 pub type FWPM_SERVICE_STATE = i32;
3439 pub const FWPM_SERVICE_STOPPED: FWPM_SERVICE_STATE = 0i32;
3440 pub const FWPM_SERVICE_START_PENDING: FWPM_SERVICE_STATE = 1i32;
3441 pub const FWPM_SERVICE_STOP_PENDING: FWPM_SERVICE_STATE = 2i32;
3442 pub const FWPM_SERVICE_RUNNING: FWPM_SERVICE_STATE = 3i32;
3443 pub const FWPM_SERVICE_STATE_MAX: FWPM_SERVICE_STATE = 4i32;
3444 #[repr(C)]
3445 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3446 pub struct FWPM_SESSION0 {
3447     pub sessionKey: ::windows_sys::core::GUID,
3448     pub displayData: FWPM_DISPLAY_DATA0,
3449     pub flags: u32,
3450     pub txnWaitTimeoutInMSec: u32,
3451     pub processId: u32,
3452     pub sid: *mut super::super::Security::SID,
3453     pub username: super::super::Foundation::PWSTR,
3454     pub kernelMode: super::super::Foundation::BOOL,
3455 }
3456 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3457 impl ::core::marker::Copy for FWPM_SESSION0 {}
3458 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3459 impl ::core::clone::Clone for FWPM_SESSION0 {
clone(&self) -> Self3460     fn clone(&self) -> Self {
3461         *self
3462     }
3463 }
3464 #[repr(C)]
3465 pub struct FWPM_SESSION_ENUM_TEMPLATE0 {
3466     pub reserved: u64,
3467 }
3468 impl ::core::marker::Copy for FWPM_SESSION_ENUM_TEMPLATE0 {}
3469 impl ::core::clone::Clone for FWPM_SESSION_ENUM_TEMPLATE0 {
clone(&self) -> Self3470     fn clone(&self) -> Self {
3471         *self
3472     }
3473 }
3474 pub const FWPM_SESSION_FLAG_DYNAMIC: u32 = 1u32;
3475 pub const FWPM_SESSION_FLAG_RESERVED: u32 = 268435456u32;
3476 #[repr(C)]
3477 pub struct FWPM_STATISTICS0 {
3478     pub numLayerStatistics: u32,
3479     pub layerStatistics: *mut FWPM_LAYER_STATISTICS0,
3480     pub inboundAllowedConnectionsV4: u32,
3481     pub inboundBlockedConnectionsV4: u32,
3482     pub outboundAllowedConnectionsV4: u32,
3483     pub outboundBlockedConnectionsV4: u32,
3484     pub inboundAllowedConnectionsV6: u32,
3485     pub inboundBlockedConnectionsV6: u32,
3486     pub outboundAllowedConnectionsV6: u32,
3487     pub outboundBlockedConnectionsV6: u32,
3488     pub inboundActiveConnectionsV4: u32,
3489     pub outboundActiveConnectionsV4: u32,
3490     pub inboundActiveConnectionsV6: u32,
3491     pub outboundActiveConnectionsV6: u32,
3492     pub reauthDirInbound: u64,
3493     pub reauthDirOutbound: u64,
3494     pub reauthFamilyV4: u64,
3495     pub reauthFamilyV6: u64,
3496     pub reauthProtoOther: u64,
3497     pub reauthProtoIPv4: u64,
3498     pub reauthProtoIPv6: u64,
3499     pub reauthProtoICMP: u64,
3500     pub reauthProtoICMP6: u64,
3501     pub reauthProtoUDP: u64,
3502     pub reauthProtoTCP: u64,
3503     pub reauthReasonPolicyChange: u64,
3504     pub reauthReasonNewArrivalInterface: u64,
3505     pub reauthReasonNewNextHopInterface: u64,
3506     pub reauthReasonProfileCrossing: u64,
3507     pub reauthReasonClassifyCompletion: u64,
3508     pub reauthReasonIPSecPropertiesChanged: u64,
3509     pub reauthReasonMidStreamInspection: u64,
3510     pub reauthReasonSocketPropertyChanged: u64,
3511     pub reauthReasonNewInboundMCastBCastPacket: u64,
3512     pub reauthReasonEDPPolicyChanged: u64,
3513     pub reauthReasonProxyHandleChanged: u64,
3514 }
3515 impl ::core::marker::Copy for FWPM_STATISTICS0 {}
3516 impl ::core::clone::Clone for FWPM_STATISTICS0 {
clone(&self) -> Self3517     fn clone(&self) -> Self {
3518         *self
3519     }
3520 }
3521 #[repr(C)]
3522 #[cfg(feature = "Win32_Foundation")]
3523 pub struct FWPM_SUBLAYER0 {
3524     pub subLayerKey: ::windows_sys::core::GUID,
3525     pub displayData: FWPM_DISPLAY_DATA0,
3526     pub flags: u32,
3527     pub providerKey: *mut ::windows_sys::core::GUID,
3528     pub providerData: FWP_BYTE_BLOB,
3529     pub weight: u16,
3530 }
3531 #[cfg(feature = "Win32_Foundation")]
3532 impl ::core::marker::Copy for FWPM_SUBLAYER0 {}
3533 #[cfg(feature = "Win32_Foundation")]
3534 impl ::core::clone::Clone for FWPM_SUBLAYER0 {
clone(&self) -> Self3535     fn clone(&self) -> Self {
3536         *self
3537     }
3538 }
3539 #[repr(C)]
3540 pub struct FWPM_SUBLAYER_CHANGE0 {
3541     pub changeType: FWPM_CHANGE_TYPE,
3542     pub subLayerKey: ::windows_sys::core::GUID,
3543 }
3544 impl ::core::marker::Copy for FWPM_SUBLAYER_CHANGE0 {}
3545 impl ::core::clone::Clone for FWPM_SUBLAYER_CHANGE0 {
clone(&self) -> Self3546     fn clone(&self) -> Self {
3547         *self
3548     }
3549 }
3550 pub type FWPM_SUBLAYER_CHANGE_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, change: *const FWPM_SUBLAYER_CHANGE0);
3551 #[repr(C)]
3552 pub struct FWPM_SUBLAYER_ENUM_TEMPLATE0 {
3553     pub providerKey: *mut ::windows_sys::core::GUID,
3554 }
3555 impl ::core::marker::Copy for FWPM_SUBLAYER_ENUM_TEMPLATE0 {}
3556 impl ::core::clone::Clone for FWPM_SUBLAYER_ENUM_TEMPLATE0 {
clone(&self) -> Self3557     fn clone(&self) -> Self {
3558         *self
3559     }
3560 }
3561 pub const FWPM_SUBLAYER_FLAG_PERSISTENT: u32 = 1u32;
3562 pub const FWPM_SUBLAYER_INSPECTION: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2272598497, data2: 59049, data3: 16805, data4: [129, 180, 140, 79, 17, 142, 74, 96] };
3563 pub const FWPM_SUBLAYER_IPSEC_DOSP: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3564     data1: 3765884274,
3565     data2: 23869,
3566     data3: 18671,
3567     data4: [128, 43, 144, 158, 221, 176, 152, 189],
3568 };
3569 pub const FWPM_SUBLAYER_IPSEC_FORWARD_OUTBOUND_TUNNEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2768776819, data2: 36721, data3: 17753, data4: [138, 154, 16, 28, 234, 4, 239, 135] };
3570 pub const FWPM_SUBLAYER_IPSEC_SECURITY_REALM: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3571     data1: 933590785,
3572     data2: 22660,
3573     data3: 18788,
3574     data4: [146, 184, 62, 112, 70, 136, 176, 173],
3575 };
3576 pub const FWPM_SUBLAYER_IPSEC_TUNNEL: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3577     data1: 2213714413,
3578     data2: 40948,
3579     data3: 18791,
3580     data4: [175, 244, 195, 9, 244, 218, 184, 39],
3581 };
3582 pub const FWPM_SUBLAYER_LIPS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3583     data1: 460701902,
3584     data2: 65376,
3585     data3: 18193,
3586     data4: [167, 15, 180, 149, 140, 195, 178, 208],
3587 };
3588 pub const FWPM_SUBLAYER_MPSSVC_EDP: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 161775160, data2: 64151, data3: 18203, data4: [177, 35, 24, 188, 215, 230, 80, 113] };
3589 pub const FWPM_SUBLAYER_MPSSVC_QUARANTINE: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3016610881, data2: 44944, data3: 16826, data4: [167, 69, 124, 96, 8, 255, 35, 2] };
3590 pub const FWPM_SUBLAYER_MPSSVC_TENANT_RESTRICTIONS: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3591     data1: 516343777,
3592     data2: 64985,
3593     data3: 18314,
3594     data4: [181, 95, 255, 139, 161, 210, 193, 125],
3595 };
3596 pub const FWPM_SUBLAYER_MPSSVC_WF: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3016610881, data2: 44944, data3: 16826, data4: [167, 69, 124, 96, 8, 255, 35, 1] };
3597 pub const FWPM_SUBLAYER_MPSSVC_WSH: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 3016610881, data2: 44944, data3: 16826, data4: [167, 69, 124, 96, 8, 255, 35, 0] };
3598 pub const FWPM_SUBLAYER_RPC_AUDIT: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3599     data1: 1972143348,
3600     data2: 64328,
3601     data3: 19945,
3602     data4: [154, 235, 62, 217, 85, 26, 177, 253],
3603 };
3604 pub const FWPM_SUBLAYER_SECURE_SOCKET: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3605     data1: 363228695,
3606     data2: 16188,
3607     data3: 20347,
3608     data4: [170, 108, 129, 42, 166, 19, 221, 130],
3609 };
3610 #[repr(C)]
3611 pub struct FWPM_SUBLAYER_SUBSCRIPTION0 {
3612     pub enumTemplate: *mut FWPM_SUBLAYER_ENUM_TEMPLATE0,
3613     pub flags: FWPM_SUBSCRIPTION_FLAGS,
3614     pub sessionKey: ::windows_sys::core::GUID,
3615 }
3616 impl ::core::marker::Copy for FWPM_SUBLAYER_SUBSCRIPTION0 {}
3617 impl ::core::clone::Clone for FWPM_SUBLAYER_SUBSCRIPTION0 {
clone(&self) -> Self3618     fn clone(&self) -> Self {
3619         *self
3620     }
3621 }
3622 pub const FWPM_SUBLAYER_TCP_CHIMNEY_OFFLOAD: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 863373497, data2: 47061, data3: 19807, data4: [130, 249, 54, 24, 97, 139, 192, 88] };
3623 pub const FWPM_SUBLAYER_TCP_TEMPLATES: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 608312783, data2: 2757, data3: 19626, data4: [158, 20, 80, 246, 227, 99, 106, 240] };
3624 pub const FWPM_SUBLAYER_TEREDO: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
3625     data1: 3127499878,
3626     data2: 20854,
3627     data3: 18809,
3628     data4: [156, 137, 38, 167, 180, 106, 131, 39],
3629 };
3630 pub const FWPM_SUBLAYER_UNIVERSAL: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 4005481475, data2: 52948, data3: 17280, data4: [129, 154, 39, 52, 57, 123, 43, 116] };
3631 pub type FWPM_SUBSCRIPTION_FLAGS = u32;
3632 pub const FWPM_SUBSCRIPTION_FLAG_NOTIFY_ON_ADD: FWPM_SUBSCRIPTION_FLAGS = 1u32;
3633 pub const FWPM_SUBSCRIPTION_FLAG_NOTIFY_ON_DELETE: FWPM_SUBSCRIPTION_FLAGS = 2u32;
3634 #[repr(C)]
3635 pub struct FWPM_SYSTEM_PORTS0 {
3636     pub numTypes: u32,
3637     pub types: *mut FWPM_SYSTEM_PORTS_BY_TYPE0,
3638 }
3639 impl ::core::marker::Copy for FWPM_SYSTEM_PORTS0 {}
3640 impl ::core::clone::Clone for FWPM_SYSTEM_PORTS0 {
clone(&self) -> Self3641     fn clone(&self) -> Self {
3642         *self
3643     }
3644 }
3645 #[repr(C)]
3646 pub struct FWPM_SYSTEM_PORTS_BY_TYPE0 {
3647     pub r#type: FWPM_SYSTEM_PORT_TYPE,
3648     pub numPorts: u32,
3649     pub ports: *mut u16,
3650 }
3651 impl ::core::marker::Copy for FWPM_SYSTEM_PORTS_BY_TYPE0 {}
3652 impl ::core::clone::Clone for FWPM_SYSTEM_PORTS_BY_TYPE0 {
clone(&self) -> Self3653     fn clone(&self) -> Self {
3654         *self
3655     }
3656 }
3657 pub type FWPM_SYSTEM_PORTS_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, sysports: *const FWPM_SYSTEM_PORTS0);
3658 pub type FWPM_SYSTEM_PORT_TYPE = i32;
3659 pub const FWPM_SYSTEM_PORT_RPC_EPMAP: FWPM_SYSTEM_PORT_TYPE = 0i32;
3660 pub const FWPM_SYSTEM_PORT_TEREDO: FWPM_SYSTEM_PORT_TYPE = 1i32;
3661 pub const FWPM_SYSTEM_PORT_IPHTTPS_IN: FWPM_SYSTEM_PORT_TYPE = 2i32;
3662 pub const FWPM_SYSTEM_PORT_IPHTTPS_OUT: FWPM_SYSTEM_PORT_TYPE = 3i32;
3663 pub const FWPM_SYSTEM_PORT_TYPE_MAX: FWPM_SYSTEM_PORT_TYPE = 4i32;
3664 pub const FWPM_TUNNEL_FLAG_ENABLE_VIRTUAL_IF_TUNNELING: u32 = 2u32;
3665 pub const FWPM_TUNNEL_FLAG_POINT_TO_POINT: u32 = 1u32;
3666 pub const FWPM_TUNNEL_FLAG_RESERVED0: u32 = 4u32;
3667 pub const FWPM_TXN_READ_ONLY: u32 = 1u32;
3668 #[repr(C)]
3669 #[cfg(feature = "Win32_Foundation")]
3670 pub struct FWPM_VSWITCH_EVENT0 {
3671     pub eventType: FWPM_VSWITCH_EVENT_TYPE,
3672     pub vSwitchId: super::super::Foundation::PWSTR,
3673     pub Anonymous: FWPM_VSWITCH_EVENT0_0,
3674 }
3675 #[cfg(feature = "Win32_Foundation")]
3676 impl ::core::marker::Copy for FWPM_VSWITCH_EVENT0 {}
3677 #[cfg(feature = "Win32_Foundation")]
3678 impl ::core::clone::Clone for FWPM_VSWITCH_EVENT0 {
clone(&self) -> Self3679     fn clone(&self) -> Self {
3680         *self
3681     }
3682 }
3683 #[repr(C)]
3684 #[cfg(feature = "Win32_Foundation")]
3685 pub union FWPM_VSWITCH_EVENT0_0 {
3686     pub positionInfo: FWPM_VSWITCH_EVENT0_0_0,
3687     pub reorderInfo: FWPM_VSWITCH_EVENT0_0_1,
3688 }
3689 #[cfg(feature = "Win32_Foundation")]
3690 impl ::core::marker::Copy for FWPM_VSWITCH_EVENT0_0 {}
3691 #[cfg(feature = "Win32_Foundation")]
3692 impl ::core::clone::Clone for FWPM_VSWITCH_EVENT0_0 {
clone(&self) -> Self3693     fn clone(&self) -> Self {
3694         *self
3695     }
3696 }
3697 #[repr(C)]
3698 #[cfg(feature = "Win32_Foundation")]
3699 pub struct FWPM_VSWITCH_EVENT0_0_0 {
3700     pub numvSwitchFilterExtensions: u32,
3701     pub vSwitchFilterExtensions: *mut super::super::Foundation::PWSTR,
3702 }
3703 #[cfg(feature = "Win32_Foundation")]
3704 impl ::core::marker::Copy for FWPM_VSWITCH_EVENT0_0_0 {}
3705 #[cfg(feature = "Win32_Foundation")]
3706 impl ::core::clone::Clone for FWPM_VSWITCH_EVENT0_0_0 {
clone(&self) -> Self3707     fn clone(&self) -> Self {
3708         *self
3709     }
3710 }
3711 #[repr(C)]
3712 #[cfg(feature = "Win32_Foundation")]
3713 pub struct FWPM_VSWITCH_EVENT0_0_1 {
3714     pub inRequiredPosition: super::super::Foundation::BOOL,
3715     pub numvSwitchFilterExtensions: u32,
3716     pub vSwitchFilterExtensions: *mut super::super::Foundation::PWSTR,
3717 }
3718 #[cfg(feature = "Win32_Foundation")]
3719 impl ::core::marker::Copy for FWPM_VSWITCH_EVENT0_0_1 {}
3720 #[cfg(feature = "Win32_Foundation")]
3721 impl ::core::clone::Clone for FWPM_VSWITCH_EVENT0_0_1 {
clone(&self) -> Self3722     fn clone(&self) -> Self {
3723         *self
3724     }
3725 }
3726 #[cfg(feature = "Win32_Foundation")]
3727 pub type FWPM_VSWITCH_EVENT_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, vswitchevent: *const FWPM_VSWITCH_EVENT0) -> u32;
3728 #[repr(C)]
3729 pub struct FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
3730     pub flags: u32,
3731     pub sessionKey: ::windows_sys::core::GUID,
3732 }
3733 impl ::core::marker::Copy for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {}
3734 impl ::core::clone::Clone for FWPM_VSWITCH_EVENT_SUBSCRIPTION0 {
clone(&self) -> Self3735     fn clone(&self) -> Self {
3736         *self
3737     }
3738 }
3739 pub type FWPM_VSWITCH_EVENT_TYPE = i32;
3740 pub const FWPM_VSWITCH_EVENT_FILTER_ADD_TO_INCOMPLETE_LAYER: FWPM_VSWITCH_EVENT_TYPE = 0i32;
3741 pub const FWPM_VSWITCH_EVENT_FILTER_ENGINE_NOT_IN_REQUIRED_POSITION: FWPM_VSWITCH_EVENT_TYPE = 1i32;
3742 pub const FWPM_VSWITCH_EVENT_ENABLED_FOR_INSPECTION: FWPM_VSWITCH_EVENT_TYPE = 2i32;
3743 pub const FWPM_VSWITCH_EVENT_DISABLED_FOR_INSPECTION: FWPM_VSWITCH_EVENT_TYPE = 3i32;
3744 pub const FWPM_VSWITCH_EVENT_FILTER_ENGINE_REORDER: FWPM_VSWITCH_EVENT_TYPE = 4i32;
3745 pub const FWPM_VSWITCH_EVENT_MAX: FWPM_VSWITCH_EVENT_TYPE = 5i32;
3746 pub const FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS: u32 = 12u32;
3747 pub const FWPM_WEIGHT_RANGE_IPSEC: u32 = 0u32;
3748 pub const FWPS_ALE_ENDPOINT_FLAG_IPSEC_SECURED: u32 = 1u32;
3749 pub const FWPS_CLASSIFY_OUT_FLAG_ABSORB: u32 = 1u32;
3750 pub const FWPS_CLASSIFY_OUT_FLAG_ALE_FAST_CACHE_CHECK: u32 = 8u32;
3751 pub const FWPS_CLASSIFY_OUT_FLAG_ALE_FAST_CACHE_POSSIBLE: u32 = 16u32;
3752 pub const FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED: u32 = 2u32;
3753 pub const FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA: u32 = 4u32;
3754 pub const FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT: u32 = 1u32;
3755 pub const FWPS_FILTER_FLAG_HAS_SECURITY_REALM_PROVIDER_CONTEXT: u32 = 8u32;
3756 pub const FWPS_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE: u32 = 32u32;
3757 pub const FWPS_FILTER_FLAG_OR_CONDITIONS: u32 = 4u32;
3758 pub const FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED: u32 = 2u32;
3759 pub const FWPS_FILTER_FLAG_RESERVED0: u32 = 64u32;
3760 pub const FWPS_FILTER_FLAG_RESERVED1: u32 = 128u32;
3761 pub const FWPS_FILTER_FLAG_SILENT_MODE: u32 = 16u32;
3762 pub const FWPS_INCOMING_FLAG_ABSORB: u32 = 4u32;
3763 pub const FWPS_INCOMING_FLAG_CACHE_SAFE: u32 = 1u32;
3764 pub const FWPS_INCOMING_FLAG_CONNECTION_FAILING_INDICATION: u32 = 8u32;
3765 pub const FWPS_INCOMING_FLAG_ENFORCE_QUERY: u32 = 2u32;
3766 pub const FWPS_INCOMING_FLAG_IS_LOCAL_ONLY_FLOW: u32 = 128u32;
3767 pub const FWPS_INCOMING_FLAG_IS_LOOSE_SOURCE_FLOW: u32 = 64u32;
3768 pub const FWPS_INCOMING_FLAG_MID_STREAM_INSPECTION: u32 = 16u32;
3769 pub const FWPS_INCOMING_FLAG_RECLASSIFY: u32 = 32u32;
3770 pub const FWPS_INCOMING_FLAG_RESERVED0: u32 = 256u32;
3771 pub const FWPS_L2_INCOMING_FLAG_IS_RAW_IPV4_FRAMING: u32 = 1u32;
3772 pub const FWPS_L2_INCOMING_FLAG_IS_RAW_IPV6_FRAMING: u32 = 2u32;
3773 pub const FWPS_L2_INCOMING_FLAG_RECLASSIFY_MULTI_DESTINATION: u32 = 8u32;
3774 pub const FWPS_L2_METADATA_FIELD_ETHERNET_MAC_HEADER_SIZE: u32 = 1u32;
3775 pub const FWPS_L2_METADATA_FIELD_RESERVED: u32 = 2147483648u32;
3776 pub const FWPS_L2_METADATA_FIELD_VSWITCH_DESTINATION_PORT_ID: u32 = 32u32;
3777 pub const FWPS_L2_METADATA_FIELD_VSWITCH_PACKET_CONTEXT: u32 = 16u32;
3778 pub const FWPS_L2_METADATA_FIELD_VSWITCH_SOURCE_NIC_INDEX: u32 = 8u32;
3779 pub const FWPS_L2_METADATA_FIELD_VSWITCH_SOURCE_PORT_ID: u32 = 4u32;
3780 pub const FWPS_L2_METADATA_FIELD_WIFI_OPERATION_MODE: u32 = 2u32;
3781 pub const FWPS_METADATA_FIELD_ALE_CLASSIFY_REQUIRED: u32 = 4194304u32;
3782 pub const FWPS_METADATA_FIELD_COMPARTMENT_ID: u32 = 2048u32;
3783 pub const FWPS_METADATA_FIELD_COMPLETION_HANDLE: u32 = 16384u32;
3784 pub const FWPS_METADATA_FIELD_DESTINATION_INTERFACE_INDEX: u32 = 512u32;
3785 pub const FWPS_METADATA_FIELD_DESTINATION_PREFIX: u32 = 16777216u32;
3786 pub const FWPS_METADATA_FIELD_DISCARD_REASON: u32 = 1u32;
3787 pub const FWPS_METADATA_FIELD_ETHER_FRAME_LENGTH: u32 = 33554432u32;
3788 pub const FWPS_METADATA_FIELD_FLOW_HANDLE: u32 = 2u32;
3789 pub const FWPS_METADATA_FIELD_FORWARD_LAYER_INBOUND_PASS_THRU: u32 = 2097152u32;
3790 pub const FWPS_METADATA_FIELD_FORWARD_LAYER_OUTBOUND_PASS_THRU: u32 = 1048576u32;
3791 pub const FWPS_METADATA_FIELD_FRAGMENT_DATA: u32 = 4096u32;
3792 pub const FWPS_METADATA_FIELD_ICMP_ID_AND_SEQUENCE: u32 = 134217728u32;
3793 pub const FWPS_METADATA_FIELD_IP_HEADER_SIZE: u32 = 4u32;
3794 pub const FWPS_METADATA_FIELD_LOCAL_REDIRECT_TARGET_PID: u32 = 268435456u32;
3795 pub const FWPS_METADATA_FIELD_ORIGINAL_DESTINATION: u32 = 536870912u32;
3796 pub const FWPS_METADATA_FIELD_PACKET_DIRECTION: u32 = 262144u32;
3797 pub const FWPS_METADATA_FIELD_PACKET_SYSTEM_CRITICAL: u32 = 524288u32;
3798 pub const FWPS_METADATA_FIELD_PARENT_ENDPOINT_HANDLE: u32 = 67108864u32;
3799 pub const FWPS_METADATA_FIELD_PATH_MTU: u32 = 8192u32;
3800 pub const FWPS_METADATA_FIELD_PROCESS_ID: u32 = 32u32;
3801 pub const FWPS_METADATA_FIELD_PROCESS_PATH: u32 = 8u32;
3802 pub const FWPS_METADATA_FIELD_REDIRECT_RECORD_HANDLE: u32 = 1073741824u32;
3803 pub const FWPS_METADATA_FIELD_REMOTE_SCOPE_ID: u32 = 131072u32;
3804 pub const FWPS_METADATA_FIELD_RESERVED: u32 = 128u32;
3805 pub const FWPS_METADATA_FIELD_SOURCE_INTERFACE_INDEX: u32 = 256u32;
3806 pub const FWPS_METADATA_FIELD_SUB_PROCESS_TAG: u32 = 2147483648u32;
3807 pub const FWPS_METADATA_FIELD_SYSTEM_FLAGS: u32 = 64u32;
3808 pub const FWPS_METADATA_FIELD_TOKEN: u32 = 16u32;
3809 pub const FWPS_METADATA_FIELD_TRANSPORT_CONTROL_DATA: u32 = 65536u32;
3810 pub const FWPS_METADATA_FIELD_TRANSPORT_ENDPOINT_HANDLE: u32 = 32768u32;
3811 pub const FWPS_METADATA_FIELD_TRANSPORT_HEADER_INCLUDE_HEADER: u32 = 8388608u32;
3812 pub const FWPS_METADATA_FIELD_TRANSPORT_HEADER_SIZE: u32 = 1024u32;
3813 pub const FWPS_RIGHT_ACTION_WRITE: u32 = 1u32;
3814 pub const FWP_ACTION_FLAG_CALLOUT: u32 = 16384u32;
3815 pub const FWP_ACTION_FLAG_NON_TERMINATING: u32 = 8192u32;
3816 pub const FWP_ACTION_FLAG_TERMINATING: u32 = 4096u32;
3817 pub const FWP_ACTION_NONE: u32 = 7u32;
3818 pub const FWP_ACTION_NONE_NO_MATCH: u32 = 8u32;
3819 pub const FWP_ACTRL_MATCH_FILTER: u32 = 1u32;
3820 pub type FWP_AF = i32;
3821 pub const FWP_AF_INET: FWP_AF = 0i32;
3822 pub const FWP_AF_INET6: FWP_AF = 1i32;
3823 pub const FWP_AF_ETHER: FWP_AF = 2i32;
3824 pub const FWP_AF_NONE: FWP_AF = 3i32;
3825 pub const FWP_BYTEMAP_ARRAY64_SIZE: u32 = 8u32;
3826 #[repr(C)]
3827 pub struct FWP_BYTE_ARRAY16 {
3828     pub byteArray16: [u8; 16],
3829 }
3830 impl ::core::marker::Copy for FWP_BYTE_ARRAY16 {}
3831 impl ::core::clone::Clone for FWP_BYTE_ARRAY16 {
clone(&self) -> Self3832     fn clone(&self) -> Self {
3833         *self
3834     }
3835 }
3836 #[repr(C)]
3837 pub struct FWP_BYTE_ARRAY6 {
3838     pub byteArray6: [u8; 6],
3839 }
3840 impl ::core::marker::Copy for FWP_BYTE_ARRAY6 {}
3841 impl ::core::clone::Clone for FWP_BYTE_ARRAY6 {
clone(&self) -> Self3842     fn clone(&self) -> Self {
3843         *self
3844     }
3845 }
3846 pub const FWP_BYTE_ARRAY6_SIZE: u32 = 6u32;
3847 #[repr(C)]
3848 pub struct FWP_BYTE_BLOB {
3849     pub size: u32,
3850     pub data: *mut u8,
3851 }
3852 impl ::core::marker::Copy for FWP_BYTE_BLOB {}
3853 impl ::core::clone::Clone for FWP_BYTE_BLOB {
clone(&self) -> Self3854     fn clone(&self) -> Self {
3855         *self
3856     }
3857 }
3858 pub const FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY: u32 = 128u32;
3859 pub const FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION: u32 = 8u32;
3860 pub const FWP_CALLOUT_FLAG_ALLOW_OFFLOAD: u32 = 2u32;
3861 pub const FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY: u32 = 16u32;
3862 pub const FWP_CALLOUT_FLAG_ALLOW_RSC: u32 = 64u32;
3863 pub const FWP_CALLOUT_FLAG_ALLOW_URO: u32 = 512u32;
3864 pub const FWP_CALLOUT_FLAG_ALLOW_USO: u32 = 256u32;
3865 pub const FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW: u32 = 1u32;
3866 pub const FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY: u32 = 4u32;
3867 pub const FWP_CALLOUT_FLAG_RESERVED1: u32 = 32u32;
3868 pub const FWP_CALLOUT_FLAG_RESERVED2: u32 = 1024u32;
3869 pub type FWP_CLASSIFY_OPTION_TYPE = i32;
3870 pub const FWP_CLASSIFY_OPTION_MULTICAST_STATE: FWP_CLASSIFY_OPTION_TYPE = 0i32;
3871 pub const FWP_CLASSIFY_OPTION_LOOSE_SOURCE_MAPPING: FWP_CLASSIFY_OPTION_TYPE = 1i32;
3872 pub const FWP_CLASSIFY_OPTION_UNICAST_LIFETIME: FWP_CLASSIFY_OPTION_TYPE = 2i32;
3873 pub const FWP_CLASSIFY_OPTION_MCAST_BCAST_LIFETIME: FWP_CLASSIFY_OPTION_TYPE = 3i32;
3874 pub const FWP_CLASSIFY_OPTION_SECURE_SOCKET_SECURITY_FLAGS: FWP_CLASSIFY_OPTION_TYPE = 4i32;
3875 pub const FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_MM_POLICY_KEY: FWP_CLASSIFY_OPTION_TYPE = 5i32;
3876 pub const FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_QM_POLICY_KEY: FWP_CLASSIFY_OPTION_TYPE = 6i32;
3877 pub const FWP_CLASSIFY_OPTION_LOCAL_ONLY_MAPPING: FWP_CLASSIFY_OPTION_TYPE = 7i32;
3878 pub const FWP_CLASSIFY_OPTION_MAX: FWP_CLASSIFY_OPTION_TYPE = 8i32;
3879 pub const FWP_CONDITION_FLAG_IS_APPCONTAINER_LOOPBACK: u32 = 4194304u32;
3880 pub const FWP_CONDITION_FLAG_IS_AUTH_FW: u32 = 65536u32;
3881 pub const FWP_CONDITION_FLAG_IS_CONNECTION_REDIRECTED: u32 = 1048576u32;
3882 pub const FWP_CONDITION_FLAG_IS_FRAGMENT: u32 = 32u32;
3883 pub const FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP: u32 = 64u32;
3884 pub const FWP_CONDITION_FLAG_IS_HONORING_POLICY_AUTHORIZE: u32 = 33554432u32;
3885 pub const FWP_CONDITION_FLAG_IS_IMPLICIT_BIND: u32 = 512u32;
3886 pub const FWP_CONDITION_FLAG_IS_INBOUND_PASS_THRU: u32 = 524288u32;
3887 pub const FWP_CONDITION_FLAG_IS_IPSEC_NATT_RECLASSIFY: u32 = 128u32;
3888 pub const FWP_CONDITION_FLAG_IS_IPSEC_SECURED: u32 = 2u32;
3889 pub const FWP_CONDITION_FLAG_IS_LOOPBACK: u32 = 1u32;
3890 pub const FWP_CONDITION_FLAG_IS_NAME_APP_SPECIFIED: u32 = 16384u32;
3891 pub const FWP_CONDITION_FLAG_IS_NON_APPCONTAINER_LOOPBACK: u32 = 8388608u32;
3892 pub const FWP_CONDITION_FLAG_IS_OUTBOUND_PASS_THRU: u32 = 262144u32;
3893 pub const FWP_CONDITION_FLAG_IS_PROMISCUOUS: u32 = 32768u32;
3894 pub const FWP_CONDITION_FLAG_IS_PROXY_CONNECTION: u32 = 2097152u32;
3895 pub const FWP_CONDITION_FLAG_IS_RAW_ENDPOINT: u32 = 16u32;
3896 pub const FWP_CONDITION_FLAG_IS_REASSEMBLED: u32 = 1024u32;
3897 pub const FWP_CONDITION_FLAG_IS_REAUTHORIZE: u32 = 4u32;
3898 pub const FWP_CONDITION_FLAG_IS_RECLASSIFY: u32 = 131072u32;
3899 pub const FWP_CONDITION_FLAG_IS_RESERVED: u32 = 16777216u32;
3900 pub const FWP_CONDITION_FLAG_IS_WILDCARD_BIND: u32 = 8u32;
3901 pub const FWP_CONDITION_FLAG_REQUIRES_ALE_CLASSIFY: u32 = 256u32;
3902 pub const FWP_CONDITION_L2_IF_CONNECTOR_PRESENT: u32 = 128u32;
3903 pub const FWP_CONDITION_L2_IS_IP_FRAGMENT_GROUP: u32 = 64u32;
3904 pub const FWP_CONDITION_L2_IS_MALFORMED_PACKET: u32 = 32u32;
3905 pub const FWP_CONDITION_L2_IS_MOBILE_BROADBAND: u32 = 4u32;
3906 pub const FWP_CONDITION_L2_IS_NATIVE_ETHERNET: u32 = 1u32;
3907 pub const FWP_CONDITION_L2_IS_VM2VM: u32 = 16u32;
3908 pub const FWP_CONDITION_L2_IS_WIFI: u32 = 2u32;
3909 pub const FWP_CONDITION_L2_IS_WIFI_DIRECT_DATA: u32 = 8u32;
3910 pub const FWP_CONDITION_REAUTHORIZE_REASON_CHECK_OFFLOAD: u32 = 65536u32;
3911 pub const FWP_CONDITION_REAUTHORIZE_REASON_CLASSIFY_COMPLETION: u32 = 16u32;
3912 pub const FWP_CONDITION_REAUTHORIZE_REASON_EDP_POLICY_CHANGED: u32 = 512u32;
3913 pub const FWP_CONDITION_REAUTHORIZE_REASON_IPSEC_PROPERTIES_CHANGED: u32 = 32u32;
3914 pub const FWP_CONDITION_REAUTHORIZE_REASON_MID_STREAM_INSPECTION: u32 = 64u32;
3915 pub const FWP_CONDITION_REAUTHORIZE_REASON_NEW_ARRIVAL_INTERFACE: u32 = 2u32;
3916 pub const FWP_CONDITION_REAUTHORIZE_REASON_NEW_INBOUND_MCAST_BCAST_PACKET: u32 = 256u32;
3917 pub const FWP_CONDITION_REAUTHORIZE_REASON_NEW_NEXTHOP_INTERFACE: u32 = 4u32;
3918 pub const FWP_CONDITION_REAUTHORIZE_REASON_POLICY_CHANGE: u32 = 1u32;
3919 pub const FWP_CONDITION_REAUTHORIZE_REASON_PROFILE_CROSSING: u32 = 8u32;
3920 pub const FWP_CONDITION_REAUTHORIZE_REASON_PROXY_HANDLE_CHANGED: u32 = 16384u32;
3921 pub const FWP_CONDITION_REAUTHORIZE_REASON_SOCKET_PROPERTY_CHANGED: u32 = 128u32;
3922 pub const FWP_CONDITION_SOCKET_PROPERTY_FLAG_ALLOW_EDGE_TRAFFIC: u32 = 2u32;
3923 pub const FWP_CONDITION_SOCKET_PROPERTY_FLAG_DENY_EDGE_TRAFFIC: u32 = 4u32;
3924 pub const FWP_CONDITION_SOCKET_PROPERTY_FLAG_IS_SYSTEM_PORT_RPC: u32 = 1u32;
3925 #[repr(C)]
3926 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3927 pub struct FWP_CONDITION_VALUE0 {
3928     pub r#type: FWP_DATA_TYPE,
3929     pub Anonymous: FWP_CONDITION_VALUE0_0,
3930 }
3931 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3932 impl ::core::marker::Copy for FWP_CONDITION_VALUE0 {}
3933 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3934 impl ::core::clone::Clone for FWP_CONDITION_VALUE0 {
clone(&self) -> Self3935     fn clone(&self) -> Self {
3936         *self
3937     }
3938 }
3939 #[repr(C)]
3940 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3941 pub union FWP_CONDITION_VALUE0_0 {
3942     pub uint8: u8,
3943     pub uint16: u16,
3944     pub uint32: u32,
3945     pub uint64: *mut u64,
3946     pub int8: i8,
3947     pub int16: i16,
3948     pub int32: i32,
3949     pub int64: *mut i64,
3950     pub float32: f32,
3951     pub double64: *mut f64,
3952     pub byteArray16: *mut FWP_BYTE_ARRAY16,
3953     pub byteBlob: *mut FWP_BYTE_BLOB,
3954     pub sid: *mut super::super::Security::SID,
3955     pub sd: *mut FWP_BYTE_BLOB,
3956     pub tokenInformation: *mut FWP_TOKEN_INFORMATION,
3957     pub tokenAccessInformation: *mut FWP_BYTE_BLOB,
3958     pub unicodeString: super::super::Foundation::PWSTR,
3959     pub byteArray6: *mut FWP_BYTE_ARRAY6,
3960     pub v4AddrMask: *mut FWP_V4_ADDR_AND_MASK,
3961     pub v6AddrMask: *mut FWP_V6_ADDR_AND_MASK,
3962     pub rangeValue: *mut FWP_RANGE0,
3963 }
3964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3965 impl ::core::marker::Copy for FWP_CONDITION_VALUE0_0 {}
3966 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3967 impl ::core::clone::Clone for FWP_CONDITION_VALUE0_0 {
clone(&self) -> Self3968     fn clone(&self) -> Self {
3969         *self
3970     }
3971 }
3972 pub type FWP_DATA_TYPE = i32;
3973 pub const FWP_EMPTY: FWP_DATA_TYPE = 0i32;
3974 pub const FWP_UINT8: FWP_DATA_TYPE = 1i32;
3975 pub const FWP_UINT16: FWP_DATA_TYPE = 2i32;
3976 pub const FWP_UINT32: FWP_DATA_TYPE = 3i32;
3977 pub const FWP_UINT64: FWP_DATA_TYPE = 4i32;
3978 pub const FWP_INT8: FWP_DATA_TYPE = 5i32;
3979 pub const FWP_INT16: FWP_DATA_TYPE = 6i32;
3980 pub const FWP_INT32: FWP_DATA_TYPE = 7i32;
3981 pub const FWP_INT64: FWP_DATA_TYPE = 8i32;
3982 pub const FWP_FLOAT: FWP_DATA_TYPE = 9i32;
3983 pub const FWP_DOUBLE: FWP_DATA_TYPE = 10i32;
3984 pub const FWP_BYTE_ARRAY16_TYPE: FWP_DATA_TYPE = 11i32;
3985 pub const FWP_BYTE_BLOB_TYPE: FWP_DATA_TYPE = 12i32;
3986 pub const FWP_SID: FWP_DATA_TYPE = 13i32;
3987 pub const FWP_SECURITY_DESCRIPTOR_TYPE: FWP_DATA_TYPE = 14i32;
3988 pub const FWP_TOKEN_INFORMATION_TYPE: FWP_DATA_TYPE = 15i32;
3989 pub const FWP_TOKEN_ACCESS_INFORMATION_TYPE: FWP_DATA_TYPE = 16i32;
3990 pub const FWP_UNICODE_STRING_TYPE: FWP_DATA_TYPE = 17i32;
3991 pub const FWP_BYTE_ARRAY6_TYPE: FWP_DATA_TYPE = 18i32;
3992 pub const FWP_SINGLE_DATA_TYPE_MAX: FWP_DATA_TYPE = 255i32;
3993 pub const FWP_V4_ADDR_MASK: FWP_DATA_TYPE = 256i32;
3994 pub const FWP_V6_ADDR_MASK: FWP_DATA_TYPE = 257i32;
3995 pub const FWP_RANGE_TYPE: FWP_DATA_TYPE = 258i32;
3996 pub const FWP_DATA_TYPE_MAX: FWP_DATA_TYPE = 259i32;
3997 pub type FWP_DIRECTION = i32;
3998 pub const FWP_DIRECTION_OUTBOUND: FWP_DIRECTION = 0i32;
3999 pub const FWP_DIRECTION_INBOUND: FWP_DIRECTION = 1i32;
4000 pub const FWP_DIRECTION_MAX: FWP_DIRECTION = 2i32;
4001 pub type FWP_ETHER_ENCAP_METHOD = i32;
4002 pub const FWP_ETHER_ENCAP_METHOD_ETHER_V2: FWP_ETHER_ENCAP_METHOD = 0i32;
4003 pub const FWP_ETHER_ENCAP_METHOD_SNAP: FWP_ETHER_ENCAP_METHOD = 1i32;
4004 pub const FWP_ETHER_ENCAP_METHOD_SNAP_W_OUI_ZERO: FWP_ETHER_ENCAP_METHOD = 3i32;
4005 pub const FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH: u32 = 1u32;
4006 pub const FWP_FILTER_ENUM_FLAG_BOOTTIME_ONLY: u32 = 4u32;
4007 pub const FWP_FILTER_ENUM_FLAG_INCLUDE_BOOTTIME: u32 = 8u32;
4008 pub const FWP_FILTER_ENUM_FLAG_INCLUDE_DISABLED: u32 = 16u32;
4009 pub const FWP_FILTER_ENUM_FLAG_RESERVED1: u32 = 32u32;
4010 pub const FWP_FILTER_ENUM_FLAG_SORTED: u32 = 2u32;
4011 pub type FWP_FILTER_ENUM_TYPE = i32;
4012 pub const FWP_FILTER_ENUM_FULLY_CONTAINED: FWP_FILTER_ENUM_TYPE = 0i32;
4013 pub const FWP_FILTER_ENUM_OVERLAPPING: FWP_FILTER_ENUM_TYPE = 1i32;
4014 pub const FWP_FILTER_ENUM_TYPE_MAX: FWP_FILTER_ENUM_TYPE = 2i32;
4015 pub type FWP_IP_VERSION = i32;
4016 pub const FWP_IP_VERSION_V4: FWP_IP_VERSION = 0i32;
4017 pub const FWP_IP_VERSION_V6: FWP_IP_VERSION = 1i32;
4018 pub const FWP_IP_VERSION_NONE: FWP_IP_VERSION = 2i32;
4019 pub const FWP_IP_VERSION_MAX: FWP_IP_VERSION = 3i32;
4020 pub type FWP_MATCH_TYPE = i32;
4021 pub const FWP_MATCH_EQUAL: FWP_MATCH_TYPE = 0i32;
4022 pub const FWP_MATCH_GREATER: FWP_MATCH_TYPE = 1i32;
4023 pub const FWP_MATCH_LESS: FWP_MATCH_TYPE = 2i32;
4024 pub const FWP_MATCH_GREATER_OR_EQUAL: FWP_MATCH_TYPE = 3i32;
4025 pub const FWP_MATCH_LESS_OR_EQUAL: FWP_MATCH_TYPE = 4i32;
4026 pub const FWP_MATCH_RANGE: FWP_MATCH_TYPE = 5i32;
4027 pub const FWP_MATCH_FLAGS_ALL_SET: FWP_MATCH_TYPE = 6i32;
4028 pub const FWP_MATCH_FLAGS_ANY_SET: FWP_MATCH_TYPE = 7i32;
4029 pub const FWP_MATCH_FLAGS_NONE_SET: FWP_MATCH_TYPE = 8i32;
4030 pub const FWP_MATCH_EQUAL_CASE_INSENSITIVE: FWP_MATCH_TYPE = 9i32;
4031 pub const FWP_MATCH_NOT_EQUAL: FWP_MATCH_TYPE = 10i32;
4032 pub const FWP_MATCH_PREFIX: FWP_MATCH_TYPE = 11i32;
4033 pub const FWP_MATCH_NOT_PREFIX: FWP_MATCH_TYPE = 12i32;
4034 pub const FWP_MATCH_TYPE_MAX: FWP_MATCH_TYPE = 13i32;
4035 pub const FWP_OPTION_VALUE_ALLOW_GLOBAL_MULTICAST_STATE: u32 = 2u32;
4036 pub const FWP_OPTION_VALUE_ALLOW_MULTICAST_STATE: u32 = 0u32;
4037 pub const FWP_OPTION_VALUE_DENY_MULTICAST_STATE: u32 = 1u32;
4038 pub const FWP_OPTION_VALUE_DISABLE_LOCAL_ONLY_MAPPING: u32 = 0u32;
4039 pub const FWP_OPTION_VALUE_DISABLE_LOOSE_SOURCE: u32 = 0u32;
4040 pub const FWP_OPTION_VALUE_ENABLE_LOCAL_ONLY_MAPPING: u32 = 1u32;
4041 pub const FWP_OPTION_VALUE_ENABLE_LOOSE_SOURCE: u32 = 1u32;
4042 #[repr(C)]
4043 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4044 pub struct FWP_RANGE0 {
4045     pub valueLow: FWP_VALUE0,
4046     pub valueHigh: FWP_VALUE0,
4047 }
4048 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4049 impl ::core::marker::Copy for FWP_RANGE0 {}
4050 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4051 impl ::core::clone::Clone for FWP_RANGE0 {
clone(&self) -> Self4052     fn clone(&self) -> Self {
4053         *self
4054     }
4055 }
4056 #[repr(C)]
4057 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4058 pub struct FWP_TOKEN_INFORMATION {
4059     pub sidCount: u32,
4060     pub sids: *mut super::super::Security::SID_AND_ATTRIBUTES,
4061     pub restrictedSidCount: u32,
4062     pub restrictedSids: *mut super::super::Security::SID_AND_ATTRIBUTES,
4063 }
4064 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4065 impl ::core::marker::Copy for FWP_TOKEN_INFORMATION {}
4066 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4067 impl ::core::clone::Clone for FWP_TOKEN_INFORMATION {
clone(&self) -> Self4068     fn clone(&self) -> Self {
4069         *self
4070     }
4071 }
4072 #[repr(C)]
4073 pub struct FWP_V4_ADDR_AND_MASK {
4074     pub addr: u32,
4075     pub mask: u32,
4076 }
4077 impl ::core::marker::Copy for FWP_V4_ADDR_AND_MASK {}
4078 impl ::core::clone::Clone for FWP_V4_ADDR_AND_MASK {
clone(&self) -> Self4079     fn clone(&self) -> Self {
4080         *self
4081     }
4082 }
4083 #[repr(C)]
4084 pub struct FWP_V6_ADDR_AND_MASK {
4085     pub addr: [u8; 16],
4086     pub prefixLength: u8,
4087 }
4088 impl ::core::marker::Copy for FWP_V6_ADDR_AND_MASK {}
4089 impl ::core::clone::Clone for FWP_V6_ADDR_AND_MASK {
clone(&self) -> Self4090     fn clone(&self) -> Self {
4091         *self
4092     }
4093 }
4094 pub const FWP_V6_ADDR_SIZE: u32 = 16u32;
4095 #[repr(C)]
4096 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4097 pub struct FWP_VALUE0 {
4098     pub r#type: FWP_DATA_TYPE,
4099     pub Anonymous: FWP_VALUE0_0,
4100 }
4101 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4102 impl ::core::marker::Copy for FWP_VALUE0 {}
4103 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4104 impl ::core::clone::Clone for FWP_VALUE0 {
clone(&self) -> Self4105     fn clone(&self) -> Self {
4106         *self
4107     }
4108 }
4109 #[repr(C)]
4110 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4111 pub union FWP_VALUE0_0 {
4112     pub uint8: u8,
4113     pub uint16: u16,
4114     pub uint32: u32,
4115     pub uint64: *mut u64,
4116     pub int8: i8,
4117     pub int16: i16,
4118     pub int32: i32,
4119     pub int64: *mut i64,
4120     pub float32: f32,
4121     pub double64: *mut f64,
4122     pub byteArray16: *mut FWP_BYTE_ARRAY16,
4123     pub byteBlob: *mut FWP_BYTE_BLOB,
4124     pub sid: *mut super::super::Security::SID,
4125     pub sd: *mut FWP_BYTE_BLOB,
4126     pub tokenInformation: *mut FWP_TOKEN_INFORMATION,
4127     pub tokenAccessInformation: *mut FWP_BYTE_BLOB,
4128     pub unicodeString: super::super::Foundation::PWSTR,
4129     pub byteArray6: *mut FWP_BYTE_ARRAY6,
4130 }
4131 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4132 impl ::core::marker::Copy for FWP_VALUE0_0 {}
4133 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4134 impl ::core::clone::Clone for FWP_VALUE0_0 {
clone(&self) -> Self4135     fn clone(&self) -> Self {
4136         *self
4137     }
4138 }
4139 pub type FWP_VSWITCH_NETWORK_TYPE = i32;
4140 pub const FWP_VSWITCH_NETWORK_TYPE_UNKNOWN: FWP_VSWITCH_NETWORK_TYPE = 0i32;
4141 pub const FWP_VSWITCH_NETWORK_TYPE_PRIVATE: FWP_VSWITCH_NETWORK_TYPE = 1i32;
4142 pub const FWP_VSWITCH_NETWORK_TYPE_INTERNAL: FWP_VSWITCH_NETWORK_TYPE = 2i32;
4143 pub const FWP_VSWITCH_NETWORK_TYPE_EXTERNAL: FWP_VSWITCH_NETWORK_TYPE = 3i32;
4144 pub type ICMP4_TIME_EXCEED_CODE = i32;
4145 pub const ICMP4_TIME_EXCEED_TRANSIT: ICMP4_TIME_EXCEED_CODE = 0i32;
4146 pub const ICMP4_TIME_EXCEED_REASSEMBLY: ICMP4_TIME_EXCEED_CODE = 1i32;
4147 pub type ICMP4_UNREACH_CODE = i32;
4148 pub const ICMP4_UNREACH_NET: ICMP4_UNREACH_CODE = 0i32;
4149 pub const ICMP4_UNREACH_HOST: ICMP4_UNREACH_CODE = 1i32;
4150 pub const ICMP4_UNREACH_PROTOCOL: ICMP4_UNREACH_CODE = 2i32;
4151 pub const ICMP4_UNREACH_PORT: ICMP4_UNREACH_CODE = 3i32;
4152 pub const ICMP4_UNREACH_FRAG_NEEDED: ICMP4_UNREACH_CODE = 4i32;
4153 pub const ICMP4_UNREACH_SOURCEROUTE_FAILED: ICMP4_UNREACH_CODE = 5i32;
4154 pub const ICMP4_UNREACH_NET_UNKNOWN: ICMP4_UNREACH_CODE = 6i32;
4155 pub const ICMP4_UNREACH_HOST_UNKNOWN: ICMP4_UNREACH_CODE = 7i32;
4156 pub const ICMP4_UNREACH_ISOLATED: ICMP4_UNREACH_CODE = 8i32;
4157 pub const ICMP4_UNREACH_NET_ADMIN: ICMP4_UNREACH_CODE = 9i32;
4158 pub const ICMP4_UNREACH_HOST_ADMIN: ICMP4_UNREACH_CODE = 10i32;
4159 pub const ICMP4_UNREACH_NET_TOS: ICMP4_UNREACH_CODE = 11i32;
4160 pub const ICMP4_UNREACH_HOST_TOS: ICMP4_UNREACH_CODE = 12i32;
4161 pub const ICMP4_UNREACH_ADMIN: ICMP4_UNREACH_CODE = 13i32;
4162 pub const ICMP6_DST_UNREACH_ADDR: u32 = 3u32;
4163 pub const ICMP6_DST_UNREACH_ADMIN: u32 = 1u32;
4164 pub const ICMP6_DST_UNREACH_BEYONDSCOPE: u32 = 2u32;
4165 pub const ICMP6_DST_UNREACH_NOPORT: u32 = 4u32;
4166 pub const ICMP6_DST_UNREACH_NOROUTE: u32 = 0u32;
4167 pub const ICMP6_PARAMPROB_HEADER: u32 = 0u32;
4168 pub const ICMP6_PARAMPROB_NEXTHEADER: u32 = 1u32;
4169 pub const ICMP6_PARAMPROB_OPTION: u32 = 2u32;
4170 pub const ICMP6_TIME_EXCEED_REASSEMBLY: u32 = 1u32;
4171 pub const ICMP6_TIME_EXCEED_TRANSIT: u32 = 0u32;
4172 #[repr(C)]
4173 pub struct ICMPV4_ADDRESS_MASK_MESSAGE {
4174     pub Header: ICMP_MESSAGE,
4175     pub AddressMask: u32,
4176 }
4177 impl ::core::marker::Copy for ICMPV4_ADDRESS_MASK_MESSAGE {}
4178 impl ::core::clone::Clone for ICMPV4_ADDRESS_MASK_MESSAGE {
clone(&self) -> Self4179     fn clone(&self) -> Self {
4180         *self
4181     }
4182 }
4183 pub const ICMPV4_INVALID_PREFERENCE_LEVEL: u32 = 2147483648u32;
4184 #[repr(C)]
4185 #[cfg(feature = "Win32_Networking_WinSock")]
4186 pub struct ICMPV4_ROUTER_ADVERT_ENTRY {
4187     pub RouterAdvertAddr: super::super::Networking::WinSock::IN_ADDR,
4188     pub PreferenceLevel: i32,
4189 }
4190 #[cfg(feature = "Win32_Networking_WinSock")]
4191 impl ::core::marker::Copy for ICMPV4_ROUTER_ADVERT_ENTRY {}
4192 #[cfg(feature = "Win32_Networking_WinSock")]
4193 impl ::core::clone::Clone for ICMPV4_ROUTER_ADVERT_ENTRY {
clone(&self) -> Self4194     fn clone(&self) -> Self {
4195         *self
4196     }
4197 }
4198 #[repr(C)]
4199 pub struct ICMPV4_ROUTER_ADVERT_HEADER {
4200     pub RaHeader: ICMP_MESSAGE,
4201 }
4202 impl ::core::marker::Copy for ICMPV4_ROUTER_ADVERT_HEADER {}
4203 impl ::core::clone::Clone for ICMPV4_ROUTER_ADVERT_HEADER {
clone(&self) -> Self4204     fn clone(&self) -> Self {
4205         *self
4206     }
4207 }
4208 #[repr(C)]
4209 pub struct ICMPV4_ROUTER_SOLICIT {
4210     pub RsHeader: ICMP_MESSAGE,
4211 }
4212 impl ::core::marker::Copy for ICMPV4_ROUTER_SOLICIT {}
4213 impl ::core::clone::Clone for ICMPV4_ROUTER_SOLICIT {
clone(&self) -> Self4214     fn clone(&self) -> Self {
4215         *self
4216     }
4217 }
4218 #[repr(C)]
4219 pub struct ICMPV4_TIMESTAMP_MESSAGE {
4220     pub Header: ICMP_MESSAGE,
4221     pub OriginateTimestamp: u32,
4222     pub ReceiveTimestamp: u32,
4223     pub TransmitTimestamp: u32,
4224 }
4225 impl ::core::marker::Copy for ICMPV4_TIMESTAMP_MESSAGE {}
4226 impl ::core::clone::Clone for ICMPV4_TIMESTAMP_MESSAGE {
clone(&self) -> Self4227     fn clone(&self) -> Self {
4228         *self
4229     }
4230 }
4231 pub const ICMPV6_ECHO_REQUEST_FLAG_REVERSE: u32 = 1u32;
4232 #[repr(C)]
4233 pub struct ICMP_HEADER {
4234     pub Type: u8,
4235     pub Code: u8,
4236     pub Checksum: u16,
4237 }
4238 impl ::core::marker::Copy for ICMP_HEADER {}
4239 impl ::core::clone::Clone for ICMP_HEADER {
clone(&self) -> Self4240     fn clone(&self) -> Self {
4241         *self
4242     }
4243 }
4244 #[repr(C)]
4245 pub struct ICMP_MESSAGE {
4246     pub Header: ICMP_HEADER,
4247     pub Data: ICMP_MESSAGE_0,
4248 }
4249 impl ::core::marker::Copy for ICMP_MESSAGE {}
4250 impl ::core::clone::Clone for ICMP_MESSAGE {
clone(&self) -> Self4251     fn clone(&self) -> Self {
4252         *self
4253     }
4254 }
4255 #[repr(C)]
4256 pub union ICMP_MESSAGE_0 {
4257     pub Data32: [u32; 1],
4258     pub Data16: [u16; 2],
4259     pub Data8: [u8; 4],
4260 }
4261 impl ::core::marker::Copy for ICMP_MESSAGE_0 {}
4262 impl ::core::clone::Clone for ICMP_MESSAGE_0 {
clone(&self) -> Self4263     fn clone(&self) -> Self {
4264         *self
4265     }
4266 }
4267 #[repr(C)]
4268 #[cfg(feature = "Win32_Networking_WinSock")]
4269 pub struct IGMPV3_QUERY_HEADER {
4270     pub Type: u8,
4271     pub Anonymous1: IGMPV3_QUERY_HEADER_0,
4272     pub Checksum: u16,
4273     pub MulticastAddress: super::super::Networking::WinSock::IN_ADDR,
4274     pub _bitfield: u8,
4275     pub Anonymous2: IGMPV3_QUERY_HEADER_1,
4276     pub SourceCount: u16,
4277 }
4278 #[cfg(feature = "Win32_Networking_WinSock")]
4279 impl ::core::marker::Copy for IGMPV3_QUERY_HEADER {}
4280 #[cfg(feature = "Win32_Networking_WinSock")]
4281 impl ::core::clone::Clone for IGMPV3_QUERY_HEADER {
clone(&self) -> Self4282     fn clone(&self) -> Self {
4283         *self
4284     }
4285 }
4286 #[repr(C)]
4287 #[cfg(feature = "Win32_Networking_WinSock")]
4288 pub union IGMPV3_QUERY_HEADER_0 {
4289     pub MaxRespCode: u8,
4290     pub Anonymous: IGMPV3_QUERY_HEADER_0_0,
4291 }
4292 #[cfg(feature = "Win32_Networking_WinSock")]
4293 impl ::core::marker::Copy for IGMPV3_QUERY_HEADER_0 {}
4294 #[cfg(feature = "Win32_Networking_WinSock")]
4295 impl ::core::clone::Clone for IGMPV3_QUERY_HEADER_0 {
clone(&self) -> Self4296     fn clone(&self) -> Self {
4297         *self
4298     }
4299 }
4300 #[repr(C)]
4301 #[cfg(feature = "Win32_Networking_WinSock")]
4302 pub struct IGMPV3_QUERY_HEADER_0_0 {
4303     pub _bitfield: u8,
4304 }
4305 #[cfg(feature = "Win32_Networking_WinSock")]
4306 impl ::core::marker::Copy for IGMPV3_QUERY_HEADER_0_0 {}
4307 #[cfg(feature = "Win32_Networking_WinSock")]
4308 impl ::core::clone::Clone for IGMPV3_QUERY_HEADER_0_0 {
clone(&self) -> Self4309     fn clone(&self) -> Self {
4310         *self
4311     }
4312 }
4313 #[repr(C)]
4314 #[cfg(feature = "Win32_Networking_WinSock")]
4315 pub union IGMPV3_QUERY_HEADER_1 {
4316     pub QueriersQueryInterfaceCode: u8,
4317     pub Anonymous: IGMPV3_QUERY_HEADER_1_0,
4318 }
4319 #[cfg(feature = "Win32_Networking_WinSock")]
4320 impl ::core::marker::Copy for IGMPV3_QUERY_HEADER_1 {}
4321 #[cfg(feature = "Win32_Networking_WinSock")]
4322 impl ::core::clone::Clone for IGMPV3_QUERY_HEADER_1 {
clone(&self) -> Self4323     fn clone(&self) -> Self {
4324         *self
4325     }
4326 }
4327 #[repr(C)]
4328 #[cfg(feature = "Win32_Networking_WinSock")]
4329 pub struct IGMPV3_QUERY_HEADER_1_0 {
4330     pub _bitfield: u8,
4331 }
4332 #[cfg(feature = "Win32_Networking_WinSock")]
4333 impl ::core::marker::Copy for IGMPV3_QUERY_HEADER_1_0 {}
4334 #[cfg(feature = "Win32_Networking_WinSock")]
4335 impl ::core::clone::Clone for IGMPV3_QUERY_HEADER_1_0 {
clone(&self) -> Self4336     fn clone(&self) -> Self {
4337         *self
4338     }
4339 }
4340 #[repr(C)]
4341 pub struct IGMPV3_REPORT_HEADER {
4342     pub Type: u8,
4343     pub Reserved: u8,
4344     pub Checksum: u16,
4345     pub Reserved2: u16,
4346     pub RecordCount: u16,
4347 }
4348 impl ::core::marker::Copy for IGMPV3_REPORT_HEADER {}
4349 impl ::core::clone::Clone for IGMPV3_REPORT_HEADER {
clone(&self) -> Self4350     fn clone(&self) -> Self {
4351         *self
4352     }
4353 }
4354 #[repr(C)]
4355 #[cfg(feature = "Win32_Networking_WinSock")]
4356 pub struct IGMPV3_REPORT_RECORD_HEADER {
4357     pub Type: u8,
4358     pub AuxillaryDataLength: u8,
4359     pub SourceCount: u16,
4360     pub MulticastAddress: super::super::Networking::WinSock::IN_ADDR,
4361 }
4362 #[cfg(feature = "Win32_Networking_WinSock")]
4363 impl ::core::marker::Copy for IGMPV3_REPORT_RECORD_HEADER {}
4364 #[cfg(feature = "Win32_Networking_WinSock")]
4365 impl ::core::clone::Clone for IGMPV3_REPORT_RECORD_HEADER {
clone(&self) -> Self4366     fn clone(&self) -> Self {
4367         *self
4368     }
4369 }
4370 #[repr(C)]
4371 #[cfg(feature = "Win32_Networking_WinSock")]
4372 pub struct IGMP_HEADER {
4373     pub Anonymous1: IGMP_HEADER_0,
4374     pub Anonymous2: IGMP_HEADER_1,
4375     pub Checksum: u16,
4376     pub MulticastAddress: super::super::Networking::WinSock::IN_ADDR,
4377 }
4378 #[cfg(feature = "Win32_Networking_WinSock")]
4379 impl ::core::marker::Copy for IGMP_HEADER {}
4380 #[cfg(feature = "Win32_Networking_WinSock")]
4381 impl ::core::clone::Clone for IGMP_HEADER {
clone(&self) -> Self4382     fn clone(&self) -> Self {
4383         *self
4384     }
4385 }
4386 #[repr(C)]
4387 #[cfg(feature = "Win32_Networking_WinSock")]
4388 pub union IGMP_HEADER_0 {
4389     pub Anonymous: IGMP_HEADER_0_0,
4390     pub VersionType: u8,
4391 }
4392 #[cfg(feature = "Win32_Networking_WinSock")]
4393 impl ::core::marker::Copy for IGMP_HEADER_0 {}
4394 #[cfg(feature = "Win32_Networking_WinSock")]
4395 impl ::core::clone::Clone for IGMP_HEADER_0 {
clone(&self) -> Self4396     fn clone(&self) -> Self {
4397         *self
4398     }
4399 }
4400 #[repr(C)]
4401 #[cfg(feature = "Win32_Networking_WinSock")]
4402 pub struct IGMP_HEADER_0_0 {
4403     pub _bitfield: u8,
4404 }
4405 #[cfg(feature = "Win32_Networking_WinSock")]
4406 impl ::core::marker::Copy for IGMP_HEADER_0_0 {}
4407 #[cfg(feature = "Win32_Networking_WinSock")]
4408 impl ::core::clone::Clone for IGMP_HEADER_0_0 {
clone(&self) -> Self4409     fn clone(&self) -> Self {
4410         *self
4411     }
4412 }
4413 #[repr(C)]
4414 #[cfg(feature = "Win32_Networking_WinSock")]
4415 pub union IGMP_HEADER_1 {
4416     pub Reserved: u8,
4417     pub MaxRespTime: u8,
4418     pub Code: u8,
4419 }
4420 #[cfg(feature = "Win32_Networking_WinSock")]
4421 impl ::core::marker::Copy for IGMP_HEADER_1 {}
4422 #[cfg(feature = "Win32_Networking_WinSock")]
4423 impl ::core::clone::Clone for IGMP_HEADER_1 {
clone(&self) -> Self4424     fn clone(&self) -> Self {
4425         *self
4426     }
4427 }
4428 pub const IGMP_LEAVE_GROUP_TYPE: u32 = 23u32;
4429 pub type IGMP_MAX_RESP_CODE_TYPE = i32;
4430 pub const IGMP_MAX_RESP_CODE_TYPE_NORMAL: IGMP_MAX_RESP_CODE_TYPE = 0i32;
4431 pub const IGMP_MAX_RESP_CODE_TYPE_FLOAT: IGMP_MAX_RESP_CODE_TYPE = 1i32;
4432 pub const IGMP_QUERY_TYPE: u32 = 17u32;
4433 pub const IGMP_VERSION1_REPORT_TYPE: u32 = 18u32;
4434 pub const IGMP_VERSION2_REPORT_TYPE: u32 = 22u32;
4435 pub const IGMP_VERSION3_REPORT_TYPE: u32 = 34u32;
4436 pub type IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = i32;
4437 pub const IKEEXT_IMPERSONATION_NONE: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = 0i32;
4438 pub const IKEEXT_IMPERSONATION_SOCKET_PRINCIPAL: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = 1i32;
4439 pub const IKEEXT_IMPERSONATION_MAX: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE = 2i32;
4440 #[repr(C)]
4441 #[cfg(feature = "Win32_Foundation")]
4442 pub struct IKEEXT_AUTHENTICATION_METHOD0 {
4443     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
4444     pub Anonymous: IKEEXT_AUTHENTICATION_METHOD0_0,
4445 }
4446 #[cfg(feature = "Win32_Foundation")]
4447 impl ::core::marker::Copy for IKEEXT_AUTHENTICATION_METHOD0 {}
4448 #[cfg(feature = "Win32_Foundation")]
4449 impl ::core::clone::Clone for IKEEXT_AUTHENTICATION_METHOD0 {
clone(&self) -> Self4450     fn clone(&self) -> Self {
4451         *self
4452     }
4453 }
4454 #[repr(C)]
4455 #[cfg(feature = "Win32_Foundation")]
4456 pub union IKEEXT_AUTHENTICATION_METHOD0_0 {
4457     pub presharedKeyAuthentication: IKEEXT_PRESHARED_KEY_AUTHENTICATION0,
4458     pub certificateAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION0,
4459     pub kerberosAuthentication: IKEEXT_KERBEROS_AUTHENTICATION0,
4460     pub ntlmV2Authentication: IKEEXT_NTLM_V2_AUTHENTICATION0,
4461     pub sslAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION0,
4462     pub cgaAuthentication: IKEEXT_IPV6_CGA_AUTHENTICATION0,
4463 }
4464 #[cfg(feature = "Win32_Foundation")]
4465 impl ::core::marker::Copy for IKEEXT_AUTHENTICATION_METHOD0_0 {}
4466 #[cfg(feature = "Win32_Foundation")]
4467 impl ::core::clone::Clone for IKEEXT_AUTHENTICATION_METHOD0_0 {
clone(&self) -> Self4468     fn clone(&self) -> Self {
4469         *self
4470     }
4471 }
4472 #[repr(C)]
4473 #[cfg(feature = "Win32_Foundation")]
4474 pub struct IKEEXT_AUTHENTICATION_METHOD1 {
4475     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
4476     pub Anonymous: IKEEXT_AUTHENTICATION_METHOD1_0,
4477 }
4478 #[cfg(feature = "Win32_Foundation")]
4479 impl ::core::marker::Copy for IKEEXT_AUTHENTICATION_METHOD1 {}
4480 #[cfg(feature = "Win32_Foundation")]
4481 impl ::core::clone::Clone for IKEEXT_AUTHENTICATION_METHOD1 {
clone(&self) -> Self4482     fn clone(&self) -> Self {
4483         *self
4484     }
4485 }
4486 #[repr(C)]
4487 #[cfg(feature = "Win32_Foundation")]
4488 pub union IKEEXT_AUTHENTICATION_METHOD1_0 {
4489     pub presharedKeyAuthentication: IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
4490     pub certificateAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION1,
4491     pub kerberosAuthentication: IKEEXT_KERBEROS_AUTHENTICATION0,
4492     pub ntlmV2Authentication: IKEEXT_NTLM_V2_AUTHENTICATION0,
4493     pub sslAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION1,
4494     pub cgaAuthentication: IKEEXT_IPV6_CGA_AUTHENTICATION0,
4495     pub eapAuthentication: IKEEXT_EAP_AUTHENTICATION0,
4496 }
4497 #[cfg(feature = "Win32_Foundation")]
4498 impl ::core::marker::Copy for IKEEXT_AUTHENTICATION_METHOD1_0 {}
4499 #[cfg(feature = "Win32_Foundation")]
4500 impl ::core::clone::Clone for IKEEXT_AUTHENTICATION_METHOD1_0 {
clone(&self) -> Self4501     fn clone(&self) -> Self {
4502         *self
4503     }
4504 }
4505 #[repr(C)]
4506 #[cfg(feature = "Win32_Foundation")]
4507 pub struct IKEEXT_AUTHENTICATION_METHOD2 {
4508     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
4509     pub Anonymous: IKEEXT_AUTHENTICATION_METHOD2_0,
4510 }
4511 #[cfg(feature = "Win32_Foundation")]
4512 impl ::core::marker::Copy for IKEEXT_AUTHENTICATION_METHOD2 {}
4513 #[cfg(feature = "Win32_Foundation")]
4514 impl ::core::clone::Clone for IKEEXT_AUTHENTICATION_METHOD2 {
clone(&self) -> Self4515     fn clone(&self) -> Self {
4516         *self
4517     }
4518 }
4519 #[repr(C)]
4520 #[cfg(feature = "Win32_Foundation")]
4521 pub union IKEEXT_AUTHENTICATION_METHOD2_0 {
4522     pub presharedKeyAuthentication: IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
4523     pub certificateAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION2,
4524     pub kerberosAuthentication: IKEEXT_KERBEROS_AUTHENTICATION1,
4525     pub reservedAuthentication: IKEEXT_RESERVED_AUTHENTICATION0,
4526     pub ntlmV2Authentication: IKEEXT_NTLM_V2_AUTHENTICATION0,
4527     pub sslAuthentication: IKEEXT_CERTIFICATE_AUTHENTICATION2,
4528     pub cgaAuthentication: IKEEXT_IPV6_CGA_AUTHENTICATION0,
4529     pub eapAuthentication: IKEEXT_EAP_AUTHENTICATION0,
4530 }
4531 #[cfg(feature = "Win32_Foundation")]
4532 impl ::core::marker::Copy for IKEEXT_AUTHENTICATION_METHOD2_0 {}
4533 #[cfg(feature = "Win32_Foundation")]
4534 impl ::core::clone::Clone for IKEEXT_AUTHENTICATION_METHOD2_0 {
clone(&self) -> Self4535     fn clone(&self) -> Self {
4536         *self
4537     }
4538 }
4539 pub type IKEEXT_AUTHENTICATION_METHOD_TYPE = i32;
4540 pub const IKEEXT_PRESHARED_KEY: IKEEXT_AUTHENTICATION_METHOD_TYPE = 0i32;
4541 pub const IKEEXT_CERTIFICATE: IKEEXT_AUTHENTICATION_METHOD_TYPE = 1i32;
4542 pub const IKEEXT_KERBEROS: IKEEXT_AUTHENTICATION_METHOD_TYPE = 2i32;
4543 pub const IKEEXT_ANONYMOUS: IKEEXT_AUTHENTICATION_METHOD_TYPE = 3i32;
4544 pub const IKEEXT_SSL: IKEEXT_AUTHENTICATION_METHOD_TYPE = 4i32;
4545 pub const IKEEXT_NTLM_V2: IKEEXT_AUTHENTICATION_METHOD_TYPE = 5i32;
4546 pub const IKEEXT_IPV6_CGA: IKEEXT_AUTHENTICATION_METHOD_TYPE = 6i32;
4547 pub const IKEEXT_CERTIFICATE_ECDSA_P256: IKEEXT_AUTHENTICATION_METHOD_TYPE = 7i32;
4548 pub const IKEEXT_CERTIFICATE_ECDSA_P384: IKEEXT_AUTHENTICATION_METHOD_TYPE = 8i32;
4549 pub const IKEEXT_SSL_ECDSA_P256: IKEEXT_AUTHENTICATION_METHOD_TYPE = 9i32;
4550 pub const IKEEXT_SSL_ECDSA_P384: IKEEXT_AUTHENTICATION_METHOD_TYPE = 10i32;
4551 pub const IKEEXT_EAP: IKEEXT_AUTHENTICATION_METHOD_TYPE = 11i32;
4552 pub const IKEEXT_RESERVED: IKEEXT_AUTHENTICATION_METHOD_TYPE = 12i32;
4553 pub const IKEEXT_AUTHENTICATION_METHOD_TYPE_MAX: IKEEXT_AUTHENTICATION_METHOD_TYPE = 13i32;
4554 #[repr(C)]
4555 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION0 {
4556     pub inboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
4557     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION0_0,
4558     pub outboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
4559     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION0_1,
4560     pub flags: IKEEXT_CERT_AUTH,
4561 }
4562 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION0 {}
4563 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION0 {
clone(&self) -> Self4564     fn clone(&self) -> Self {
4565         *self
4566     }
4567 }
4568 #[repr(C)]
4569 pub union IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {
4570     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0,
4571     pub inboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4572     pub inboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4573 }
4574 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {}
4575 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION0_0 {
clone(&self) -> Self4576     fn clone(&self) -> Self {
4577         *self
4578     }
4579 }
4580 #[repr(C)]
4581 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
4582     pub inboundRootArraySize: u32,
4583     pub inboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
4584 }
4585 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {}
4586 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION0_0_0 {
clone(&self) -> Self4587     fn clone(&self) -> Self {
4588         *self
4589     }
4590 }
4591 #[repr(C)]
4592 pub union IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {
4593     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0,
4594     pub outboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4595     pub outboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4596 }
4597 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {}
4598 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION0_1 {
clone(&self) -> Self4599     fn clone(&self) -> Self {
4600         *self
4601     }
4602 }
4603 #[repr(C)]
4604 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
4605     pub outboundRootArraySize: u32,
4606     pub outboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
4607 }
4608 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {}
4609 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION0_1_0 {
clone(&self) -> Self4610     fn clone(&self) -> Self {
4611         *self
4612     }
4613 }
4614 #[repr(C)]
4615 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION1 {
4616     pub inboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
4617     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION1_0,
4618     pub outboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
4619     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION1_1,
4620     pub flags: IKEEXT_CERT_AUTH,
4621     pub localCertLocationUrl: FWP_BYTE_BLOB,
4622 }
4623 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION1 {}
4624 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION1 {
clone(&self) -> Self4625     fn clone(&self) -> Self {
4626         *self
4627     }
4628 }
4629 #[repr(C)]
4630 pub union IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {
4631     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0,
4632     pub inboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4633     pub inboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4634 }
4635 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {}
4636 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION1_0 {
clone(&self) -> Self4637     fn clone(&self) -> Self {
4638         *self
4639     }
4640 }
4641 #[repr(C)]
4642 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
4643     pub inboundRootArraySize: u32,
4644     pub inboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
4645 }
4646 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {}
4647 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION1_0_0 {
clone(&self) -> Self4648     fn clone(&self) -> Self {
4649         *self
4650     }
4651 }
4652 #[repr(C)]
4653 pub union IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {
4654     pub Anonymous: IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0,
4655     pub outboundEnterpriseStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4656     pub outboundTrustedRootStoreConfig: *mut IKEEXT_CERT_ROOT_CONFIG0,
4657 }
4658 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {}
4659 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION1_1 {
clone(&self) -> Self4660     fn clone(&self) -> Self {
4661         *self
4662     }
4663 }
4664 #[repr(C)]
4665 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
4666     pub outboundRootArraySize: u32,
4667     pub outboundRootArray: *mut IKEEXT_CERT_ROOT_CONFIG0,
4668 }
4669 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {}
4670 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION1_1_0 {
clone(&self) -> Self4671     fn clone(&self) -> Self {
4672         *self
4673     }
4674 }
4675 #[repr(C)]
4676 #[cfg(feature = "Win32_Foundation")]
4677 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2 {
4678     pub inboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
4679     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION2_0,
4680     pub outboundConfigType: IKEEXT_CERT_CONFIG_TYPE,
4681     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION2_1,
4682     pub flags: IKEEXT_CERT_AUTH,
4683     pub localCertLocationUrl: FWP_BYTE_BLOB,
4684 }
4685 #[cfg(feature = "Win32_Foundation")]
4686 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2 {}
4687 #[cfg(feature = "Win32_Foundation")]
4688 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2 {
clone(&self) -> Self4689     fn clone(&self) -> Self {
4690         *self
4691     }
4692 }
4693 #[repr(C)]
4694 #[cfg(feature = "Win32_Foundation")]
4695 pub union IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {
4696     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0,
4697     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1,
4698     pub Anonymous3: IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2,
4699 }
4700 #[cfg(feature = "Win32_Foundation")]
4701 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {}
4702 #[cfg(feature = "Win32_Foundation")]
4703 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_0 {
clone(&self) -> Self4704     fn clone(&self) -> Self {
4705         *self
4706     }
4707 }
4708 #[repr(C)]
4709 #[cfg(feature = "Win32_Foundation")]
4710 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
4711     pub inboundRootArraySize: u32,
4712     pub inboundRootCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
4713 }
4714 #[cfg(feature = "Win32_Foundation")]
4715 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {}
4716 #[cfg(feature = "Win32_Foundation")]
4717 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_0 {
clone(&self) -> Self4718     fn clone(&self) -> Self {
4719         *self
4720     }
4721 }
4722 #[repr(C)]
4723 #[cfg(feature = "Win32_Foundation")]
4724 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
4725     pub inboundEnterpriseStoreArraySize: u32,
4726     pub inboundEnterpriseStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
4727 }
4728 #[cfg(feature = "Win32_Foundation")]
4729 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {}
4730 #[cfg(feature = "Win32_Foundation")]
4731 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_1 {
clone(&self) -> Self4732     fn clone(&self) -> Self {
4733         *self
4734     }
4735 }
4736 #[repr(C)]
4737 #[cfg(feature = "Win32_Foundation")]
4738 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
4739     pub inboundRootStoreArraySize: u32,
4740     pub inboundTrustedRootStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
4741 }
4742 #[cfg(feature = "Win32_Foundation")]
4743 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {}
4744 #[cfg(feature = "Win32_Foundation")]
4745 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_0_2 {
clone(&self) -> Self4746     fn clone(&self) -> Self {
4747         *self
4748     }
4749 }
4750 #[repr(C)]
4751 #[cfg(feature = "Win32_Foundation")]
4752 pub union IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {
4753     pub Anonymous1: IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0,
4754     pub Anonymous2: IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1,
4755     pub Anonymous3: IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2,
4756 }
4757 #[cfg(feature = "Win32_Foundation")]
4758 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {}
4759 #[cfg(feature = "Win32_Foundation")]
4760 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_1 {
clone(&self) -> Self4761     fn clone(&self) -> Self {
4762         *self
4763     }
4764 }
4765 #[repr(C)]
4766 #[cfg(feature = "Win32_Foundation")]
4767 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
4768     pub outboundRootArraySize: u32,
4769     pub outboundRootCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
4770 }
4771 #[cfg(feature = "Win32_Foundation")]
4772 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {}
4773 #[cfg(feature = "Win32_Foundation")]
4774 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_0 {
clone(&self) -> Self4775     fn clone(&self) -> Self {
4776         *self
4777     }
4778 }
4779 #[repr(C)]
4780 #[cfg(feature = "Win32_Foundation")]
4781 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
4782     pub outboundEnterpriseStoreArraySize: u32,
4783     pub outboundEnterpriseStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
4784 }
4785 #[cfg(feature = "Win32_Foundation")]
4786 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {}
4787 #[cfg(feature = "Win32_Foundation")]
4788 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_1 {
clone(&self) -> Self4789     fn clone(&self) -> Self {
4790         *self
4791     }
4792 }
4793 #[repr(C)]
4794 #[cfg(feature = "Win32_Foundation")]
4795 pub struct IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
4796     pub outboundRootStoreArraySize: u32,
4797     pub outboundTrustedRootStoreCriteria: *mut IKEEXT_CERTIFICATE_CRITERIA0,
4798 }
4799 #[cfg(feature = "Win32_Foundation")]
4800 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {}
4801 #[cfg(feature = "Win32_Foundation")]
4802 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_AUTHENTICATION2_1_2 {
clone(&self) -> Self4803     fn clone(&self) -> Self {
4804         *self
4805     }
4806 }
4807 #[repr(C)]
4808 pub struct IKEEXT_CERTIFICATE_CREDENTIAL0 {
4809     pub subjectName: FWP_BYTE_BLOB,
4810     pub certHash: FWP_BYTE_BLOB,
4811     pub flags: u32,
4812 }
4813 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_CREDENTIAL0 {}
4814 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_CREDENTIAL0 {
clone(&self) -> Self4815     fn clone(&self) -> Self {
4816         *self
4817     }
4818 }
4819 #[repr(C)]
4820 pub struct IKEEXT_CERTIFICATE_CREDENTIAL1 {
4821     pub subjectName: FWP_BYTE_BLOB,
4822     pub certHash: FWP_BYTE_BLOB,
4823     pub flags: u32,
4824     pub certificate: FWP_BYTE_BLOB,
4825 }
4826 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_CREDENTIAL1 {}
4827 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_CREDENTIAL1 {
clone(&self) -> Self4828     fn clone(&self) -> Self {
4829         *self
4830     }
4831 }
4832 #[repr(C)]
4833 #[cfg(feature = "Win32_Foundation")]
4834 pub struct IKEEXT_CERTIFICATE_CRITERIA0 {
4835     pub certData: FWP_BYTE_BLOB,
4836     pub certHash: FWP_BYTE_BLOB,
4837     pub eku: *mut IKEEXT_CERT_EKUS0,
4838     pub name: *mut IKEEXT_CERT_NAME0,
4839     pub flags: u32,
4840 }
4841 #[cfg(feature = "Win32_Foundation")]
4842 impl ::core::marker::Copy for IKEEXT_CERTIFICATE_CRITERIA0 {}
4843 #[cfg(feature = "Win32_Foundation")]
4844 impl ::core::clone::Clone for IKEEXT_CERTIFICATE_CRITERIA0 {
clone(&self) -> Self4845     fn clone(&self) -> Self {
4846         *self
4847     }
4848 }
4849 pub type IKEEXT_CERT_AUTH = u32;
4850 pub const IKEEXT_CERT_AUTH_FLAG_SSL_ONE_WAY: IKEEXT_CERT_AUTH = 1u32;
4851 pub const IKEEXT_CERT_AUTH_ENABLE_CRL_CHECK_STRONG: IKEEXT_CERT_AUTH = 4u32;
4852 pub const IKEEXT_CERT_AUTH_DISABLE_SSL_CERT_VALIDATION: IKEEXT_CERT_AUTH = 8u32;
4853 pub const IKEEXT_CERT_AUTH_ALLOW_HTTP_CERT_LOOKUP: IKEEXT_CERT_AUTH = 16u32;
4854 pub const IKEEXT_CERT_AUTH_URL_CONTAINS_BUNDLE: IKEEXT_CERT_AUTH = 32u32;
4855 pub const IKEEXT_CERT_AUTH_FLAG_DISABLE_CRL_CHECK: u32 = 2u32;
4856 pub const IKEEXT_CERT_AUTH_FLAG_DISABLE_REQUEST_PAYLOAD: u32 = 64u32;
4857 pub type IKEEXT_CERT_CONFIG_TYPE = i32;
4858 pub const IKEEXT_CERT_CONFIG_EXPLICIT_TRUST_LIST: IKEEXT_CERT_CONFIG_TYPE = 0i32;
4859 pub const IKEEXT_CERT_CONFIG_ENTERPRISE_STORE: IKEEXT_CERT_CONFIG_TYPE = 1i32;
4860 pub const IKEEXT_CERT_CONFIG_TRUSTED_ROOT_STORE: IKEEXT_CERT_CONFIG_TYPE = 2i32;
4861 pub const IKEEXT_CERT_CONFIG_UNSPECIFIED: IKEEXT_CERT_CONFIG_TYPE = 3i32;
4862 pub const IKEEXT_CERT_CONFIG_TYPE_MAX: IKEEXT_CERT_CONFIG_TYPE = 4i32;
4863 pub const IKEEXT_CERT_CREDENTIAL_FLAG_NAP_CERT: u32 = 1u32;
4864 pub type IKEEXT_CERT_CRITERIA_NAME_TYPE = i32;
4865 pub const IKEEXT_CERT_CRITERIA_DNS: IKEEXT_CERT_CRITERIA_NAME_TYPE = 0i32;
4866 pub const IKEEXT_CERT_CRITERIA_UPN: IKEEXT_CERT_CRITERIA_NAME_TYPE = 1i32;
4867 pub const IKEEXT_CERT_CRITERIA_RFC822: IKEEXT_CERT_CRITERIA_NAME_TYPE = 2i32;
4868 pub const IKEEXT_CERT_CRITERIA_CN: IKEEXT_CERT_CRITERIA_NAME_TYPE = 3i32;
4869 pub const IKEEXT_CERT_CRITERIA_OU: IKEEXT_CERT_CRITERIA_NAME_TYPE = 4i32;
4870 pub const IKEEXT_CERT_CRITERIA_O: IKEEXT_CERT_CRITERIA_NAME_TYPE = 5i32;
4871 pub const IKEEXT_CERT_CRITERIA_DC: IKEEXT_CERT_CRITERIA_NAME_TYPE = 6i32;
4872 pub const IKEEXT_CERT_CRITERIA_NAME_TYPE_MAX: IKEEXT_CERT_CRITERIA_NAME_TYPE = 7i32;
4873 #[repr(C)]
4874 #[cfg(feature = "Win32_Foundation")]
4875 pub struct IKEEXT_CERT_EKUS0 {
4876     pub numEku: u32,
4877     pub eku: *mut super::super::Foundation::PSTR,
4878 }
4879 #[cfg(feature = "Win32_Foundation")]
4880 impl ::core::marker::Copy for IKEEXT_CERT_EKUS0 {}
4881 #[cfg(feature = "Win32_Foundation")]
4882 impl ::core::clone::Clone for IKEEXT_CERT_EKUS0 {
clone(&self) -> Self4883     fn clone(&self) -> Self {
4884         *self
4885     }
4886 }
4887 pub type IKEEXT_CERT_FLAGS = u32;
4888 pub const IKEEXT_CERT_FLAG_ENABLE_ACCOUNT_MAPPING: IKEEXT_CERT_FLAGS = 1u32;
4889 pub const IKEEXT_CERT_FLAG_DISABLE_REQUEST_PAYLOAD: IKEEXT_CERT_FLAGS = 2u32;
4890 pub const IKEEXT_CERT_FLAG_USE_NAP_CERTIFICATE: IKEEXT_CERT_FLAGS = 4u32;
4891 pub const IKEEXT_CERT_FLAG_INTERMEDIATE_CA: IKEEXT_CERT_FLAGS = 8u32;
4892 pub const IKEEXT_CERT_FLAG_IGNORE_INIT_CERT_MAP_FAILURE: IKEEXT_CERT_FLAGS = 16u32;
4893 pub const IKEEXT_CERT_FLAG_PREFER_NAP_CERTIFICATE_OUTBOUND: IKEEXT_CERT_FLAGS = 32u32;
4894 pub const IKEEXT_CERT_FLAG_SELECT_NAP_CERTIFICATE: IKEEXT_CERT_FLAGS = 64u32;
4895 pub const IKEEXT_CERT_FLAG_VERIFY_NAP_CERTIFICATE: IKEEXT_CERT_FLAGS = 128u32;
4896 pub const IKEEXT_CERT_FLAG_FOLLOW_RENEWAL_CERTIFICATE: IKEEXT_CERT_FLAGS = 256u32;
4897 pub const IKEEXT_CERT_HASH_LEN: u32 = 20u32;
4898 #[repr(C)]
4899 #[cfg(feature = "Win32_Foundation")]
4900 pub struct IKEEXT_CERT_NAME0 {
4901     pub nameType: IKEEXT_CERT_CRITERIA_NAME_TYPE,
4902     pub certName: super::super::Foundation::PWSTR,
4903 }
4904 #[cfg(feature = "Win32_Foundation")]
4905 impl ::core::marker::Copy for IKEEXT_CERT_NAME0 {}
4906 #[cfg(feature = "Win32_Foundation")]
4907 impl ::core::clone::Clone for IKEEXT_CERT_NAME0 {
clone(&self) -> Self4908     fn clone(&self) -> Self {
4909         *self
4910     }
4911 }
4912 #[repr(C)]
4913 pub struct IKEEXT_CERT_ROOT_CONFIG0 {
4914     pub certData: FWP_BYTE_BLOB,
4915     pub flags: IKEEXT_CERT_FLAGS,
4916 }
4917 impl ::core::marker::Copy for IKEEXT_CERT_ROOT_CONFIG0 {}
4918 impl ::core::clone::Clone for IKEEXT_CERT_ROOT_CONFIG0 {
clone(&self) -> Self4919     fn clone(&self) -> Self {
4920         *self
4921     }
4922 }
4923 #[repr(C)]
4924 pub struct IKEEXT_CIPHER_ALGORITHM0 {
4925     pub algoIdentifier: IKEEXT_CIPHER_TYPE,
4926     pub keyLen: u32,
4927     pub rounds: u32,
4928 }
4929 impl ::core::marker::Copy for IKEEXT_CIPHER_ALGORITHM0 {}
4930 impl ::core::clone::Clone for IKEEXT_CIPHER_ALGORITHM0 {
clone(&self) -> Self4931     fn clone(&self) -> Self {
4932         *self
4933     }
4934 }
4935 pub type IKEEXT_CIPHER_TYPE = i32;
4936 pub const IKEEXT_CIPHER_DES: IKEEXT_CIPHER_TYPE = 0i32;
4937 pub const IKEEXT_CIPHER_3DES: IKEEXT_CIPHER_TYPE = 1i32;
4938 pub const IKEEXT_CIPHER_AES_128: IKEEXT_CIPHER_TYPE = 2i32;
4939 pub const IKEEXT_CIPHER_AES_192: IKEEXT_CIPHER_TYPE = 3i32;
4940 pub const IKEEXT_CIPHER_AES_256: IKEEXT_CIPHER_TYPE = 4i32;
4941 pub const IKEEXT_CIPHER_AES_GCM_128_16ICV: IKEEXT_CIPHER_TYPE = 5i32;
4942 pub const IKEEXT_CIPHER_AES_GCM_256_16ICV: IKEEXT_CIPHER_TYPE = 6i32;
4943 pub const IKEEXT_CIPHER_TYPE_MAX: IKEEXT_CIPHER_TYPE = 7i32;
4944 #[repr(C)]
4945 pub struct IKEEXT_COMMON_STATISTICS0 {
4946     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0,
4947     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0,
4948     pub totalPacketsReceived: u32,
4949     pub totalInvalidPacketsReceived: u32,
4950     pub currentQueuedWorkitems: u32,
4951 }
4952 impl ::core::marker::Copy for IKEEXT_COMMON_STATISTICS0 {}
4953 impl ::core::clone::Clone for IKEEXT_COMMON_STATISTICS0 {
clone(&self) -> Self4954     fn clone(&self) -> Self {
4955         *self
4956     }
4957 }
4958 #[repr(C)]
4959 pub struct IKEEXT_COMMON_STATISTICS1 {
4960     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
4961     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1,
4962     pub totalPacketsReceived: u32,
4963     pub totalInvalidPacketsReceived: u32,
4964     pub currentQueuedWorkitems: u32,
4965 }
4966 impl ::core::marker::Copy for IKEEXT_COMMON_STATISTICS1 {}
4967 impl ::core::clone::Clone for IKEEXT_COMMON_STATISTICS1 {
clone(&self) -> Self4968     fn clone(&self) -> Self {
4969         *self
4970     }
4971 }
4972 #[repr(C)]
4973 pub struct IKEEXT_COOKIE_PAIR0 {
4974     pub initiator: u64,
4975     pub responder: u64,
4976 }
4977 impl ::core::marker::Copy for IKEEXT_COOKIE_PAIR0 {}
4978 impl ::core::clone::Clone for IKEEXT_COOKIE_PAIR0 {
clone(&self) -> Self4979     fn clone(&self) -> Self {
4980         *self
4981     }
4982 }
4983 #[repr(C)]
4984 #[cfg(feature = "Win32_Foundation")]
4985 pub struct IKEEXT_CREDENTIAL0 {
4986     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
4987     pub impersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
4988     pub Anonymous: IKEEXT_CREDENTIAL0_0,
4989 }
4990 #[cfg(feature = "Win32_Foundation")]
4991 impl ::core::marker::Copy for IKEEXT_CREDENTIAL0 {}
4992 #[cfg(feature = "Win32_Foundation")]
4993 impl ::core::clone::Clone for IKEEXT_CREDENTIAL0 {
clone(&self) -> Self4994     fn clone(&self) -> Self {
4995         *self
4996     }
4997 }
4998 #[repr(C)]
4999 #[cfg(feature = "Win32_Foundation")]
5000 pub union IKEEXT_CREDENTIAL0_0 {
5001     pub presharedKey: *mut IKEEXT_PRESHARED_KEY_AUTHENTICATION0,
5002     pub certificate: *mut IKEEXT_CERTIFICATE_CREDENTIAL0,
5003     pub name: *mut IKEEXT_NAME_CREDENTIAL0,
5004 }
5005 #[cfg(feature = "Win32_Foundation")]
5006 impl ::core::marker::Copy for IKEEXT_CREDENTIAL0_0 {}
5007 #[cfg(feature = "Win32_Foundation")]
5008 impl ::core::clone::Clone for IKEEXT_CREDENTIAL0_0 {
clone(&self) -> Self5009     fn clone(&self) -> Self {
5010         *self
5011     }
5012 }
5013 #[repr(C)]
5014 #[cfg(feature = "Win32_Foundation")]
5015 pub struct IKEEXT_CREDENTIAL1 {
5016     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
5017     pub impersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5018     pub Anonymous: IKEEXT_CREDENTIAL1_0,
5019 }
5020 #[cfg(feature = "Win32_Foundation")]
5021 impl ::core::marker::Copy for IKEEXT_CREDENTIAL1 {}
5022 #[cfg(feature = "Win32_Foundation")]
5023 impl ::core::clone::Clone for IKEEXT_CREDENTIAL1 {
clone(&self) -> Self5024     fn clone(&self) -> Self {
5025         *self
5026     }
5027 }
5028 #[repr(C)]
5029 #[cfg(feature = "Win32_Foundation")]
5030 pub union IKEEXT_CREDENTIAL1_0 {
5031     pub presharedKey: *mut IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
5032     pub certificate: *mut IKEEXT_CERTIFICATE_CREDENTIAL1,
5033     pub name: *mut IKEEXT_NAME_CREDENTIAL0,
5034 }
5035 #[cfg(feature = "Win32_Foundation")]
5036 impl ::core::marker::Copy for IKEEXT_CREDENTIAL1_0 {}
5037 #[cfg(feature = "Win32_Foundation")]
5038 impl ::core::clone::Clone for IKEEXT_CREDENTIAL1_0 {
clone(&self) -> Self5039     fn clone(&self) -> Self {
5040         *self
5041     }
5042 }
5043 #[repr(C)]
5044 #[cfg(feature = "Win32_Foundation")]
5045 pub struct IKEEXT_CREDENTIAL2 {
5046     pub authenticationMethodType: IKEEXT_AUTHENTICATION_METHOD_TYPE,
5047     pub impersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5048     pub Anonymous: IKEEXT_CREDENTIAL2_0,
5049 }
5050 #[cfg(feature = "Win32_Foundation")]
5051 impl ::core::marker::Copy for IKEEXT_CREDENTIAL2 {}
5052 #[cfg(feature = "Win32_Foundation")]
5053 impl ::core::clone::Clone for IKEEXT_CREDENTIAL2 {
clone(&self) -> Self5054     fn clone(&self) -> Self {
5055         *self
5056     }
5057 }
5058 #[repr(C)]
5059 #[cfg(feature = "Win32_Foundation")]
5060 pub union IKEEXT_CREDENTIAL2_0 {
5061     pub presharedKey: *mut IKEEXT_PRESHARED_KEY_AUTHENTICATION1,
5062     pub certificate: *mut IKEEXT_CERTIFICATE_CREDENTIAL1,
5063     pub name: *mut IKEEXT_NAME_CREDENTIAL0,
5064 }
5065 #[cfg(feature = "Win32_Foundation")]
5066 impl ::core::marker::Copy for IKEEXT_CREDENTIAL2_0 {}
5067 #[cfg(feature = "Win32_Foundation")]
5068 impl ::core::clone::Clone for IKEEXT_CREDENTIAL2_0 {
clone(&self) -> Self5069     fn clone(&self) -> Self {
5070         *self
5071     }
5072 }
5073 #[repr(C)]
5074 #[cfg(feature = "Win32_Foundation")]
5075 pub struct IKEEXT_CREDENTIALS0 {
5076     pub numCredentials: u32,
5077     pub credentials: *mut IKEEXT_CREDENTIAL_PAIR0,
5078 }
5079 #[cfg(feature = "Win32_Foundation")]
5080 impl ::core::marker::Copy for IKEEXT_CREDENTIALS0 {}
5081 #[cfg(feature = "Win32_Foundation")]
5082 impl ::core::clone::Clone for IKEEXT_CREDENTIALS0 {
clone(&self) -> Self5083     fn clone(&self) -> Self {
5084         *self
5085     }
5086 }
5087 #[repr(C)]
5088 #[cfg(feature = "Win32_Foundation")]
5089 pub struct IKEEXT_CREDENTIALS1 {
5090     pub numCredentials: u32,
5091     pub credentials: *mut IKEEXT_CREDENTIAL_PAIR1,
5092 }
5093 #[cfg(feature = "Win32_Foundation")]
5094 impl ::core::marker::Copy for IKEEXT_CREDENTIALS1 {}
5095 #[cfg(feature = "Win32_Foundation")]
5096 impl ::core::clone::Clone for IKEEXT_CREDENTIALS1 {
clone(&self) -> Self5097     fn clone(&self) -> Self {
5098         *self
5099     }
5100 }
5101 #[repr(C)]
5102 #[cfg(feature = "Win32_Foundation")]
5103 pub struct IKEEXT_CREDENTIALS2 {
5104     pub numCredentials: u32,
5105     pub credentials: *mut IKEEXT_CREDENTIAL_PAIR2,
5106 }
5107 #[cfg(feature = "Win32_Foundation")]
5108 impl ::core::marker::Copy for IKEEXT_CREDENTIALS2 {}
5109 #[cfg(feature = "Win32_Foundation")]
5110 impl ::core::clone::Clone for IKEEXT_CREDENTIALS2 {
clone(&self) -> Self5111     fn clone(&self) -> Self {
5112         *self
5113     }
5114 }
5115 #[repr(C)]
5116 #[cfg(feature = "Win32_Foundation")]
5117 pub struct IKEEXT_CREDENTIAL_PAIR0 {
5118     pub localCredentials: IKEEXT_CREDENTIAL0,
5119     pub peerCredentials: IKEEXT_CREDENTIAL0,
5120 }
5121 #[cfg(feature = "Win32_Foundation")]
5122 impl ::core::marker::Copy for IKEEXT_CREDENTIAL_PAIR0 {}
5123 #[cfg(feature = "Win32_Foundation")]
5124 impl ::core::clone::Clone for IKEEXT_CREDENTIAL_PAIR0 {
clone(&self) -> Self5125     fn clone(&self) -> Self {
5126         *self
5127     }
5128 }
5129 #[repr(C)]
5130 #[cfg(feature = "Win32_Foundation")]
5131 pub struct IKEEXT_CREDENTIAL_PAIR1 {
5132     pub localCredentials: IKEEXT_CREDENTIAL1,
5133     pub peerCredentials: IKEEXT_CREDENTIAL1,
5134 }
5135 #[cfg(feature = "Win32_Foundation")]
5136 impl ::core::marker::Copy for IKEEXT_CREDENTIAL_PAIR1 {}
5137 #[cfg(feature = "Win32_Foundation")]
5138 impl ::core::clone::Clone for IKEEXT_CREDENTIAL_PAIR1 {
clone(&self) -> Self5139     fn clone(&self) -> Self {
5140         *self
5141     }
5142 }
5143 #[repr(C)]
5144 #[cfg(feature = "Win32_Foundation")]
5145 pub struct IKEEXT_CREDENTIAL_PAIR2 {
5146     pub localCredentials: IKEEXT_CREDENTIAL2,
5147     pub peerCredentials: IKEEXT_CREDENTIAL2,
5148 }
5149 #[cfg(feature = "Win32_Foundation")]
5150 impl ::core::marker::Copy for IKEEXT_CREDENTIAL_PAIR2 {}
5151 #[cfg(feature = "Win32_Foundation")]
5152 impl ::core::clone::Clone for IKEEXT_CREDENTIAL_PAIR2 {
clone(&self) -> Self5153     fn clone(&self) -> Self {
5154         *self
5155     }
5156 }
5157 pub type IKEEXT_DH_GROUP = i32;
5158 pub const IKEEXT_DH_GROUP_NONE: IKEEXT_DH_GROUP = 0i32;
5159 pub const IKEEXT_DH_GROUP_1: IKEEXT_DH_GROUP = 1i32;
5160 pub const IKEEXT_DH_GROUP_2: IKEEXT_DH_GROUP = 2i32;
5161 pub const IKEEXT_DH_GROUP_14: IKEEXT_DH_GROUP = 3i32;
5162 pub const IKEEXT_DH_GROUP_2048: IKEEXT_DH_GROUP = 3i32;
5163 pub const IKEEXT_DH_ECP_256: IKEEXT_DH_GROUP = 4i32;
5164 pub const IKEEXT_DH_ECP_384: IKEEXT_DH_GROUP = 5i32;
5165 pub const IKEEXT_DH_GROUP_24: IKEEXT_DH_GROUP = 6i32;
5166 pub const IKEEXT_DH_GROUP_MAX: IKEEXT_DH_GROUP = 7i32;
5167 #[repr(C)]
5168 pub struct IKEEXT_EAP_AUTHENTICATION0 {
5169     pub flags: IKEEXT_EAP_AUTHENTICATION_FLAGS,
5170 }
5171 impl ::core::marker::Copy for IKEEXT_EAP_AUTHENTICATION0 {}
5172 impl ::core::clone::Clone for IKEEXT_EAP_AUTHENTICATION0 {
clone(&self) -> Self5173     fn clone(&self) -> Self {
5174         *self
5175     }
5176 }
5177 pub type IKEEXT_EAP_AUTHENTICATION_FLAGS = u32;
5178 pub const IKEEXT_EAP_FLAG_LOCAL_AUTH_ONLY: IKEEXT_EAP_AUTHENTICATION_FLAGS = 1u32;
5179 pub const IKEEXT_EAP_FLAG_REMOTE_AUTH_ONLY: IKEEXT_EAP_AUTHENTICATION_FLAGS = 2u32;
5180 #[repr(C)]
5181 #[cfg(feature = "Win32_Foundation")]
5182 pub struct IKEEXT_EM_POLICY0 {
5183     pub numAuthenticationMethods: u32,
5184     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD0,
5185     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5186 }
5187 #[cfg(feature = "Win32_Foundation")]
5188 impl ::core::marker::Copy for IKEEXT_EM_POLICY0 {}
5189 #[cfg(feature = "Win32_Foundation")]
5190 impl ::core::clone::Clone for IKEEXT_EM_POLICY0 {
clone(&self) -> Self5191     fn clone(&self) -> Self {
5192         *self
5193     }
5194 }
5195 #[repr(C)]
5196 #[cfg(feature = "Win32_Foundation")]
5197 pub struct IKEEXT_EM_POLICY1 {
5198     pub numAuthenticationMethods: u32,
5199     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD1,
5200     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5201 }
5202 #[cfg(feature = "Win32_Foundation")]
5203 impl ::core::marker::Copy for IKEEXT_EM_POLICY1 {}
5204 #[cfg(feature = "Win32_Foundation")]
5205 impl ::core::clone::Clone for IKEEXT_EM_POLICY1 {
clone(&self) -> Self5206     fn clone(&self) -> Self {
5207         *self
5208     }
5209 }
5210 #[repr(C)]
5211 #[cfg(feature = "Win32_Foundation")]
5212 pub struct IKEEXT_EM_POLICY2 {
5213     pub numAuthenticationMethods: u32,
5214     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD2,
5215     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5216 }
5217 #[cfg(feature = "Win32_Foundation")]
5218 impl ::core::marker::Copy for IKEEXT_EM_POLICY2 {}
5219 #[cfg(feature = "Win32_Foundation")]
5220 impl ::core::clone::Clone for IKEEXT_EM_POLICY2 {
clone(&self) -> Self5221     fn clone(&self) -> Self {
5222         *self
5223     }
5224 }
5225 pub type IKEEXT_EM_SA_STATE = i32;
5226 pub const IKEEXT_EM_SA_STATE_NONE: IKEEXT_EM_SA_STATE = 0i32;
5227 pub const IKEEXT_EM_SA_STATE_SENT_ATTS: IKEEXT_EM_SA_STATE = 1i32;
5228 pub const IKEEXT_EM_SA_STATE_SSPI_SENT: IKEEXT_EM_SA_STATE = 2i32;
5229 pub const IKEEXT_EM_SA_STATE_AUTH_COMPLETE: IKEEXT_EM_SA_STATE = 3i32;
5230 pub const IKEEXT_EM_SA_STATE_FINAL: IKEEXT_EM_SA_STATE = 4i32;
5231 pub const IKEEXT_EM_SA_STATE_COMPLETE: IKEEXT_EM_SA_STATE = 5i32;
5232 pub const IKEEXT_EM_SA_STATE_MAX: IKEEXT_EM_SA_STATE = 6i32;
5233 #[repr(C)]
5234 pub struct IKEEXT_INTEGRITY_ALGORITHM0 {
5235     pub algoIdentifier: IKEEXT_INTEGRITY_TYPE,
5236 }
5237 impl ::core::marker::Copy for IKEEXT_INTEGRITY_ALGORITHM0 {}
5238 impl ::core::clone::Clone for IKEEXT_INTEGRITY_ALGORITHM0 {
clone(&self) -> Self5239     fn clone(&self) -> Self {
5240         *self
5241     }
5242 }
5243 pub type IKEEXT_INTEGRITY_TYPE = i32;
5244 pub const IKEEXT_INTEGRITY_MD5: IKEEXT_INTEGRITY_TYPE = 0i32;
5245 pub const IKEEXT_INTEGRITY_SHA1: IKEEXT_INTEGRITY_TYPE = 1i32;
5246 pub const IKEEXT_INTEGRITY_SHA_256: IKEEXT_INTEGRITY_TYPE = 2i32;
5247 pub const IKEEXT_INTEGRITY_SHA_384: IKEEXT_INTEGRITY_TYPE = 3i32;
5248 pub const IKEEXT_INTEGRITY_TYPE_MAX: IKEEXT_INTEGRITY_TYPE = 4i32;
5249 #[repr(C)]
5250 #[cfg(feature = "Win32_Foundation")]
5251 pub struct IKEEXT_IPV6_CGA_AUTHENTICATION0 {
5252     pub keyContainerName: super::super::Foundation::PWSTR,
5253     pub cspName: super::super::Foundation::PWSTR,
5254     pub cspType: u32,
5255     pub cgaModifier: FWP_BYTE_ARRAY16,
5256     pub cgaCollisionCount: u8,
5257 }
5258 #[cfg(feature = "Win32_Foundation")]
5259 impl ::core::marker::Copy for IKEEXT_IPV6_CGA_AUTHENTICATION0 {}
5260 #[cfg(feature = "Win32_Foundation")]
5261 impl ::core::clone::Clone for IKEEXT_IPV6_CGA_AUTHENTICATION0 {
clone(&self) -> Self5262     fn clone(&self) -> Self {
5263         *self
5264     }
5265 }
5266 #[repr(C)]
5267 pub struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
5268     pub totalSocketReceiveFailures: u32,
5269     pub totalSocketSendFailures: u32,
5270 }
5271 impl ::core::marker::Copy for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {}
5272 impl ::core::clone::Clone for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 {
clone(&self) -> Self5273     fn clone(&self) -> Self {
5274         *self
5275     }
5276 }
5277 #[repr(C)]
5278 pub struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
5279     pub totalSocketReceiveFailures: u32,
5280     pub totalSocketSendFailures: u32,
5281 }
5282 impl ::core::marker::Copy for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {}
5283 impl ::core::clone::Clone for IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 {
clone(&self) -> Self5284     fn clone(&self) -> Self {
5285         *self
5286     }
5287 }
5288 #[repr(C)]
5289 pub struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
5290     pub currentActiveMainModes: u32,
5291     pub totalMainModesStarted: u32,
5292     pub totalSuccessfulMainModes: u32,
5293     pub totalFailedMainModes: u32,
5294     pub totalResponderMainModes: u32,
5295     pub currentNewResponderMainModes: u32,
5296     pub currentActiveQuickModes: u32,
5297     pub totalQuickModesStarted: u32,
5298     pub totalSuccessfulQuickModes: u32,
5299     pub totalFailedQuickModes: u32,
5300     pub totalAcquires: u32,
5301     pub totalReinitAcquires: u32,
5302     pub currentActiveExtendedModes: u32,
5303     pub totalExtendedModesStarted: u32,
5304     pub totalSuccessfulExtendedModes: u32,
5305     pub totalFailedExtendedModes: u32,
5306     pub totalImpersonationExtendedModes: u32,
5307     pub totalImpersonationMainModes: u32,
5308 }
5309 impl ::core::marker::Copy for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {}
5310 impl ::core::clone::Clone for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 {
clone(&self) -> Self5311     fn clone(&self) -> Self {
5312         *self
5313     }
5314 }
5315 #[repr(C)]
5316 pub struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
5317     pub currentActiveMainModes: u32,
5318     pub totalMainModesStarted: u32,
5319     pub totalSuccessfulMainModes: u32,
5320     pub totalFailedMainModes: u32,
5321     pub totalResponderMainModes: u32,
5322     pub currentNewResponderMainModes: u32,
5323     pub currentActiveQuickModes: u32,
5324     pub totalQuickModesStarted: u32,
5325     pub totalSuccessfulQuickModes: u32,
5326     pub totalFailedQuickModes: u32,
5327     pub totalAcquires: u32,
5328     pub totalReinitAcquires: u32,
5329     pub currentActiveExtendedModes: u32,
5330     pub totalExtendedModesStarted: u32,
5331     pub totalSuccessfulExtendedModes: u32,
5332     pub totalFailedExtendedModes: u32,
5333     pub totalImpersonationExtendedModes: u32,
5334     pub totalImpersonationMainModes: u32,
5335 }
5336 impl ::core::marker::Copy for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {}
5337 impl ::core::clone::Clone for IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 {
clone(&self) -> Self5338     fn clone(&self) -> Self {
5339         *self
5340     }
5341 }
5342 #[repr(C)]
5343 pub struct IKEEXT_KERBEROS_AUTHENTICATION0 {
5344     pub flags: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS,
5345 }
5346 impl ::core::marker::Copy for IKEEXT_KERBEROS_AUTHENTICATION0 {}
5347 impl ::core::clone::Clone for IKEEXT_KERBEROS_AUTHENTICATION0 {
clone(&self) -> Self5348     fn clone(&self) -> Self {
5349         *self
5350     }
5351 }
5352 #[repr(C)]
5353 #[cfg(feature = "Win32_Foundation")]
5354 pub struct IKEEXT_KERBEROS_AUTHENTICATION1 {
5355     pub flags: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS,
5356     pub proxyServer: super::super::Foundation::PWSTR,
5357 }
5358 #[cfg(feature = "Win32_Foundation")]
5359 impl ::core::marker::Copy for IKEEXT_KERBEROS_AUTHENTICATION1 {}
5360 #[cfg(feature = "Win32_Foundation")]
5361 impl ::core::clone::Clone for IKEEXT_KERBEROS_AUTHENTICATION1 {
clone(&self) -> Self5362     fn clone(&self) -> Self {
5363         *self
5364     }
5365 }
5366 pub type IKEEXT_KERBEROS_AUTHENTICATION_FLAGS = u32;
5367 pub const IKEEXT_KERB_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS = 1u32;
5368 pub const IKEEXT_KERB_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS: IKEEXT_KERBEROS_AUTHENTICATION_FLAGS = 2u32;
5369 pub const IKEEXT_KERB_AUTH_FORCE_PROXY_ON_INITIATOR: u32 = 4u32;
5370 #[repr(C)]
5371 pub struct IKEEXT_KEYMODULE_STATISTICS0 {
5372     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0,
5373     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0,
5374     pub errorFrequencyTable: [u32; 97],
5375     pub mainModeNegotiationTime: u32,
5376     pub quickModeNegotiationTime: u32,
5377     pub extendedModeNegotiationTime: u32,
5378 }
5379 impl ::core::marker::Copy for IKEEXT_KEYMODULE_STATISTICS0 {}
5380 impl ::core::clone::Clone for IKEEXT_KEYMODULE_STATISTICS0 {
clone(&self) -> Self5381     fn clone(&self) -> Self {
5382         *self
5383     }
5384 }
5385 #[repr(C)]
5386 pub struct IKEEXT_KEYMODULE_STATISTICS1 {
5387     pub v4Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
5388     pub v6Statistics: IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1,
5389     pub errorFrequencyTable: [u32; 97],
5390     pub mainModeNegotiationTime: u32,
5391     pub quickModeNegotiationTime: u32,
5392     pub extendedModeNegotiationTime: u32,
5393 }
5394 impl ::core::marker::Copy for IKEEXT_KEYMODULE_STATISTICS1 {}
5395 impl ::core::clone::Clone for IKEEXT_KEYMODULE_STATISTICS1 {
clone(&self) -> Self5396     fn clone(&self) -> Self {
5397         *self
5398     }
5399 }
5400 pub type IKEEXT_KEY_MODULE_TYPE = i32;
5401 pub const IKEEXT_KEY_MODULE_IKE: IKEEXT_KEY_MODULE_TYPE = 0i32;
5402 pub const IKEEXT_KEY_MODULE_AUTHIP: IKEEXT_KEY_MODULE_TYPE = 1i32;
5403 pub const IKEEXT_KEY_MODULE_IKEV2: IKEEXT_KEY_MODULE_TYPE = 2i32;
5404 pub const IKEEXT_KEY_MODULE_MAX: IKEEXT_KEY_MODULE_TYPE = 3i32;
5405 pub type IKEEXT_MM_SA_STATE = i32;
5406 pub const IKEEXT_MM_SA_STATE_NONE: IKEEXT_MM_SA_STATE = 0i32;
5407 pub const IKEEXT_MM_SA_STATE_SA_SENT: IKEEXT_MM_SA_STATE = 1i32;
5408 pub const IKEEXT_MM_SA_STATE_SSPI_SENT: IKEEXT_MM_SA_STATE = 2i32;
5409 pub const IKEEXT_MM_SA_STATE_FINAL: IKEEXT_MM_SA_STATE = 3i32;
5410 pub const IKEEXT_MM_SA_STATE_FINAL_SENT: IKEEXT_MM_SA_STATE = 4i32;
5411 pub const IKEEXT_MM_SA_STATE_COMPLETE: IKEEXT_MM_SA_STATE = 5i32;
5412 pub const IKEEXT_MM_SA_STATE_MAX: IKEEXT_MM_SA_STATE = 6i32;
5413 #[repr(C)]
5414 #[cfg(feature = "Win32_Foundation")]
5415 pub struct IKEEXT_NAME_CREDENTIAL0 {
5416     pub principalName: super::super::Foundation::PWSTR,
5417 }
5418 #[cfg(feature = "Win32_Foundation")]
5419 impl ::core::marker::Copy for IKEEXT_NAME_CREDENTIAL0 {}
5420 #[cfg(feature = "Win32_Foundation")]
5421 impl ::core::clone::Clone for IKEEXT_NAME_CREDENTIAL0 {
clone(&self) -> Self5422     fn clone(&self) -> Self {
5423         *self
5424     }
5425 }
5426 #[repr(C)]
5427 pub struct IKEEXT_NTLM_V2_AUTHENTICATION0 {
5428     pub flags: u32,
5429 }
5430 impl ::core::marker::Copy for IKEEXT_NTLM_V2_AUTHENTICATION0 {}
5431 impl ::core::clone::Clone for IKEEXT_NTLM_V2_AUTHENTICATION0 {
clone(&self) -> Self5432     fn clone(&self) -> Self {
5433         *self
5434     }
5435 }
5436 pub const IKEEXT_NTLM_V2_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS: u32 = 1u32;
5437 #[repr(C)]
5438 #[cfg(feature = "Win32_Foundation")]
5439 pub struct IKEEXT_POLICY0 {
5440     pub softExpirationTime: u32,
5441     pub numAuthenticationMethods: u32,
5442     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD0,
5443     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5444     pub numIkeProposals: u32,
5445     pub ikeProposals: *mut IKEEXT_PROPOSAL0,
5446     pub flags: IKEEXT_POLICY_FLAG,
5447     pub maxDynamicFilters: u32,
5448 }
5449 #[cfg(feature = "Win32_Foundation")]
5450 impl ::core::marker::Copy for IKEEXT_POLICY0 {}
5451 #[cfg(feature = "Win32_Foundation")]
5452 impl ::core::clone::Clone for IKEEXT_POLICY0 {
clone(&self) -> Self5453     fn clone(&self) -> Self {
5454         *self
5455     }
5456 }
5457 #[repr(C)]
5458 #[cfg(feature = "Win32_Foundation")]
5459 pub struct IKEEXT_POLICY1 {
5460     pub softExpirationTime: u32,
5461     pub numAuthenticationMethods: u32,
5462     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD1,
5463     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5464     pub numIkeProposals: u32,
5465     pub ikeProposals: *mut IKEEXT_PROPOSAL0,
5466     pub flags: IKEEXT_POLICY_FLAG,
5467     pub maxDynamicFilters: u32,
5468     pub retransmitDurationSecs: u32,
5469 }
5470 #[cfg(feature = "Win32_Foundation")]
5471 impl ::core::marker::Copy for IKEEXT_POLICY1 {}
5472 #[cfg(feature = "Win32_Foundation")]
5473 impl ::core::clone::Clone for IKEEXT_POLICY1 {
clone(&self) -> Self5474     fn clone(&self) -> Self {
5475         *self
5476     }
5477 }
5478 #[repr(C)]
5479 #[cfg(feature = "Win32_Foundation")]
5480 pub struct IKEEXT_POLICY2 {
5481     pub softExpirationTime: u32,
5482     pub numAuthenticationMethods: u32,
5483     pub authenticationMethods: *mut IKEEXT_AUTHENTICATION_METHOD2,
5484     pub initiatorImpersonationType: IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE,
5485     pub numIkeProposals: u32,
5486     pub ikeProposals: *mut IKEEXT_PROPOSAL0,
5487     pub flags: IKEEXT_POLICY_FLAG,
5488     pub maxDynamicFilters: u32,
5489     pub retransmitDurationSecs: u32,
5490 }
5491 #[cfg(feature = "Win32_Foundation")]
5492 impl ::core::marker::Copy for IKEEXT_POLICY2 {}
5493 #[cfg(feature = "Win32_Foundation")]
5494 impl ::core::clone::Clone for IKEEXT_POLICY2 {
clone(&self) -> Self5495     fn clone(&self) -> Self {
5496         *self
5497     }
5498 }
5499 pub const IKEEXT_POLICY_ENABLE_IKEV2_FRAGMENTATION: u32 = 128u32;
5500 pub type IKEEXT_POLICY_FLAG = u32;
5501 pub const IKEEXT_POLICY_FLAG_DISABLE_DIAGNOSTICS: IKEEXT_POLICY_FLAG = 1u32;
5502 pub const IKEEXT_POLICY_FLAG_NO_MACHINE_LUID_VERIFY: IKEEXT_POLICY_FLAG = 2u32;
5503 pub const IKEEXT_POLICY_FLAG_NO_IMPERSONATION_LUID_VERIFY: IKEEXT_POLICY_FLAG = 4u32;
5504 pub const IKEEXT_POLICY_FLAG_ENABLE_OPTIONAL_DH: IKEEXT_POLICY_FLAG = 8u32;
5505 pub const IKEEXT_POLICY_FLAG_IMS_VPN: u32 = 64u32;
5506 pub const IKEEXT_POLICY_FLAG_MOBIKE_NOT_SUPPORTED: u32 = 16u32;
5507 pub const IKEEXT_POLICY_FLAG_SITE_TO_SITE: u32 = 32u32;
5508 pub const IKEEXT_POLICY_SUPPORT_LOW_POWER_MODE: u32 = 256u32;
5509 #[repr(C)]
5510 pub struct IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
5511     pub presharedKey: FWP_BYTE_BLOB,
5512 }
5513 impl ::core::marker::Copy for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {}
5514 impl ::core::clone::Clone for IKEEXT_PRESHARED_KEY_AUTHENTICATION0 {
clone(&self) -> Self5515     fn clone(&self) -> Self {
5516         *self
5517     }
5518 }
5519 #[repr(C)]
5520 pub struct IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
5521     pub presharedKey: FWP_BYTE_BLOB,
5522     pub flags: IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS,
5523 }
5524 impl ::core::marker::Copy for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {}
5525 impl ::core::clone::Clone for IKEEXT_PRESHARED_KEY_AUTHENTICATION1 {
clone(&self) -> Self5526     fn clone(&self) -> Self {
5527         *self
5528     }
5529 }
5530 pub type IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS = u32;
5531 pub const IKEEXT_PSK_FLAG_LOCAL_AUTH_ONLY: IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS = 1u32;
5532 pub const IKEEXT_PSK_FLAG_REMOTE_AUTH_ONLY: IKEEXT_PRESHARED_KEY_AUTHENTICATION_FLAGS = 2u32;
5533 #[repr(C)]
5534 pub struct IKEEXT_PROPOSAL0 {
5535     pub cipherAlgorithm: IKEEXT_CIPHER_ALGORITHM0,
5536     pub integrityAlgorithm: IKEEXT_INTEGRITY_ALGORITHM0,
5537     pub maxLifetimeSeconds: u32,
5538     pub dhGroup: IKEEXT_DH_GROUP,
5539     pub quickModeLimit: u32,
5540 }
5541 impl ::core::marker::Copy for IKEEXT_PROPOSAL0 {}
5542 impl ::core::clone::Clone for IKEEXT_PROPOSAL0 {
clone(&self) -> Self5543     fn clone(&self) -> Self {
5544         *self
5545     }
5546 }
5547 pub type IKEEXT_QM_SA_STATE = i32;
5548 pub const IKEEXT_QM_SA_STATE_NONE: IKEEXT_QM_SA_STATE = 0i32;
5549 pub const IKEEXT_QM_SA_STATE_INITIAL: IKEEXT_QM_SA_STATE = 1i32;
5550 pub const IKEEXT_QM_SA_STATE_FINAL: IKEEXT_QM_SA_STATE = 2i32;
5551 pub const IKEEXT_QM_SA_STATE_COMPLETE: IKEEXT_QM_SA_STATE = 3i32;
5552 pub const IKEEXT_QM_SA_STATE_MAX: IKEEXT_QM_SA_STATE = 4i32;
5553 #[repr(C)]
5554 pub struct IKEEXT_RESERVED_AUTHENTICATION0 {
5555     pub flags: IKEEXT_RESERVED_AUTHENTICATION_FLAGS,
5556 }
5557 impl ::core::marker::Copy for IKEEXT_RESERVED_AUTHENTICATION0 {}
5558 impl ::core::clone::Clone for IKEEXT_RESERVED_AUTHENTICATION0 {
clone(&self) -> Self5559     fn clone(&self) -> Self {
5560         *self
5561     }
5562 }
5563 pub type IKEEXT_RESERVED_AUTHENTICATION_FLAGS = u32;
5564 pub const IKEEXT_RESERVED_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION: IKEEXT_RESERVED_AUTHENTICATION_FLAGS = 1u32;
5565 #[repr(C)]
5566 #[cfg(feature = "Win32_Foundation")]
5567 pub struct IKEEXT_SA_DETAILS0 {
5568     pub saId: u64,
5569     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
5570     pub ipVersion: FWP_IP_VERSION,
5571     pub Anonymous: IKEEXT_SA_DETAILS0_0,
5572     pub ikeTraffic: IKEEXT_TRAFFIC0,
5573     pub ikeProposal: IKEEXT_PROPOSAL0,
5574     pub cookiePair: IKEEXT_COOKIE_PAIR0,
5575     pub ikeCredentials: IKEEXT_CREDENTIALS0,
5576     pub ikePolicyKey: ::windows_sys::core::GUID,
5577     pub virtualIfTunnelId: u64,
5578 }
5579 #[cfg(feature = "Win32_Foundation")]
5580 impl ::core::marker::Copy for IKEEXT_SA_DETAILS0 {}
5581 #[cfg(feature = "Win32_Foundation")]
5582 impl ::core::clone::Clone for IKEEXT_SA_DETAILS0 {
clone(&self) -> Self5583     fn clone(&self) -> Self {
5584         *self
5585     }
5586 }
5587 #[repr(C)]
5588 #[cfg(feature = "Win32_Foundation")]
5589 pub union IKEEXT_SA_DETAILS0_0 {
5590     pub v4UdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
5591 }
5592 #[cfg(feature = "Win32_Foundation")]
5593 impl ::core::marker::Copy for IKEEXT_SA_DETAILS0_0 {}
5594 #[cfg(feature = "Win32_Foundation")]
5595 impl ::core::clone::Clone for IKEEXT_SA_DETAILS0_0 {
clone(&self) -> Self5596     fn clone(&self) -> Self {
5597         *self
5598     }
5599 }
5600 #[repr(C)]
5601 #[cfg(feature = "Win32_Foundation")]
5602 pub struct IKEEXT_SA_DETAILS1 {
5603     pub saId: u64,
5604     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
5605     pub ipVersion: FWP_IP_VERSION,
5606     pub Anonymous: IKEEXT_SA_DETAILS1_0,
5607     pub ikeTraffic: IKEEXT_TRAFFIC0,
5608     pub ikeProposal: IKEEXT_PROPOSAL0,
5609     pub cookiePair: IKEEXT_COOKIE_PAIR0,
5610     pub ikeCredentials: IKEEXT_CREDENTIALS1,
5611     pub ikePolicyKey: ::windows_sys::core::GUID,
5612     pub virtualIfTunnelId: u64,
5613     pub correlationKey: FWP_BYTE_BLOB,
5614 }
5615 #[cfg(feature = "Win32_Foundation")]
5616 impl ::core::marker::Copy for IKEEXT_SA_DETAILS1 {}
5617 #[cfg(feature = "Win32_Foundation")]
5618 impl ::core::clone::Clone for IKEEXT_SA_DETAILS1 {
clone(&self) -> Self5619     fn clone(&self) -> Self {
5620         *self
5621     }
5622 }
5623 #[repr(C)]
5624 #[cfg(feature = "Win32_Foundation")]
5625 pub union IKEEXT_SA_DETAILS1_0 {
5626     pub v4UdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
5627 }
5628 #[cfg(feature = "Win32_Foundation")]
5629 impl ::core::marker::Copy for IKEEXT_SA_DETAILS1_0 {}
5630 #[cfg(feature = "Win32_Foundation")]
5631 impl ::core::clone::Clone for IKEEXT_SA_DETAILS1_0 {
clone(&self) -> Self5632     fn clone(&self) -> Self {
5633         *self
5634     }
5635 }
5636 #[repr(C)]
5637 #[cfg(feature = "Win32_Foundation")]
5638 pub struct IKEEXT_SA_DETAILS2 {
5639     pub saId: u64,
5640     pub keyModuleType: IKEEXT_KEY_MODULE_TYPE,
5641     pub ipVersion: FWP_IP_VERSION,
5642     pub Anonymous: IKEEXT_SA_DETAILS2_0,
5643     pub ikeTraffic: IKEEXT_TRAFFIC0,
5644     pub ikeProposal: IKEEXT_PROPOSAL0,
5645     pub cookiePair: IKEEXT_COOKIE_PAIR0,
5646     pub ikeCredentials: IKEEXT_CREDENTIALS2,
5647     pub ikePolicyKey: ::windows_sys::core::GUID,
5648     pub virtualIfTunnelId: u64,
5649     pub correlationKey: FWP_BYTE_BLOB,
5650 }
5651 #[cfg(feature = "Win32_Foundation")]
5652 impl ::core::marker::Copy for IKEEXT_SA_DETAILS2 {}
5653 #[cfg(feature = "Win32_Foundation")]
5654 impl ::core::clone::Clone for IKEEXT_SA_DETAILS2 {
clone(&self) -> Self5655     fn clone(&self) -> Self {
5656         *self
5657     }
5658 }
5659 #[repr(C)]
5660 #[cfg(feature = "Win32_Foundation")]
5661 pub union IKEEXT_SA_DETAILS2_0 {
5662     pub v4UdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
5663 }
5664 #[cfg(feature = "Win32_Foundation")]
5665 impl ::core::marker::Copy for IKEEXT_SA_DETAILS2_0 {}
5666 #[cfg(feature = "Win32_Foundation")]
5667 impl ::core::clone::Clone for IKEEXT_SA_DETAILS2_0 {
clone(&self) -> Self5668     fn clone(&self) -> Self {
5669         *self
5670     }
5671 }
5672 #[repr(C)]
5673 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5674 pub struct IKEEXT_SA_ENUM_TEMPLATE0 {
5675     pub localSubNet: FWP_CONDITION_VALUE0,
5676     pub remoteSubNet: FWP_CONDITION_VALUE0,
5677     pub localMainModeCertHash: FWP_BYTE_BLOB,
5678 }
5679 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5680 impl ::core::marker::Copy for IKEEXT_SA_ENUM_TEMPLATE0 {}
5681 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5682 impl ::core::clone::Clone for IKEEXT_SA_ENUM_TEMPLATE0 {
clone(&self) -> Self5683     fn clone(&self) -> Self {
5684         *self
5685     }
5686 }
5687 pub type IKEEXT_SA_ROLE = i32;
5688 pub const IKEEXT_SA_ROLE_INITIATOR: IKEEXT_SA_ROLE = 0i32;
5689 pub const IKEEXT_SA_ROLE_RESPONDER: IKEEXT_SA_ROLE = 1i32;
5690 pub const IKEEXT_SA_ROLE_MAX: IKEEXT_SA_ROLE = 2i32;
5691 #[repr(C)]
5692 pub struct IKEEXT_STATISTICS0 {
5693     pub ikeStatistics: IKEEXT_KEYMODULE_STATISTICS0,
5694     pub authipStatistics: IKEEXT_KEYMODULE_STATISTICS0,
5695     pub commonStatistics: IKEEXT_COMMON_STATISTICS0,
5696 }
5697 impl ::core::marker::Copy for IKEEXT_STATISTICS0 {}
5698 impl ::core::clone::Clone for IKEEXT_STATISTICS0 {
clone(&self) -> Self5699     fn clone(&self) -> Self {
5700         *self
5701     }
5702 }
5703 #[repr(C)]
5704 pub struct IKEEXT_STATISTICS1 {
5705     pub ikeStatistics: IKEEXT_KEYMODULE_STATISTICS1,
5706     pub authipStatistics: IKEEXT_KEYMODULE_STATISTICS1,
5707     pub ikeV2Statistics: IKEEXT_KEYMODULE_STATISTICS1,
5708     pub commonStatistics: IKEEXT_COMMON_STATISTICS1,
5709 }
5710 impl ::core::marker::Copy for IKEEXT_STATISTICS1 {}
5711 impl ::core::clone::Clone for IKEEXT_STATISTICS1 {
clone(&self) -> Self5712     fn clone(&self) -> Self {
5713         *self
5714     }
5715 }
5716 #[repr(C)]
5717 pub struct IKEEXT_TRAFFIC0 {
5718     pub ipVersion: FWP_IP_VERSION,
5719     pub Anonymous1: IKEEXT_TRAFFIC0_0,
5720     pub Anonymous2: IKEEXT_TRAFFIC0_1,
5721     pub authIpFilterId: u64,
5722 }
5723 impl ::core::marker::Copy for IKEEXT_TRAFFIC0 {}
5724 impl ::core::clone::Clone for IKEEXT_TRAFFIC0 {
clone(&self) -> Self5725     fn clone(&self) -> Self {
5726         *self
5727     }
5728 }
5729 #[repr(C)]
5730 pub union IKEEXT_TRAFFIC0_0 {
5731     pub localV4Address: u32,
5732     pub localV6Address: [u8; 16],
5733 }
5734 impl ::core::marker::Copy for IKEEXT_TRAFFIC0_0 {}
5735 impl ::core::clone::Clone for IKEEXT_TRAFFIC0_0 {
clone(&self) -> Self5736     fn clone(&self) -> Self {
5737         *self
5738     }
5739 }
5740 #[repr(C)]
5741 pub union IKEEXT_TRAFFIC0_1 {
5742     pub remoteV4Address: u32,
5743     pub remoteV6Address: [u8; 16],
5744 }
5745 impl ::core::marker::Copy for IKEEXT_TRAFFIC0_1 {}
5746 impl ::core::clone::Clone for IKEEXT_TRAFFIC0_1 {
clone(&self) -> Self5747     fn clone(&self) -> Self {
5748         *self
5749     }
5750 }
5751 pub const IN6_EMBEDDEDV4_BITS_IN_BYTE: u32 = 8u32;
5752 pub const IN6_EMBEDDEDV4_UOCTET_POSITION: u32 = 8u32;
5753 pub const IP4_OFF_MASK: u32 = 65311u32;
5754 pub const IP6F_MORE_FRAG: u32 = 256u32;
5755 pub const IP6F_OFF_MASK: u32 = 63743u32;
5756 pub const IP6F_RESERVED_MASK: u32 = 1536u32;
5757 pub const IP6OPT_MUTABLE: u32 = 32u32;
5758 pub const IP6OPT_TYPE_DISCARD: u32 = 64u32;
5759 pub const IP6OPT_TYPE_FORCEICMP: u32 = 128u32;
5760 pub const IP6OPT_TYPE_ICMP: u32 = 192u32;
5761 pub const IP6OPT_TYPE_SKIP: u32 = 0u32;
5762 #[repr(C)]
5763 pub struct IPSEC_ADDRESS_INFO0 {
5764     pub numV4Addresses: u32,
5765     pub v4Addresses: *mut u32,
5766     pub numV6Addresses: u32,
5767     pub v6Addresses: *mut FWP_BYTE_ARRAY16,
5768 }
5769 impl ::core::marker::Copy for IPSEC_ADDRESS_INFO0 {}
5770 impl ::core::clone::Clone for IPSEC_ADDRESS_INFO0 {
clone(&self) -> Self5771     fn clone(&self) -> Self {
5772         *self
5773     }
5774 }
5775 #[repr(C)]
5776 pub struct IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
5777     pub invalidSpisOnInbound: u32,
5778     pub decryptionFailuresOnInbound: u32,
5779     pub authenticationFailuresOnInbound: u32,
5780     pub udpEspValidationFailuresOnInbound: u32,
5781     pub replayCheckFailuresOnInbound: u32,
5782     pub invalidClearTextInbound: u32,
5783     pub saNotInitializedOnInbound: u32,
5784     pub receiveOverIncorrectSaInbound: u32,
5785     pub secureReceivesNotMatchingFilters: u32,
5786 }
5787 impl ::core::marker::Copy for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {}
5788 impl ::core::clone::Clone for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0 {
clone(&self) -> Self5789     fn clone(&self) -> Self {
5790         *self
5791     }
5792 }
5793 #[repr(C)]
5794 pub struct IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
5795     pub invalidSpisOnInbound: u32,
5796     pub decryptionFailuresOnInbound: u32,
5797     pub authenticationFailuresOnInbound: u32,
5798     pub udpEspValidationFailuresOnInbound: u32,
5799     pub replayCheckFailuresOnInbound: u32,
5800     pub invalidClearTextInbound: u32,
5801     pub saNotInitializedOnInbound: u32,
5802     pub receiveOverIncorrectSaInbound: u32,
5803     pub secureReceivesNotMatchingFilters: u32,
5804     pub totalDropPacketsInbound: u32,
5805 }
5806 impl ::core::marker::Copy for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {}
5807 impl ::core::clone::Clone for IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1 {
clone(&self) -> Self5808     fn clone(&self) -> Self {
5809         *self
5810     }
5811 }
5812 #[repr(C)]
5813 pub struct IPSEC_AGGREGATE_SA_STATISTICS0 {
5814     pub activeSas: u32,
5815     pub pendingSaNegotiations: u32,
5816     pub totalSasAdded: u32,
5817     pub totalSasDeleted: u32,
5818     pub successfulRekeys: u32,
5819     pub activeTunnels: u32,
5820     pub offloadedSas: u32,
5821 }
5822 impl ::core::marker::Copy for IPSEC_AGGREGATE_SA_STATISTICS0 {}
5823 impl ::core::clone::Clone for IPSEC_AGGREGATE_SA_STATISTICS0 {
clone(&self) -> Self5824     fn clone(&self) -> Self {
5825         *self
5826     }
5827 }
5828 #[repr(C)]
5829 pub struct IPSEC_AH_DROP_PACKET_STATISTICS0 {
5830     pub invalidSpisOnInbound: u32,
5831     pub authenticationFailuresOnInbound: u32,
5832     pub replayCheckFailuresOnInbound: u32,
5833     pub saNotInitializedOnInbound: u32,
5834 }
5835 impl ::core::marker::Copy for IPSEC_AH_DROP_PACKET_STATISTICS0 {}
5836 impl ::core::clone::Clone for IPSEC_AH_DROP_PACKET_STATISTICS0 {
clone(&self) -> Self5837     fn clone(&self) -> Self {
5838         *self
5839     }
5840 }
5841 #[repr(C)]
5842 pub struct IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
5843     pub authTransform: IPSEC_AUTH_TRANSFORM0,
5844     pub cipherTransform: IPSEC_CIPHER_TRANSFORM0,
5845 }
5846 impl ::core::marker::Copy for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {}
5847 impl ::core::clone::Clone for IPSEC_AUTH_AND_CIPHER_TRANSFORM0 {
clone(&self) -> Self5848     fn clone(&self) -> Self {
5849         *self
5850     }
5851 }
5852 pub const IPSEC_AUTH_CONFIG_GCM_AES_128: u32 = 3u32;
5853 pub const IPSEC_AUTH_CONFIG_GCM_AES_192: u32 = 4u32;
5854 pub const IPSEC_AUTH_CONFIG_GCM_AES_256: u32 = 5u32;
5855 pub const IPSEC_AUTH_CONFIG_HMAC_MD5_96: u32 = 0u32;
5856 pub const IPSEC_AUTH_CONFIG_HMAC_SHA_1_96: u32 = 1u32;
5857 pub const IPSEC_AUTH_CONFIG_HMAC_SHA_256_128: u32 = 2u32;
5858 pub const IPSEC_AUTH_CONFIG_MAX: u32 = 6u32;
5859 #[repr(C)]
5860 pub struct IPSEC_AUTH_TRANSFORM0 {
5861     pub authTransformId: IPSEC_AUTH_TRANSFORM_ID0,
5862     pub cryptoModuleId: *mut ::windows_sys::core::GUID,
5863 }
5864 impl ::core::marker::Copy for IPSEC_AUTH_TRANSFORM0 {}
5865 impl ::core::clone::Clone for IPSEC_AUTH_TRANSFORM0 {
clone(&self) -> Self5866     fn clone(&self) -> Self {
5867         *self
5868     }
5869 }
5870 #[repr(C)]
5871 pub struct IPSEC_AUTH_TRANSFORM_ID0 {
5872     pub authType: IPSEC_AUTH_TYPE,
5873     pub authConfig: u8,
5874 }
5875 impl ::core::marker::Copy for IPSEC_AUTH_TRANSFORM_ID0 {}
5876 impl ::core::clone::Clone for IPSEC_AUTH_TRANSFORM_ID0 {
clone(&self) -> Self5877     fn clone(&self) -> Self {
5878         *self
5879     }
5880 }
5881 pub type IPSEC_AUTH_TYPE = i32;
5882 pub const IPSEC_AUTH_MD5: IPSEC_AUTH_TYPE = 0i32;
5883 pub const IPSEC_AUTH_SHA_1: IPSEC_AUTH_TYPE = 1i32;
5884 pub const IPSEC_AUTH_SHA_256: IPSEC_AUTH_TYPE = 2i32;
5885 pub const IPSEC_AUTH_AES_128: IPSEC_AUTH_TYPE = 3i32;
5886 pub const IPSEC_AUTH_AES_192: IPSEC_AUTH_TYPE = 4i32;
5887 pub const IPSEC_AUTH_AES_256: IPSEC_AUTH_TYPE = 5i32;
5888 pub const IPSEC_AUTH_MAX: IPSEC_AUTH_TYPE = 6i32;
5889 pub const IPSEC_CIPHER_CONFIG_CBC_3DES: u32 = 2u32;
5890 pub const IPSEC_CIPHER_CONFIG_CBC_AES_128: u32 = 3u32;
5891 pub const IPSEC_CIPHER_CONFIG_CBC_AES_192: u32 = 4u32;
5892 pub const IPSEC_CIPHER_CONFIG_CBC_AES_256: u32 = 5u32;
5893 pub const IPSEC_CIPHER_CONFIG_CBC_DES: u32 = 1u32;
5894 pub const IPSEC_CIPHER_CONFIG_GCM_AES_128: u32 = 6u32;
5895 pub const IPSEC_CIPHER_CONFIG_GCM_AES_192: u32 = 7u32;
5896 pub const IPSEC_CIPHER_CONFIG_GCM_AES_256: u32 = 8u32;
5897 pub const IPSEC_CIPHER_CONFIG_MAX: u32 = 9u32;
5898 #[repr(C)]
5899 pub struct IPSEC_CIPHER_TRANSFORM0 {
5900     pub cipherTransformId: IPSEC_CIPHER_TRANSFORM_ID0,
5901     pub cryptoModuleId: *mut ::windows_sys::core::GUID,
5902 }
5903 impl ::core::marker::Copy for IPSEC_CIPHER_TRANSFORM0 {}
5904 impl ::core::clone::Clone for IPSEC_CIPHER_TRANSFORM0 {
clone(&self) -> Self5905     fn clone(&self) -> Self {
5906         *self
5907     }
5908 }
5909 #[repr(C)]
5910 pub struct IPSEC_CIPHER_TRANSFORM_ID0 {
5911     pub cipherType: IPSEC_CIPHER_TYPE,
5912     pub cipherConfig: u8,
5913 }
5914 impl ::core::marker::Copy for IPSEC_CIPHER_TRANSFORM_ID0 {}
5915 impl ::core::clone::Clone for IPSEC_CIPHER_TRANSFORM_ID0 {
clone(&self) -> Self5916     fn clone(&self) -> Self {
5917         *self
5918     }
5919 }
5920 pub type IPSEC_CIPHER_TYPE = i32;
5921 pub const IPSEC_CIPHER_TYPE_DES: IPSEC_CIPHER_TYPE = 1i32;
5922 pub const IPSEC_CIPHER_TYPE_3DES: IPSEC_CIPHER_TYPE = 2i32;
5923 pub const IPSEC_CIPHER_TYPE_AES_128: IPSEC_CIPHER_TYPE = 3i32;
5924 pub const IPSEC_CIPHER_TYPE_AES_192: IPSEC_CIPHER_TYPE = 4i32;
5925 pub const IPSEC_CIPHER_TYPE_AES_256: IPSEC_CIPHER_TYPE = 5i32;
5926 pub const IPSEC_CIPHER_TYPE_MAX: IPSEC_CIPHER_TYPE = 6i32;
5927 pub const IPSEC_DOSP_DSCP_DISABLE_VALUE: u32 = 255u32;
5928 pub type IPSEC_DOSP_FLAGS = u32;
5929 pub const IPSEC_DOSP_FLAG_ENABLE_IKEV1: IPSEC_DOSP_FLAGS = 1u32;
5930 pub const IPSEC_DOSP_FLAG_ENABLE_IKEV2: IPSEC_DOSP_FLAGS = 2u32;
5931 pub const IPSEC_DOSP_FLAG_DISABLE_AUTHIP: IPSEC_DOSP_FLAGS = 4u32;
5932 pub const IPSEC_DOSP_FLAG_DISABLE_DEFAULT_BLOCK: IPSEC_DOSP_FLAGS = 8u32;
5933 pub const IPSEC_DOSP_FLAG_FILTER_BLOCK: IPSEC_DOSP_FLAGS = 16u32;
5934 pub const IPSEC_DOSP_FLAG_FILTER_EXEMPT: IPSEC_DOSP_FLAGS = 32u32;
5935 #[repr(C)]
5936 pub struct IPSEC_DOSP_OPTIONS0 {
5937     pub stateIdleTimeoutSeconds: u32,
5938     pub perIPRateLimitQueueIdleTimeoutSeconds: u32,
5939     pub ipV6IPsecUnauthDscp: u8,
5940     pub ipV6IPsecUnauthRateLimitBytesPerSec: u32,
5941     pub ipV6IPsecUnauthPerIPRateLimitBytesPerSec: u32,
5942     pub ipV6IPsecAuthDscp: u8,
5943     pub ipV6IPsecAuthRateLimitBytesPerSec: u32,
5944     pub icmpV6Dscp: u8,
5945     pub icmpV6RateLimitBytesPerSec: u32,
5946     pub ipV6FilterExemptDscp: u8,
5947     pub ipV6FilterExemptRateLimitBytesPerSec: u32,
5948     pub defBlockExemptDscp: u8,
5949     pub defBlockExemptRateLimitBytesPerSec: u32,
5950     pub maxStateEntries: u32,
5951     pub maxPerIPRateLimitQueues: u32,
5952     pub flags: IPSEC_DOSP_FLAGS,
5953     pub numPublicIFLuids: u32,
5954     pub publicIFLuids: *mut u64,
5955     pub numInternalIFLuids: u32,
5956     pub internalIFLuids: *mut u64,
5957     pub publicV6AddrMask: FWP_V6_ADDR_AND_MASK,
5958     pub internalV6AddrMask: FWP_V6_ADDR_AND_MASK,
5959 }
5960 impl ::core::marker::Copy for IPSEC_DOSP_OPTIONS0 {}
5961 impl ::core::clone::Clone for IPSEC_DOSP_OPTIONS0 {
clone(&self) -> Self5962     fn clone(&self) -> Self {
5963         *self
5964     }
5965 }
5966 pub const IPSEC_DOSP_RATE_LIMIT_DISABLE_VALUE: u32 = 0u32;
5967 #[repr(C)]
5968 pub struct IPSEC_DOSP_STATE0 {
5969     pub publicHostV6Addr: [u8; 16],
5970     pub internalHostV6Addr: [u8; 16],
5971     pub totalInboundIPv6IPsecAuthPackets: u64,
5972     pub totalOutboundIPv6IPsecAuthPackets: u64,
5973     pub durationSecs: u32,
5974 }
5975 impl ::core::marker::Copy for IPSEC_DOSP_STATE0 {}
5976 impl ::core::clone::Clone for IPSEC_DOSP_STATE0 {
clone(&self) -> Self5977     fn clone(&self) -> Self {
5978         *self
5979     }
5980 }
5981 #[repr(C)]
5982 pub struct IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
5983     pub publicV6AddrMask: FWP_V6_ADDR_AND_MASK,
5984     pub internalV6AddrMask: FWP_V6_ADDR_AND_MASK,
5985 }
5986 impl ::core::marker::Copy for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {}
5987 impl ::core::clone::Clone for IPSEC_DOSP_STATE_ENUM_TEMPLATE0 {
clone(&self) -> Self5988     fn clone(&self) -> Self {
5989         *self
5990     }
5991 }
5992 #[repr(C)]
5993 pub struct IPSEC_DOSP_STATISTICS0 {
5994     pub totalStateEntriesCreated: u64,
5995     pub currentStateEntries: u64,
5996     pub totalInboundAllowedIPv6IPsecUnauthPkts: u64,
5997     pub totalInboundRatelimitDiscardedIPv6IPsecUnauthPkts: u64,
5998     pub totalInboundPerIPRatelimitDiscardedIPv6IPsecUnauthPkts: u64,
5999     pub totalInboundOtherDiscardedIPv6IPsecUnauthPkts: u64,
6000     pub totalInboundAllowedIPv6IPsecAuthPkts: u64,
6001     pub totalInboundRatelimitDiscardedIPv6IPsecAuthPkts: u64,
6002     pub totalInboundOtherDiscardedIPv6IPsecAuthPkts: u64,
6003     pub totalInboundAllowedICMPv6Pkts: u64,
6004     pub totalInboundRatelimitDiscardedICMPv6Pkts: u64,
6005     pub totalInboundAllowedIPv6FilterExemptPkts: u64,
6006     pub totalInboundRatelimitDiscardedIPv6FilterExemptPkts: u64,
6007     pub totalInboundDiscardedIPv6FilterBlockPkts: u64,
6008     pub totalInboundAllowedDefBlockExemptPkts: u64,
6009     pub totalInboundRatelimitDiscardedDefBlockExemptPkts: u64,
6010     pub totalInboundDiscardedDefBlockPkts: u64,
6011     pub currentInboundIPv6IPsecUnauthPerIPRateLimitQueues: u64,
6012 }
6013 impl ::core::marker::Copy for IPSEC_DOSP_STATISTICS0 {}
6014 impl ::core::clone::Clone for IPSEC_DOSP_STATISTICS0 {
clone(&self) -> Self6015     fn clone(&self) -> Self {
6016         *self
6017     }
6018 }
6019 #[repr(C)]
6020 pub struct IPSEC_ESP_DROP_PACKET_STATISTICS0 {
6021     pub invalidSpisOnInbound: u32,
6022     pub decryptionFailuresOnInbound: u32,
6023     pub authenticationFailuresOnInbound: u32,
6024     pub replayCheckFailuresOnInbound: u32,
6025     pub saNotInitializedOnInbound: u32,
6026 }
6027 impl ::core::marker::Copy for IPSEC_ESP_DROP_PACKET_STATISTICS0 {}
6028 impl ::core::clone::Clone for IPSEC_ESP_DROP_PACKET_STATISTICS0 {
clone(&self) -> Self6029     fn clone(&self) -> Self {
6030         *self
6031     }
6032 }
6033 pub type IPSEC_FAILURE_POINT = i32;
6034 pub const IPSEC_FAILURE_NONE: IPSEC_FAILURE_POINT = 0i32;
6035 pub const IPSEC_FAILURE_ME: IPSEC_FAILURE_POINT = 1i32;
6036 pub const IPSEC_FAILURE_PEER: IPSEC_FAILURE_POINT = 2i32;
6037 pub const IPSEC_FAILURE_POINT_MAX: IPSEC_FAILURE_POINT = 3i32;
6038 #[repr(C)]
6039 pub struct IPSEC_GETSPI0 {
6040     pub inboundIpsecTraffic: IPSEC_TRAFFIC0,
6041     pub ipVersion: FWP_IP_VERSION,
6042     pub Anonymous: IPSEC_GETSPI0_0,
6043     pub rngCryptoModuleID: *mut ::windows_sys::core::GUID,
6044 }
6045 impl ::core::marker::Copy for IPSEC_GETSPI0 {}
6046 impl ::core::clone::Clone for IPSEC_GETSPI0 {
clone(&self) -> Self6047     fn clone(&self) -> Self {
6048         *self
6049     }
6050 }
6051 #[repr(C)]
6052 pub union IPSEC_GETSPI0_0 {
6053     pub inboundUdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
6054 }
6055 impl ::core::marker::Copy for IPSEC_GETSPI0_0 {}
6056 impl ::core::clone::Clone for IPSEC_GETSPI0_0 {
clone(&self) -> Self6057     fn clone(&self) -> Self {
6058         *self
6059     }
6060 }
6061 #[repr(C)]
6062 pub struct IPSEC_GETSPI1 {
6063     pub inboundIpsecTraffic: IPSEC_TRAFFIC1,
6064     pub ipVersion: FWP_IP_VERSION,
6065     pub Anonymous: IPSEC_GETSPI1_0,
6066     pub rngCryptoModuleID: *mut ::windows_sys::core::GUID,
6067 }
6068 impl ::core::marker::Copy for IPSEC_GETSPI1 {}
6069 impl ::core::clone::Clone for IPSEC_GETSPI1 {
clone(&self) -> Self6070     fn clone(&self) -> Self {
6071         *self
6072     }
6073 }
6074 #[repr(C)]
6075 pub union IPSEC_GETSPI1_0 {
6076     pub inboundUdpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
6077 }
6078 impl ::core::marker::Copy for IPSEC_GETSPI1_0 {}
6079 impl ::core::clone::Clone for IPSEC_GETSPI1_0 {
clone(&self) -> Self6080     fn clone(&self) -> Self {
6081         *self
6082     }
6083 }
6084 #[repr(C)]
6085 #[cfg(feature = "Win32_Foundation")]
6086 pub struct IPSEC_ID0 {
6087     pub mmTargetName: super::super::Foundation::PWSTR,
6088     pub emTargetName: super::super::Foundation::PWSTR,
6089     pub numTokens: u32,
6090     pub tokens: *mut IPSEC_TOKEN0,
6091     pub explicitCredentials: u64,
6092     pub logonId: u64,
6093 }
6094 #[cfg(feature = "Win32_Foundation")]
6095 impl ::core::marker::Copy for IPSEC_ID0 {}
6096 #[cfg(feature = "Win32_Foundation")]
6097 impl ::core::clone::Clone for IPSEC_ID0 {
clone(&self) -> Self6098     fn clone(&self) -> Self {
6099         *self
6100     }
6101 }
6102 #[repr(C)]
6103 pub struct IPSEC_KEYING_POLICY0 {
6104     pub numKeyMods: u32,
6105     pub keyModKeys: *mut ::windows_sys::core::GUID,
6106 }
6107 impl ::core::marker::Copy for IPSEC_KEYING_POLICY0 {}
6108 impl ::core::clone::Clone for IPSEC_KEYING_POLICY0 {
clone(&self) -> Self6109     fn clone(&self) -> Self {
6110         *self
6111     }
6112 }
6113 #[repr(C)]
6114 pub struct IPSEC_KEYING_POLICY1 {
6115     pub numKeyMods: u32,
6116     pub keyModKeys: *mut ::windows_sys::core::GUID,
6117     pub flags: u32,
6118 }
6119 impl ::core::marker::Copy for IPSEC_KEYING_POLICY1 {}
6120 impl ::core::clone::Clone for IPSEC_KEYING_POLICY1 {
clone(&self) -> Self6121     fn clone(&self) -> Self {
6122         *self
6123     }
6124 }
6125 pub const IPSEC_KEYING_POLICY_FLAG_TERMINATING_MATCH: u32 = 1u32;
6126 #[repr(C)]
6127 pub struct IPSEC_KEYMODULE_STATE0 {
6128     pub keyModuleKey: ::windows_sys::core::GUID,
6129     pub stateBlob: FWP_BYTE_BLOB,
6130 }
6131 impl ::core::marker::Copy for IPSEC_KEYMODULE_STATE0 {}
6132 impl ::core::clone::Clone for IPSEC_KEYMODULE_STATE0 {
clone(&self) -> Self6133     fn clone(&self) -> Self {
6134         *self
6135     }
6136 }
6137 #[repr(C)]
6138 #[cfg(feature = "Win32_Foundation")]
6139 pub struct IPSEC_KEY_MANAGER0 {
6140     pub keyManagerKey: ::windows_sys::core::GUID,
6141     pub displayData: FWPM_DISPLAY_DATA0,
6142     pub flags: u32,
6143     pub keyDictationTimeoutHint: u8,
6144 }
6145 #[cfg(feature = "Win32_Foundation")]
6146 impl ::core::marker::Copy for IPSEC_KEY_MANAGER0 {}
6147 #[cfg(feature = "Win32_Foundation")]
6148 impl ::core::clone::Clone for IPSEC_KEY_MANAGER0 {
clone(&self) -> Self6149     fn clone(&self) -> Self {
6150         *self
6151     }
6152 }
6153 #[repr(C)]
6154 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6155 pub struct IPSEC_KEY_MANAGER_CALLBACKS0 {
6156     pub reserved: ::windows_sys::core::GUID,
6157     pub flags: u32,
6158     pub keyDictationCheck: IPSEC_KEY_MANAGER_KEY_DICTATION_CHECK0,
6159     pub keyDictation: IPSEC_KEY_MANAGER_DICTATE_KEY0,
6160     pub keyNotify: IPSEC_KEY_MANAGER_NOTIFY_KEY0,
6161 }
6162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6163 impl ::core::marker::Copy for IPSEC_KEY_MANAGER_CALLBACKS0 {}
6164 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6165 impl ::core::clone::Clone for IPSEC_KEY_MANAGER_CALLBACKS0 {
clone(&self) -> Self6166     fn clone(&self) -> Self {
6167         *self
6168     }
6169 }
6170 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6171 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;
6172 pub const IPSEC_KEY_MANAGER_FLAG_DICTATE_KEY: u32 = 1u32;
6173 #[cfg(feature = "Win32_Foundation")]
6174 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);
6175 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6176 pub type IPSEC_KEY_MANAGER_NOTIFY_KEY0 = unsafe extern "system" fn(inboundsa: *const IPSEC_SA_DETAILS1, outboundsa: *const IPSEC_SA_DETAILS1);
6177 pub type IPSEC_PFS_GROUP = i32;
6178 pub const IPSEC_PFS_NONE: IPSEC_PFS_GROUP = 0i32;
6179 pub const IPSEC_PFS_1: IPSEC_PFS_GROUP = 1i32;
6180 pub const IPSEC_PFS_2: IPSEC_PFS_GROUP = 2i32;
6181 pub const IPSEC_PFS_2048: IPSEC_PFS_GROUP = 3i32;
6182 pub const IPSEC_PFS_14: IPSEC_PFS_GROUP = 3i32;
6183 pub const IPSEC_PFS_ECP_256: IPSEC_PFS_GROUP = 4i32;
6184 pub const IPSEC_PFS_ECP_384: IPSEC_PFS_GROUP = 5i32;
6185 pub const IPSEC_PFS_MM: IPSEC_PFS_GROUP = 6i32;
6186 pub const IPSEC_PFS_24: IPSEC_PFS_GROUP = 7i32;
6187 pub const IPSEC_PFS_MAX: IPSEC_PFS_GROUP = 8i32;
6188 pub type IPSEC_POLICY_FLAG = u32;
6189 pub const IPSEC_POLICY_FLAG_ND_SECURE: IPSEC_POLICY_FLAG = 2u32;
6190 pub const IPSEC_POLICY_FLAG_ND_BOUNDARY: IPSEC_POLICY_FLAG = 4u32;
6191 pub const IPSEC_POLICY_FLAG_NAT_ENCAP_ALLOW_PEER_BEHIND_NAT: IPSEC_POLICY_FLAG = 16u32;
6192 pub const IPSEC_POLICY_FLAG_NAT_ENCAP_ALLOW_GENERAL_NAT_TRAVERSAL: IPSEC_POLICY_FLAG = 32u32;
6193 pub const IPSEC_POLICY_FLAG_DONT_NEGOTIATE_SECOND_LIFETIME: IPSEC_POLICY_FLAG = 64u32;
6194 pub const IPSEC_POLICY_FLAG_DONT_NEGOTIATE_BYTE_LIFETIME: IPSEC_POLICY_FLAG = 128u32;
6195 pub const IPSEC_POLICY_FLAG_CLEAR_DF_ON_TUNNEL: IPSEC_POLICY_FLAG = 8u32;
6196 pub const IPSEC_POLICY_FLAG_ENABLE_V6_IN_V4_TUNNELING: IPSEC_POLICY_FLAG = 256u32;
6197 pub const IPSEC_POLICY_FLAG_ENABLE_SERVER_ADDR_ASSIGNMENT: IPSEC_POLICY_FLAG = 512u32;
6198 pub const IPSEC_POLICY_FLAG_TUNNEL_ALLOW_OUTBOUND_CLEAR_CONNECTION: IPSEC_POLICY_FLAG = 1024u32;
6199 pub const IPSEC_POLICY_FLAG_TUNNEL_BYPASS_ALREADY_SECURE_CONNECTION: IPSEC_POLICY_FLAG = 2048u32;
6200 pub const IPSEC_POLICY_FLAG_TUNNEL_BYPASS_ICMPV6: IPSEC_POLICY_FLAG = 4096u32;
6201 pub const IPSEC_POLICY_FLAG_KEY_MANAGER_ALLOW_DICTATE_KEY: IPSEC_POLICY_FLAG = 8192u32;
6202 pub const IPSEC_POLICY_FLAG_KEY_MANAGER_ALLOW_NOTIFY_KEY: u32 = 16384u32;
6203 pub const IPSEC_POLICY_FLAG_RESERVED1: u32 = 32768u32;
6204 pub const IPSEC_POLICY_FLAG_SITE_TO_SITE_TUNNEL: u32 = 65536u32;
6205 #[repr(C)]
6206 pub struct IPSEC_PROPOSAL0 {
6207     pub lifetime: IPSEC_SA_LIFETIME0,
6208     pub numSaTransforms: u32,
6209     pub saTransforms: *mut IPSEC_SA_TRANSFORM0,
6210     pub pfsGroup: IPSEC_PFS_GROUP,
6211 }
6212 impl ::core::marker::Copy for IPSEC_PROPOSAL0 {}
6213 impl ::core::clone::Clone for IPSEC_PROPOSAL0 {
clone(&self) -> Self6214     fn clone(&self) -> Self {
6215         *self
6216     }
6217 }
6218 #[repr(C)]
6219 pub struct IPSEC_SA0 {
6220     pub spi: u32,
6221     pub saTransformType: IPSEC_TRANSFORM_TYPE,
6222     pub Anonymous: IPSEC_SA0_0,
6223 }
6224 impl ::core::marker::Copy for IPSEC_SA0 {}
6225 impl ::core::clone::Clone for IPSEC_SA0 {
clone(&self) -> Self6226     fn clone(&self) -> Self {
6227         *self
6228     }
6229 }
6230 #[repr(C)]
6231 pub union IPSEC_SA0_0 {
6232     pub ahInformation: *mut IPSEC_SA_AUTH_INFORMATION0,
6233     pub espAuthInformation: *mut IPSEC_SA_AUTH_INFORMATION0,
6234     pub espCipherInformation: *mut IPSEC_SA_CIPHER_INFORMATION0,
6235     pub espAuthAndCipherInformation: *mut IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0,
6236     pub espAuthFwInformation: *mut IPSEC_SA_AUTH_INFORMATION0,
6237 }
6238 impl ::core::marker::Copy for IPSEC_SA0_0 {}
6239 impl ::core::clone::Clone for IPSEC_SA0_0 {
clone(&self) -> Self6240     fn clone(&self) -> Self {
6241         *self
6242     }
6243 }
6244 #[repr(C)]
6245 pub struct IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
6246     pub saCipherInformation: IPSEC_SA_CIPHER_INFORMATION0,
6247     pub saAuthInformation: IPSEC_SA_AUTH_INFORMATION0,
6248 }
6249 impl ::core::marker::Copy for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {}
6250 impl ::core::clone::Clone for IPSEC_SA_AUTH_AND_CIPHER_INFORMATION0 {
clone(&self) -> Self6251     fn clone(&self) -> Self {
6252         *self
6253     }
6254 }
6255 #[repr(C)]
6256 pub struct IPSEC_SA_AUTH_INFORMATION0 {
6257     pub authTransform: IPSEC_AUTH_TRANSFORM0,
6258     pub authKey: FWP_BYTE_BLOB,
6259 }
6260 impl ::core::marker::Copy for IPSEC_SA_AUTH_INFORMATION0 {}
6261 impl ::core::clone::Clone for IPSEC_SA_AUTH_INFORMATION0 {
clone(&self) -> Self6262     fn clone(&self) -> Self {
6263         *self
6264     }
6265 }
6266 #[repr(C)]
6267 #[cfg(feature = "Win32_Foundation")]
6268 pub struct IPSEC_SA_BUNDLE0 {
6269     pub flags: IPSEC_SA_BUNDLE_FLAGS,
6270     pub lifetime: IPSEC_SA_LIFETIME0,
6271     pub idleTimeoutSeconds: u32,
6272     pub ndAllowClearTimeoutSeconds: u32,
6273     pub ipsecId: *mut IPSEC_ID0,
6274     pub napContext: u32,
6275     pub qmSaId: u32,
6276     pub numSAs: u32,
6277     pub saList: *mut IPSEC_SA0,
6278     pub keyModuleState: *mut IPSEC_KEYMODULE_STATE0,
6279     pub ipVersion: FWP_IP_VERSION,
6280     pub Anonymous: IPSEC_SA_BUNDLE0_0,
6281     pub mmSaId: u64,
6282     pub pfsGroup: IPSEC_PFS_GROUP,
6283 }
6284 #[cfg(feature = "Win32_Foundation")]
6285 impl ::core::marker::Copy for IPSEC_SA_BUNDLE0 {}
6286 #[cfg(feature = "Win32_Foundation")]
6287 impl ::core::clone::Clone for IPSEC_SA_BUNDLE0 {
clone(&self) -> Self6288     fn clone(&self) -> Self {
6289         *self
6290     }
6291 }
6292 #[repr(C)]
6293 #[cfg(feature = "Win32_Foundation")]
6294 pub union IPSEC_SA_BUNDLE0_0 {
6295     pub peerV4PrivateAddress: u32,
6296 }
6297 #[cfg(feature = "Win32_Foundation")]
6298 impl ::core::marker::Copy for IPSEC_SA_BUNDLE0_0 {}
6299 #[cfg(feature = "Win32_Foundation")]
6300 impl ::core::clone::Clone for IPSEC_SA_BUNDLE0_0 {
clone(&self) -> Self6301     fn clone(&self) -> Self {
6302         *self
6303     }
6304 }
6305 #[repr(C)]
6306 #[cfg(feature = "Win32_Foundation")]
6307 pub struct IPSEC_SA_BUNDLE1 {
6308     pub flags: IPSEC_SA_BUNDLE_FLAGS,
6309     pub lifetime: IPSEC_SA_LIFETIME0,
6310     pub idleTimeoutSeconds: u32,
6311     pub ndAllowClearTimeoutSeconds: u32,
6312     pub ipsecId: *mut IPSEC_ID0,
6313     pub napContext: u32,
6314     pub qmSaId: u32,
6315     pub numSAs: u32,
6316     pub saList: *mut IPSEC_SA0,
6317     pub keyModuleState: *mut IPSEC_KEYMODULE_STATE0,
6318     pub ipVersion: FWP_IP_VERSION,
6319     pub Anonymous: IPSEC_SA_BUNDLE1_0,
6320     pub mmSaId: u64,
6321     pub pfsGroup: IPSEC_PFS_GROUP,
6322     pub saLookupContext: ::windows_sys::core::GUID,
6323     pub qmFilterId: u64,
6324 }
6325 #[cfg(feature = "Win32_Foundation")]
6326 impl ::core::marker::Copy for IPSEC_SA_BUNDLE1 {}
6327 #[cfg(feature = "Win32_Foundation")]
6328 impl ::core::clone::Clone for IPSEC_SA_BUNDLE1 {
clone(&self) -> Self6329     fn clone(&self) -> Self {
6330         *self
6331     }
6332 }
6333 #[repr(C)]
6334 #[cfg(feature = "Win32_Foundation")]
6335 pub union IPSEC_SA_BUNDLE1_0 {
6336     pub peerV4PrivateAddress: u32,
6337 }
6338 #[cfg(feature = "Win32_Foundation")]
6339 impl ::core::marker::Copy for IPSEC_SA_BUNDLE1_0 {}
6340 #[cfg(feature = "Win32_Foundation")]
6341 impl ::core::clone::Clone for IPSEC_SA_BUNDLE1_0 {
clone(&self) -> Self6342     fn clone(&self) -> Self {
6343         *self
6344     }
6345 }
6346 pub type IPSEC_SA_BUNDLE_FLAGS = u32;
6347 pub const IPSEC_SA_BUNDLE_FLAG_ND_SECURE: IPSEC_SA_BUNDLE_FLAGS = 1u32;
6348 pub const IPSEC_SA_BUNDLE_FLAG_ND_BOUNDARY: IPSEC_SA_BUNDLE_FLAGS = 2u32;
6349 pub const IPSEC_SA_BUNDLE_FLAG_ND_PEER_NAT_BOUNDARY: IPSEC_SA_BUNDLE_FLAGS = 4u32;
6350 pub const IPSEC_SA_BUNDLE_FLAG_GUARANTEE_ENCRYPTION: IPSEC_SA_BUNDLE_FLAGS = 8u32;
6351 pub const IPSEC_SA_BUNDLE_FLAG_ALLOW_NULL_TARGET_NAME_MATCH: IPSEC_SA_BUNDLE_FLAGS = 512u32;
6352 pub const IPSEC_SA_BUNDLE_FLAG_CLEAR_DF_ON_TUNNEL: IPSEC_SA_BUNDLE_FLAGS = 1024u32;
6353 pub const IPSEC_SA_BUNDLE_FLAG_ASSUME_UDP_CONTEXT_OUTBOUND: IPSEC_SA_BUNDLE_FLAGS = 2048u32;
6354 pub const IPSEC_SA_BUNDLE_FLAG_ND_PEER_BOUNDARY: IPSEC_SA_BUNDLE_FLAGS = 4096u32;
6355 pub const IPSEC_SA_BUNDLE_FLAG_SUPPRESS_DUPLICATE_DELETION: IPSEC_SA_BUNDLE_FLAGS = 8192u32;
6356 pub const IPSEC_SA_BUNDLE_FLAG_PEER_SUPPORTS_GUARANTEE_ENCRYPTION: IPSEC_SA_BUNDLE_FLAGS = 16384u32;
6357 pub const IPSEC_SA_BUNDLE_FLAG_ENABLE_OPTIONAL_ASYMMETRIC_IDLE: u32 = 262144u32;
6358 pub const IPSEC_SA_BUNDLE_FLAG_FORCE_INBOUND_CONNECTIONS: u32 = 32768u32;
6359 pub const IPSEC_SA_BUNDLE_FLAG_FORCE_OUTBOUND_CONNECTIONS: u32 = 65536u32;
6360 pub const IPSEC_SA_BUNDLE_FLAG_FORWARD_PATH_INITIATOR: u32 = 131072u32;
6361 pub const IPSEC_SA_BUNDLE_FLAG_IP_IN_IP_PKT: u32 = 4194304u32;
6362 pub const IPSEC_SA_BUNDLE_FLAG_LOCALLY_DICTATED_KEYS: u32 = 1048576u32;
6363 pub const IPSEC_SA_BUNDLE_FLAG_LOW_POWER_MODE_SUPPORT: u32 = 8388608u32;
6364 pub const IPSEC_SA_BUNDLE_FLAG_NLB: u32 = 16u32;
6365 pub const IPSEC_SA_BUNDLE_FLAG_NO_EXPLICIT_CRED_MATCH: u32 = 128u32;
6366 pub const IPSEC_SA_BUNDLE_FLAG_NO_IMPERSONATION_LUID_VERIFY: u32 = 64u32;
6367 pub const IPSEC_SA_BUNDLE_FLAG_NO_MACHINE_LUID_VERIFY: u32 = 32u32;
6368 pub const IPSEC_SA_BUNDLE_FLAG_SA_OFFLOADED: u32 = 2097152u32;
6369 pub const IPSEC_SA_BUNDLE_FLAG_USING_DICTATED_KEYS: u32 = 524288u32;
6370 #[repr(C)]
6371 pub struct IPSEC_SA_CIPHER_INFORMATION0 {
6372     pub cipherTransform: IPSEC_CIPHER_TRANSFORM0,
6373     pub cipherKey: FWP_BYTE_BLOB,
6374 }
6375 impl ::core::marker::Copy for IPSEC_SA_CIPHER_INFORMATION0 {}
6376 impl ::core::clone::Clone for IPSEC_SA_CIPHER_INFORMATION0 {
clone(&self) -> Self6377     fn clone(&self) -> Self {
6378         *self
6379     }
6380 }
6381 #[repr(C)]
6382 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6383 pub struct IPSEC_SA_CONTEXT0 {
6384     pub saContextId: u64,
6385     pub inboundSa: *mut IPSEC_SA_DETAILS0,
6386     pub outboundSa: *mut IPSEC_SA_DETAILS0,
6387 }
6388 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6389 impl ::core::marker::Copy for IPSEC_SA_CONTEXT0 {}
6390 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6391 impl ::core::clone::Clone for IPSEC_SA_CONTEXT0 {
clone(&self) -> Self6392     fn clone(&self) -> Self {
6393         *self
6394     }
6395 }
6396 #[repr(C)]
6397 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6398 pub struct IPSEC_SA_CONTEXT1 {
6399     pub saContextId: u64,
6400     pub inboundSa: *mut IPSEC_SA_DETAILS1,
6401     pub outboundSa: *mut IPSEC_SA_DETAILS1,
6402 }
6403 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6404 impl ::core::marker::Copy for IPSEC_SA_CONTEXT1 {}
6405 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6406 impl ::core::clone::Clone for IPSEC_SA_CONTEXT1 {
clone(&self) -> Self6407     fn clone(&self) -> Self {
6408         *self
6409     }
6410 }
6411 pub type IPSEC_SA_CONTEXT_CALLBACK0 = unsafe extern "system" fn(context: *mut ::core::ffi::c_void, change: *const IPSEC_SA_CONTEXT_CHANGE0);
6412 #[repr(C)]
6413 pub struct IPSEC_SA_CONTEXT_CHANGE0 {
6414     pub changeType: IPSEC_SA_CONTEXT_EVENT_TYPE0,
6415     pub saContextId: u64,
6416 }
6417 impl ::core::marker::Copy for IPSEC_SA_CONTEXT_CHANGE0 {}
6418 impl ::core::clone::Clone for IPSEC_SA_CONTEXT_CHANGE0 {
clone(&self) -> Self6419     fn clone(&self) -> Self {
6420         *self
6421     }
6422 }
6423 #[repr(C)]
6424 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6425 pub struct IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {
6426     pub localSubNet: FWP_CONDITION_VALUE0,
6427     pub remoteSubNet: FWP_CONDITION_VALUE0,
6428 }
6429 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6430 impl ::core::marker::Copy for IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {}
6431 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6432 impl ::core::clone::Clone for IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 {
clone(&self) -> Self6433     fn clone(&self) -> Self {
6434         *self
6435     }
6436 }
6437 pub type IPSEC_SA_CONTEXT_EVENT_TYPE0 = i32;
6438 pub const IPSEC_SA_CONTEXT_EVENT_ADD: IPSEC_SA_CONTEXT_EVENT_TYPE0 = 1i32;
6439 pub const IPSEC_SA_CONTEXT_EVENT_DELETE: IPSEC_SA_CONTEXT_EVENT_TYPE0 = 2i32;
6440 pub const IPSEC_SA_CONTEXT_EVENT_MAX: IPSEC_SA_CONTEXT_EVENT_TYPE0 = 3i32;
6441 #[repr(C)]
6442 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6443 pub struct IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
6444     pub enumTemplate: *mut IPSEC_SA_CONTEXT_ENUM_TEMPLATE0,
6445     pub flags: u32,
6446     pub sessionKey: ::windows_sys::core::GUID,
6447 }
6448 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6449 impl ::core::marker::Copy for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {}
6450 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6451 impl ::core::clone::Clone for IPSEC_SA_CONTEXT_SUBSCRIPTION0 {
clone(&self) -> Self6452     fn clone(&self) -> Self {
6453         *self
6454     }
6455 }
6456 #[repr(C)]
6457 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6458 pub struct IPSEC_SA_DETAILS0 {
6459     pub ipVersion: FWP_IP_VERSION,
6460     pub saDirection: FWP_DIRECTION,
6461     pub traffic: IPSEC_TRAFFIC0,
6462     pub saBundle: IPSEC_SA_BUNDLE0,
6463     pub Anonymous: IPSEC_SA_DETAILS0_0,
6464     pub transportFilter: *mut FWPM_FILTER0,
6465 }
6466 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6467 impl ::core::marker::Copy for IPSEC_SA_DETAILS0 {}
6468 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6469 impl ::core::clone::Clone for IPSEC_SA_DETAILS0 {
clone(&self) -> Self6470     fn clone(&self) -> Self {
6471         *self
6472     }
6473 }
6474 #[repr(C)]
6475 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6476 pub union IPSEC_SA_DETAILS0_0 {
6477     pub udpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
6478 }
6479 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6480 impl ::core::marker::Copy for IPSEC_SA_DETAILS0_0 {}
6481 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6482 impl ::core::clone::Clone for IPSEC_SA_DETAILS0_0 {
clone(&self) -> Self6483     fn clone(&self) -> Self {
6484         *self
6485     }
6486 }
6487 #[repr(C)]
6488 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6489 pub struct IPSEC_SA_DETAILS1 {
6490     pub ipVersion: FWP_IP_VERSION,
6491     pub saDirection: FWP_DIRECTION,
6492     pub traffic: IPSEC_TRAFFIC1,
6493     pub saBundle: IPSEC_SA_BUNDLE1,
6494     pub Anonymous: IPSEC_SA_DETAILS1_0,
6495     pub transportFilter: *mut FWPM_FILTER0,
6496     pub virtualIfTunnelInfo: IPSEC_VIRTUAL_IF_TUNNEL_INFO0,
6497 }
6498 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6499 impl ::core::marker::Copy for IPSEC_SA_DETAILS1 {}
6500 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6501 impl ::core::clone::Clone for IPSEC_SA_DETAILS1 {
clone(&self) -> Self6502     fn clone(&self) -> Self {
6503         *self
6504     }
6505 }
6506 #[repr(C)]
6507 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6508 pub union IPSEC_SA_DETAILS1_0 {
6509     pub udpEncapsulation: *mut IPSEC_V4_UDP_ENCAPSULATION0,
6510 }
6511 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6512 impl ::core::marker::Copy for IPSEC_SA_DETAILS1_0 {}
6513 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6514 impl ::core::clone::Clone for IPSEC_SA_DETAILS1_0 {
clone(&self) -> Self6515     fn clone(&self) -> Self {
6516         *self
6517     }
6518 }
6519 #[repr(C)]
6520 pub struct IPSEC_SA_ENUM_TEMPLATE0 {
6521     pub saDirection: FWP_DIRECTION,
6522 }
6523 impl ::core::marker::Copy for IPSEC_SA_ENUM_TEMPLATE0 {}
6524 impl ::core::clone::Clone for IPSEC_SA_ENUM_TEMPLATE0 {
clone(&self) -> Self6525     fn clone(&self) -> Self {
6526         *self
6527     }
6528 }
6529 #[repr(C)]
6530 pub struct IPSEC_SA_IDLE_TIMEOUT0 {
6531     pub idleTimeoutSeconds: u32,
6532     pub idleTimeoutSecondsFailOver: u32,
6533 }
6534 impl ::core::marker::Copy for IPSEC_SA_IDLE_TIMEOUT0 {}
6535 impl ::core::clone::Clone for IPSEC_SA_IDLE_TIMEOUT0 {
clone(&self) -> Self6536     fn clone(&self) -> Self {
6537         *self
6538     }
6539 }
6540 #[repr(C)]
6541 pub struct IPSEC_SA_LIFETIME0 {
6542     pub lifetimeSeconds: u32,
6543     pub lifetimeKilobytes: u32,
6544     pub lifetimePackets: u32,
6545 }
6546 impl ::core::marker::Copy for IPSEC_SA_LIFETIME0 {}
6547 impl ::core::clone::Clone for IPSEC_SA_LIFETIME0 {
clone(&self) -> Self6548     fn clone(&self) -> Self {
6549         *self
6550     }
6551 }
6552 #[repr(C)]
6553 pub struct IPSEC_SA_TRANSFORM0 {
6554     pub ipsecTransformType: IPSEC_TRANSFORM_TYPE,
6555     pub Anonymous: IPSEC_SA_TRANSFORM0_0,
6556 }
6557 impl ::core::marker::Copy for IPSEC_SA_TRANSFORM0 {}
6558 impl ::core::clone::Clone for IPSEC_SA_TRANSFORM0 {
clone(&self) -> Self6559     fn clone(&self) -> Self {
6560         *self
6561     }
6562 }
6563 #[repr(C)]
6564 pub union IPSEC_SA_TRANSFORM0_0 {
6565     pub ahTransform: *mut IPSEC_AUTH_TRANSFORM0,
6566     pub espAuthTransform: *mut IPSEC_AUTH_TRANSFORM0,
6567     pub espCipherTransform: *mut IPSEC_CIPHER_TRANSFORM0,
6568     pub espAuthAndCipherTransform: *mut IPSEC_AUTH_AND_CIPHER_TRANSFORM0,
6569     pub espAuthFwTransform: *mut IPSEC_AUTH_TRANSFORM0,
6570 }
6571 impl ::core::marker::Copy for IPSEC_SA_TRANSFORM0_0 {}
6572 impl ::core::clone::Clone for IPSEC_SA_TRANSFORM0_0 {
clone(&self) -> Self6573     fn clone(&self) -> Self {
6574         *self
6575     }
6576 }
6577 #[repr(C)]
6578 pub struct IPSEC_STATISTICS0 {
6579     pub aggregateSaStatistics: IPSEC_AGGREGATE_SA_STATISTICS0,
6580     pub espDropPacketStatistics: IPSEC_ESP_DROP_PACKET_STATISTICS0,
6581     pub ahDropPacketStatistics: IPSEC_AH_DROP_PACKET_STATISTICS0,
6582     pub aggregateDropPacketStatistics: IPSEC_AGGREGATE_DROP_PACKET_STATISTICS0,
6583     pub inboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS0,
6584     pub outboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS0,
6585 }
6586 impl ::core::marker::Copy for IPSEC_STATISTICS0 {}
6587 impl ::core::clone::Clone for IPSEC_STATISTICS0 {
clone(&self) -> Self6588     fn clone(&self) -> Self {
6589         *self
6590     }
6591 }
6592 #[repr(C)]
6593 pub struct IPSEC_STATISTICS1 {
6594     pub aggregateSaStatistics: IPSEC_AGGREGATE_SA_STATISTICS0,
6595     pub espDropPacketStatistics: IPSEC_ESP_DROP_PACKET_STATISTICS0,
6596     pub ahDropPacketStatistics: IPSEC_AH_DROP_PACKET_STATISTICS0,
6597     pub aggregateDropPacketStatistics: IPSEC_AGGREGATE_DROP_PACKET_STATISTICS1,
6598     pub inboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS1,
6599     pub outboundTrafficStatistics: IPSEC_TRAFFIC_STATISTICS1,
6600 }
6601 impl ::core::marker::Copy for IPSEC_STATISTICS1 {}
6602 impl ::core::clone::Clone for IPSEC_STATISTICS1 {
clone(&self) -> Self6603     fn clone(&self) -> Self {
6604         *self
6605     }
6606 }
6607 #[repr(C)]
6608 pub struct IPSEC_TOKEN0 {
6609     pub r#type: IPSEC_TOKEN_TYPE,
6610     pub principal: IPSEC_TOKEN_PRINCIPAL,
6611     pub mode: IPSEC_TOKEN_MODE,
6612     pub token: u64,
6613 }
6614 impl ::core::marker::Copy for IPSEC_TOKEN0 {}
6615 impl ::core::clone::Clone for IPSEC_TOKEN0 {
clone(&self) -> Self6616     fn clone(&self) -> Self {
6617         *self
6618     }
6619 }
6620 pub type IPSEC_TOKEN_MODE = i32;
6621 pub const IPSEC_TOKEN_MODE_MAIN: IPSEC_TOKEN_MODE = 0i32;
6622 pub const IPSEC_TOKEN_MODE_EXTENDED: IPSEC_TOKEN_MODE = 1i32;
6623 pub const IPSEC_TOKEN_MODE_MAX: IPSEC_TOKEN_MODE = 2i32;
6624 pub type IPSEC_TOKEN_PRINCIPAL = i32;
6625 pub const IPSEC_TOKEN_PRINCIPAL_LOCAL: IPSEC_TOKEN_PRINCIPAL = 0i32;
6626 pub const IPSEC_TOKEN_PRINCIPAL_PEER: IPSEC_TOKEN_PRINCIPAL = 1i32;
6627 pub const IPSEC_TOKEN_PRINCIPAL_MAX: IPSEC_TOKEN_PRINCIPAL = 2i32;
6628 pub type IPSEC_TOKEN_TYPE = i32;
6629 pub const IPSEC_TOKEN_TYPE_MACHINE: IPSEC_TOKEN_TYPE = 0i32;
6630 pub const IPSEC_TOKEN_TYPE_IMPERSONATION: IPSEC_TOKEN_TYPE = 1i32;
6631 pub const IPSEC_TOKEN_TYPE_MAX: IPSEC_TOKEN_TYPE = 2i32;
6632 #[repr(C)]
6633 pub struct IPSEC_TRAFFIC0 {
6634     pub ipVersion: FWP_IP_VERSION,
6635     pub Anonymous1: IPSEC_TRAFFIC0_0,
6636     pub Anonymous2: IPSEC_TRAFFIC0_1,
6637     pub trafficType: IPSEC_TRAFFIC_TYPE,
6638     pub Anonymous3: IPSEC_TRAFFIC0_2,
6639     pub remotePort: u16,
6640 }
6641 impl ::core::marker::Copy for IPSEC_TRAFFIC0 {}
6642 impl ::core::clone::Clone for IPSEC_TRAFFIC0 {
clone(&self) -> Self6643     fn clone(&self) -> Self {
6644         *self
6645     }
6646 }
6647 #[repr(C)]
6648 pub union IPSEC_TRAFFIC0_0 {
6649     pub localV4Address: u32,
6650     pub localV6Address: [u8; 16],
6651 }
6652 impl ::core::marker::Copy for IPSEC_TRAFFIC0_0 {}
6653 impl ::core::clone::Clone for IPSEC_TRAFFIC0_0 {
clone(&self) -> Self6654     fn clone(&self) -> Self {
6655         *self
6656     }
6657 }
6658 #[repr(C)]
6659 pub union IPSEC_TRAFFIC0_1 {
6660     pub remoteV4Address: u32,
6661     pub remoteV6Address: [u8; 16],
6662 }
6663 impl ::core::marker::Copy for IPSEC_TRAFFIC0_1 {}
6664 impl ::core::clone::Clone for IPSEC_TRAFFIC0_1 {
clone(&self) -> Self6665     fn clone(&self) -> Self {
6666         *self
6667     }
6668 }
6669 #[repr(C)]
6670 pub union IPSEC_TRAFFIC0_2 {
6671     pub ipsecFilterId: u64,
6672     pub tunnelPolicyId: u64,
6673 }
6674 impl ::core::marker::Copy for IPSEC_TRAFFIC0_2 {}
6675 impl ::core::clone::Clone for IPSEC_TRAFFIC0_2 {
clone(&self) -> Self6676     fn clone(&self) -> Self {
6677         *self
6678     }
6679 }
6680 #[repr(C)]
6681 pub struct IPSEC_TRAFFIC1 {
6682     pub ipVersion: FWP_IP_VERSION,
6683     pub Anonymous1: IPSEC_TRAFFIC1_0,
6684     pub Anonymous2: IPSEC_TRAFFIC1_1,
6685     pub trafficType: IPSEC_TRAFFIC_TYPE,
6686     pub Anonymous3: IPSEC_TRAFFIC1_2,
6687     pub remotePort: u16,
6688     pub localPort: u16,
6689     pub ipProtocol: u8,
6690     pub localIfLuid: u64,
6691     pub realIfProfileId: u32,
6692 }
6693 impl ::core::marker::Copy for IPSEC_TRAFFIC1 {}
6694 impl ::core::clone::Clone for IPSEC_TRAFFIC1 {
clone(&self) -> Self6695     fn clone(&self) -> Self {
6696         *self
6697     }
6698 }
6699 #[repr(C)]
6700 pub union IPSEC_TRAFFIC1_0 {
6701     pub localV4Address: u32,
6702     pub localV6Address: [u8; 16],
6703 }
6704 impl ::core::marker::Copy for IPSEC_TRAFFIC1_0 {}
6705 impl ::core::clone::Clone for IPSEC_TRAFFIC1_0 {
clone(&self) -> Self6706     fn clone(&self) -> Self {
6707         *self
6708     }
6709 }
6710 #[repr(C)]
6711 pub union IPSEC_TRAFFIC1_1 {
6712     pub remoteV4Address: u32,
6713     pub remoteV6Address: [u8; 16],
6714 }
6715 impl ::core::marker::Copy for IPSEC_TRAFFIC1_1 {}
6716 impl ::core::clone::Clone for IPSEC_TRAFFIC1_1 {
clone(&self) -> Self6717     fn clone(&self) -> Self {
6718         *self
6719     }
6720 }
6721 #[repr(C)]
6722 pub union IPSEC_TRAFFIC1_2 {
6723     pub ipsecFilterId: u64,
6724     pub tunnelPolicyId: u64,
6725 }
6726 impl ::core::marker::Copy for IPSEC_TRAFFIC1_2 {}
6727 impl ::core::clone::Clone for IPSEC_TRAFFIC1_2 {
clone(&self) -> Self6728     fn clone(&self) -> Self {
6729         *self
6730     }
6731 }
6732 #[repr(C)]
6733 pub struct IPSEC_TRAFFIC_SELECTOR0_ {
6734     pub protocolId: u8,
6735     pub portStart: u16,
6736     pub portEnd: u16,
6737     pub ipVersion: FWP_IP_VERSION,
6738     pub Anonymous1: IPSEC_TRAFFIC_SELECTOR0__0,
6739     pub Anonymous2: IPSEC_TRAFFIC_SELECTOR0__1,
6740 }
6741 impl ::core::marker::Copy for IPSEC_TRAFFIC_SELECTOR0_ {}
6742 impl ::core::clone::Clone for IPSEC_TRAFFIC_SELECTOR0_ {
clone(&self) -> Self6743     fn clone(&self) -> Self {
6744         *self
6745     }
6746 }
6747 #[repr(C)]
6748 pub union IPSEC_TRAFFIC_SELECTOR0__0 {
6749     pub startV4Address: u32,
6750     pub startV6Address: [u8; 16],
6751 }
6752 impl ::core::marker::Copy for IPSEC_TRAFFIC_SELECTOR0__0 {}
6753 impl ::core::clone::Clone for IPSEC_TRAFFIC_SELECTOR0__0 {
clone(&self) -> Self6754     fn clone(&self) -> Self {
6755         *self
6756     }
6757 }
6758 #[repr(C)]
6759 pub union IPSEC_TRAFFIC_SELECTOR0__1 {
6760     pub endV4Address: u32,
6761     pub endV6Address: [u8; 16],
6762 }
6763 impl ::core::marker::Copy for IPSEC_TRAFFIC_SELECTOR0__1 {}
6764 impl ::core::clone::Clone for IPSEC_TRAFFIC_SELECTOR0__1 {
clone(&self) -> Self6765     fn clone(&self) -> Self {
6766         *self
6767     }
6768 }
6769 #[repr(C)]
6770 pub struct IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
6771     pub flags: u32,
6772     pub numLocalTrafficSelectors: u32,
6773     pub localTrafficSelectors: *mut IPSEC_TRAFFIC_SELECTOR0_,
6774     pub numRemoteTrafficSelectors: u32,
6775     pub remoteTrafficSelectors: *mut IPSEC_TRAFFIC_SELECTOR0_,
6776 }
6777 impl ::core::marker::Copy for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {}
6778 impl ::core::clone::Clone for IPSEC_TRAFFIC_SELECTOR_POLICY0_ {
clone(&self) -> Self6779     fn clone(&self) -> Self {
6780         *self
6781     }
6782 }
6783 #[repr(C)]
6784 pub struct IPSEC_TRAFFIC_STATISTICS0 {
6785     pub encryptedByteCount: u64,
6786     pub authenticatedAHByteCount: u64,
6787     pub authenticatedESPByteCount: u64,
6788     pub transportByteCount: u64,
6789     pub tunnelByteCount: u64,
6790     pub offloadByteCount: u64,
6791 }
6792 impl ::core::marker::Copy for IPSEC_TRAFFIC_STATISTICS0 {}
6793 impl ::core::clone::Clone for IPSEC_TRAFFIC_STATISTICS0 {
clone(&self) -> Self6794     fn clone(&self) -> Self {
6795         *self
6796     }
6797 }
6798 #[repr(C)]
6799 pub struct IPSEC_TRAFFIC_STATISTICS1 {
6800     pub encryptedByteCount: u64,
6801     pub authenticatedAHByteCount: u64,
6802     pub authenticatedESPByteCount: u64,
6803     pub transportByteCount: u64,
6804     pub tunnelByteCount: u64,
6805     pub offloadByteCount: u64,
6806     pub totalSuccessfulPackets: u64,
6807 }
6808 impl ::core::marker::Copy for IPSEC_TRAFFIC_STATISTICS1 {}
6809 impl ::core::clone::Clone for IPSEC_TRAFFIC_STATISTICS1 {
clone(&self) -> Self6810     fn clone(&self) -> Self {
6811         *self
6812     }
6813 }
6814 pub type IPSEC_TRAFFIC_TYPE = i32;
6815 pub const IPSEC_TRAFFIC_TYPE_TRANSPORT: IPSEC_TRAFFIC_TYPE = 0i32;
6816 pub const IPSEC_TRAFFIC_TYPE_TUNNEL: IPSEC_TRAFFIC_TYPE = 1i32;
6817 pub const IPSEC_TRAFFIC_TYPE_MAX: IPSEC_TRAFFIC_TYPE = 2i32;
6818 pub type IPSEC_TRANSFORM_TYPE = i32;
6819 pub const IPSEC_TRANSFORM_AH: IPSEC_TRANSFORM_TYPE = 1i32;
6820 pub const IPSEC_TRANSFORM_ESP_AUTH: IPSEC_TRANSFORM_TYPE = 2i32;
6821 pub const IPSEC_TRANSFORM_ESP_CIPHER: IPSEC_TRANSFORM_TYPE = 3i32;
6822 pub const IPSEC_TRANSFORM_ESP_AUTH_AND_CIPHER: IPSEC_TRANSFORM_TYPE = 4i32;
6823 pub const IPSEC_TRANSFORM_ESP_AUTH_FW: IPSEC_TRANSFORM_TYPE = 5i32;
6824 pub const IPSEC_TRANSFORM_TYPE_MAX: IPSEC_TRANSFORM_TYPE = 6i32;
6825 #[repr(C)]
6826 #[cfg(feature = "Win32_Foundation")]
6827 pub struct IPSEC_TRANSPORT_POLICY0 {
6828     pub numIpsecProposals: u32,
6829     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
6830     pub flags: IPSEC_POLICY_FLAG,
6831     pub ndAllowClearTimeoutSeconds: u32,
6832     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
6833     pub emPolicy: *mut IKEEXT_EM_POLICY0,
6834 }
6835 #[cfg(feature = "Win32_Foundation")]
6836 impl ::core::marker::Copy for IPSEC_TRANSPORT_POLICY0 {}
6837 #[cfg(feature = "Win32_Foundation")]
6838 impl ::core::clone::Clone for IPSEC_TRANSPORT_POLICY0 {
clone(&self) -> Self6839     fn clone(&self) -> Self {
6840         *self
6841     }
6842 }
6843 #[repr(C)]
6844 #[cfg(feature = "Win32_Foundation")]
6845 pub struct IPSEC_TRANSPORT_POLICY1 {
6846     pub numIpsecProposals: u32,
6847     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
6848     pub flags: IPSEC_POLICY_FLAG,
6849     pub ndAllowClearTimeoutSeconds: u32,
6850     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
6851     pub emPolicy: *mut IKEEXT_EM_POLICY1,
6852 }
6853 #[cfg(feature = "Win32_Foundation")]
6854 impl ::core::marker::Copy for IPSEC_TRANSPORT_POLICY1 {}
6855 #[cfg(feature = "Win32_Foundation")]
6856 impl ::core::clone::Clone for IPSEC_TRANSPORT_POLICY1 {
clone(&self) -> Self6857     fn clone(&self) -> Self {
6858         *self
6859     }
6860 }
6861 #[repr(C)]
6862 #[cfg(feature = "Win32_Foundation")]
6863 pub struct IPSEC_TRANSPORT_POLICY2 {
6864     pub numIpsecProposals: u32,
6865     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
6866     pub flags: IPSEC_POLICY_FLAG,
6867     pub ndAllowClearTimeoutSeconds: u32,
6868     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
6869     pub emPolicy: *mut IKEEXT_EM_POLICY2,
6870 }
6871 #[cfg(feature = "Win32_Foundation")]
6872 impl ::core::marker::Copy for IPSEC_TRANSPORT_POLICY2 {}
6873 #[cfg(feature = "Win32_Foundation")]
6874 impl ::core::clone::Clone for IPSEC_TRANSPORT_POLICY2 {
clone(&self) -> Self6875     fn clone(&self) -> Self {
6876         *self
6877     }
6878 }
6879 #[repr(C)]
6880 pub struct IPSEC_TUNNEL_ENDPOINT0 {
6881     pub ipVersion: FWP_IP_VERSION,
6882     pub Anonymous: IPSEC_TUNNEL_ENDPOINT0_0,
6883 }
6884 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINT0 {}
6885 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINT0 {
clone(&self) -> Self6886     fn clone(&self) -> Self {
6887         *self
6888     }
6889 }
6890 #[repr(C)]
6891 pub union IPSEC_TUNNEL_ENDPOINT0_0 {
6892     pub v4Address: u32,
6893     pub v6Address: [u8; 16],
6894 }
6895 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINT0_0 {}
6896 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINT0_0 {
clone(&self) -> Self6897     fn clone(&self) -> Self {
6898         *self
6899     }
6900 }
6901 #[repr(C)]
6902 pub struct IPSEC_TUNNEL_ENDPOINTS0 {
6903     pub ipVersion: FWP_IP_VERSION,
6904     pub Anonymous1: IPSEC_TUNNEL_ENDPOINTS0_0,
6905     pub Anonymous2: IPSEC_TUNNEL_ENDPOINTS0_1,
6906 }
6907 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS0 {}
6908 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS0 {
clone(&self) -> Self6909     fn clone(&self) -> Self {
6910         *self
6911     }
6912 }
6913 #[repr(C)]
6914 pub union IPSEC_TUNNEL_ENDPOINTS0_0 {
6915     pub localV4Address: u32,
6916     pub localV6Address: [u8; 16],
6917 }
6918 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS0_0 {}
6919 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS0_0 {
clone(&self) -> Self6920     fn clone(&self) -> Self {
6921         *self
6922     }
6923 }
6924 #[repr(C)]
6925 pub union IPSEC_TUNNEL_ENDPOINTS0_1 {
6926     pub remoteV4Address: u32,
6927     pub remoteV6Address: [u8; 16],
6928 }
6929 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS0_1 {}
6930 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS0_1 {
clone(&self) -> Self6931     fn clone(&self) -> Self {
6932         *self
6933     }
6934 }
6935 #[repr(C)]
6936 pub struct IPSEC_TUNNEL_ENDPOINTS1 {
6937     pub ipVersion: FWP_IP_VERSION,
6938     pub Anonymous1: IPSEC_TUNNEL_ENDPOINTS1_0,
6939     pub Anonymous2: IPSEC_TUNNEL_ENDPOINTS1_1,
6940     pub localIfLuid: u64,
6941 }
6942 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS1 {}
6943 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS1 {
clone(&self) -> Self6944     fn clone(&self) -> Self {
6945         *self
6946     }
6947 }
6948 #[repr(C)]
6949 pub union IPSEC_TUNNEL_ENDPOINTS1_0 {
6950     pub localV4Address: u32,
6951     pub localV6Address: [u8; 16],
6952 }
6953 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS1_0 {}
6954 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS1_0 {
clone(&self) -> Self6955     fn clone(&self) -> Self {
6956         *self
6957     }
6958 }
6959 #[repr(C)]
6960 pub union IPSEC_TUNNEL_ENDPOINTS1_1 {
6961     pub remoteV4Address: u32,
6962     pub remoteV6Address: [u8; 16],
6963 }
6964 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS1_1 {}
6965 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS1_1 {
clone(&self) -> Self6966     fn clone(&self) -> Self {
6967         *self
6968     }
6969 }
6970 #[repr(C)]
6971 #[cfg(feature = "Win32_Foundation")]
6972 pub struct IPSEC_TUNNEL_ENDPOINTS2 {
6973     pub ipVersion: FWP_IP_VERSION,
6974     pub Anonymous1: IPSEC_TUNNEL_ENDPOINTS2_0,
6975     pub Anonymous2: IPSEC_TUNNEL_ENDPOINTS2_1,
6976     pub localIfLuid: u64,
6977     pub remoteFqdn: super::super::Foundation::PWSTR,
6978     pub numAddresses: u32,
6979     pub remoteAddresses: *mut IPSEC_TUNNEL_ENDPOINT0,
6980 }
6981 #[cfg(feature = "Win32_Foundation")]
6982 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS2 {}
6983 #[cfg(feature = "Win32_Foundation")]
6984 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS2 {
clone(&self) -> Self6985     fn clone(&self) -> Self {
6986         *self
6987     }
6988 }
6989 #[repr(C)]
6990 #[cfg(feature = "Win32_Foundation")]
6991 pub union IPSEC_TUNNEL_ENDPOINTS2_0 {
6992     pub localV4Address: u32,
6993     pub localV6Address: [u8; 16],
6994 }
6995 #[cfg(feature = "Win32_Foundation")]
6996 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS2_0 {}
6997 #[cfg(feature = "Win32_Foundation")]
6998 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS2_0 {
clone(&self) -> Self6999     fn clone(&self) -> Self {
7000         *self
7001     }
7002 }
7003 #[repr(C)]
7004 #[cfg(feature = "Win32_Foundation")]
7005 pub union IPSEC_TUNNEL_ENDPOINTS2_1 {
7006     pub remoteV4Address: u32,
7007     pub remoteV6Address: [u8; 16],
7008 }
7009 #[cfg(feature = "Win32_Foundation")]
7010 impl ::core::marker::Copy for IPSEC_TUNNEL_ENDPOINTS2_1 {}
7011 #[cfg(feature = "Win32_Foundation")]
7012 impl ::core::clone::Clone for IPSEC_TUNNEL_ENDPOINTS2_1 {
clone(&self) -> Self7013     fn clone(&self) -> Self {
7014         *self
7015     }
7016 }
7017 #[repr(C)]
7018 #[cfg(feature = "Win32_Foundation")]
7019 pub struct IPSEC_TUNNEL_POLICY0 {
7020     pub flags: IPSEC_POLICY_FLAG,
7021     pub numIpsecProposals: u32,
7022     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
7023     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS0,
7024     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
7025     pub emPolicy: *mut IKEEXT_EM_POLICY0,
7026 }
7027 #[cfg(feature = "Win32_Foundation")]
7028 impl ::core::marker::Copy for IPSEC_TUNNEL_POLICY0 {}
7029 #[cfg(feature = "Win32_Foundation")]
7030 impl ::core::clone::Clone for IPSEC_TUNNEL_POLICY0 {
clone(&self) -> Self7031     fn clone(&self) -> Self {
7032         *self
7033     }
7034 }
7035 #[repr(C)]
7036 #[cfg(feature = "Win32_Foundation")]
7037 pub struct IPSEC_TUNNEL_POLICY1 {
7038     pub flags: IPSEC_POLICY_FLAG,
7039     pub numIpsecProposals: u32,
7040     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
7041     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS1,
7042     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
7043     pub emPolicy: *mut IKEEXT_EM_POLICY1,
7044 }
7045 #[cfg(feature = "Win32_Foundation")]
7046 impl ::core::marker::Copy for IPSEC_TUNNEL_POLICY1 {}
7047 #[cfg(feature = "Win32_Foundation")]
7048 impl ::core::clone::Clone for IPSEC_TUNNEL_POLICY1 {
clone(&self) -> Self7049     fn clone(&self) -> Self {
7050         *self
7051     }
7052 }
7053 #[repr(C)]
7054 #[cfg(feature = "Win32_Foundation")]
7055 pub struct IPSEC_TUNNEL_POLICY2 {
7056     pub flags: IPSEC_POLICY_FLAG,
7057     pub numIpsecProposals: u32,
7058     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
7059     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS2,
7060     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
7061     pub emPolicy: *mut IKEEXT_EM_POLICY2,
7062     pub fwdPathSaLifetime: u32,
7063 }
7064 #[cfg(feature = "Win32_Foundation")]
7065 impl ::core::marker::Copy for IPSEC_TUNNEL_POLICY2 {}
7066 #[cfg(feature = "Win32_Foundation")]
7067 impl ::core::clone::Clone for IPSEC_TUNNEL_POLICY2 {
clone(&self) -> Self7068     fn clone(&self) -> Self {
7069         *self
7070     }
7071 }
7072 #[repr(C)]
7073 #[cfg(feature = "Win32_Foundation")]
7074 pub struct IPSEC_TUNNEL_POLICY3_ {
7075     pub flags: u32,
7076     pub numIpsecProposals: u32,
7077     pub ipsecProposals: *mut IPSEC_PROPOSAL0,
7078     pub tunnelEndpoints: IPSEC_TUNNEL_ENDPOINTS2,
7079     pub saIdleTimeout: IPSEC_SA_IDLE_TIMEOUT0,
7080     pub emPolicy: *mut IKEEXT_EM_POLICY2,
7081     pub fwdPathSaLifetime: u32,
7082     pub compartmentId: u32,
7083     pub numTrafficSelectorPolicy: u32,
7084     pub trafficSelectorPolicies: *mut IPSEC_TRAFFIC_SELECTOR_POLICY0_,
7085 }
7086 #[cfg(feature = "Win32_Foundation")]
7087 impl ::core::marker::Copy for IPSEC_TUNNEL_POLICY3_ {}
7088 #[cfg(feature = "Win32_Foundation")]
7089 impl ::core::clone::Clone for IPSEC_TUNNEL_POLICY3_ {
clone(&self) -> Self7090     fn clone(&self) -> Self {
7091         *self
7092     }
7093 }
7094 #[repr(C)]
7095 pub struct IPSEC_V4_UDP_ENCAPSULATION0 {
7096     pub localUdpEncapPort: u16,
7097     pub remoteUdpEncapPort: u16,
7098 }
7099 impl ::core::marker::Copy for IPSEC_V4_UDP_ENCAPSULATION0 {}
7100 impl ::core::clone::Clone for IPSEC_V4_UDP_ENCAPSULATION0 {
clone(&self) -> Self7101     fn clone(&self) -> Self {
7102         *self
7103     }
7104 }
7105 #[repr(C)]
7106 pub struct IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
7107     pub virtualIfTunnelId: u64,
7108     pub trafficSelectorId: u64,
7109 }
7110 impl ::core::marker::Copy for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {}
7111 impl ::core::clone::Clone for IPSEC_VIRTUAL_IF_TUNNEL_INFO0 {
clone(&self) -> Self7112     fn clone(&self) -> Self {
7113         *self
7114     }
7115 }
7116 #[repr(C, packed(1))]
7117 pub struct IPTLS_METADATA {
7118     pub SequenceNumber: u64,
7119 }
7120 impl ::core::marker::Copy for IPTLS_METADATA {}
7121 impl ::core::clone::Clone for IPTLS_METADATA {
clone(&self) -> Self7122     fn clone(&self) -> Self {
7123         *self
7124     }
7125 }
7126 #[repr(C)]
7127 #[cfg(feature = "Win32_Networking_WinSock")]
7128 pub struct IPV4_HEADER {
7129     pub Anonymous1: IPV4_HEADER_0,
7130     pub Anonymous2: IPV4_HEADER_1,
7131     pub TotalLength: u16,
7132     pub Identification: u16,
7133     pub Anonymous3: IPV4_HEADER_2,
7134     pub TimeToLive: u8,
7135     pub Protocol: u8,
7136     pub HeaderChecksum: u16,
7137     pub SourceAddress: super::super::Networking::WinSock::IN_ADDR,
7138     pub DestinationAddress: super::super::Networking::WinSock::IN_ADDR,
7139 }
7140 #[cfg(feature = "Win32_Networking_WinSock")]
7141 impl ::core::marker::Copy for IPV4_HEADER {}
7142 #[cfg(feature = "Win32_Networking_WinSock")]
7143 impl ::core::clone::Clone for IPV4_HEADER {
clone(&self) -> Self7144     fn clone(&self) -> Self {
7145         *self
7146     }
7147 }
7148 #[repr(C)]
7149 #[cfg(feature = "Win32_Networking_WinSock")]
7150 pub union IPV4_HEADER_0 {
7151     pub VersionAndHeaderLength: u8,
7152     pub Anonymous: IPV4_HEADER_0_0,
7153 }
7154 #[cfg(feature = "Win32_Networking_WinSock")]
7155 impl ::core::marker::Copy for IPV4_HEADER_0 {}
7156 #[cfg(feature = "Win32_Networking_WinSock")]
7157 impl ::core::clone::Clone for IPV4_HEADER_0 {
clone(&self) -> Self7158     fn clone(&self) -> Self {
7159         *self
7160     }
7161 }
7162 #[repr(C)]
7163 #[cfg(feature = "Win32_Networking_WinSock")]
7164 pub struct IPV4_HEADER_0_0 {
7165     pub _bitfield: u8,
7166 }
7167 #[cfg(feature = "Win32_Networking_WinSock")]
7168 impl ::core::marker::Copy for IPV4_HEADER_0_0 {}
7169 #[cfg(feature = "Win32_Networking_WinSock")]
7170 impl ::core::clone::Clone for IPV4_HEADER_0_0 {
clone(&self) -> Self7171     fn clone(&self) -> Self {
7172         *self
7173     }
7174 }
7175 #[repr(C)]
7176 #[cfg(feature = "Win32_Networking_WinSock")]
7177 pub union IPV4_HEADER_1 {
7178     pub TypeOfServiceAndEcnField: u8,
7179     pub Anonymous: IPV4_HEADER_1_0,
7180 }
7181 #[cfg(feature = "Win32_Networking_WinSock")]
7182 impl ::core::marker::Copy for IPV4_HEADER_1 {}
7183 #[cfg(feature = "Win32_Networking_WinSock")]
7184 impl ::core::clone::Clone for IPV4_HEADER_1 {
clone(&self) -> Self7185     fn clone(&self) -> Self {
7186         *self
7187     }
7188 }
7189 #[repr(C)]
7190 #[cfg(feature = "Win32_Networking_WinSock")]
7191 pub struct IPV4_HEADER_1_0 {
7192     pub _bitfield: u8,
7193 }
7194 #[cfg(feature = "Win32_Networking_WinSock")]
7195 impl ::core::marker::Copy for IPV4_HEADER_1_0 {}
7196 #[cfg(feature = "Win32_Networking_WinSock")]
7197 impl ::core::clone::Clone for IPV4_HEADER_1_0 {
clone(&self) -> Self7198     fn clone(&self) -> Self {
7199         *self
7200     }
7201 }
7202 #[repr(C)]
7203 #[cfg(feature = "Win32_Networking_WinSock")]
7204 pub union IPV4_HEADER_2 {
7205     pub FlagsAndOffset: u16,
7206     pub Anonymous: IPV4_HEADER_2_0,
7207 }
7208 #[cfg(feature = "Win32_Networking_WinSock")]
7209 impl ::core::marker::Copy for IPV4_HEADER_2 {}
7210 #[cfg(feature = "Win32_Networking_WinSock")]
7211 impl ::core::clone::Clone for IPV4_HEADER_2 {
clone(&self) -> Self7212     fn clone(&self) -> Self {
7213         *self
7214     }
7215 }
7216 #[repr(C)]
7217 #[cfg(feature = "Win32_Networking_WinSock")]
7218 pub struct IPV4_HEADER_2_0 {
7219     pub _bitfield: u16,
7220 }
7221 #[cfg(feature = "Win32_Networking_WinSock")]
7222 impl ::core::marker::Copy for IPV4_HEADER_2_0 {}
7223 #[cfg(feature = "Win32_Networking_WinSock")]
7224 impl ::core::clone::Clone for IPV4_HEADER_2_0 {
clone(&self) -> Self7225     fn clone(&self) -> Self {
7226         *self
7227     }
7228 }
7229 pub const IPV4_MAX_MINIMUM_MTU: u32 = 576u32;
7230 pub const IPV4_MINIMUM_MTU: u32 = 576u32;
7231 pub const IPV4_MIN_MINIMUM_MTU: u32 = 352u32;
7232 #[repr(C)]
7233 pub struct IPV4_OPTION_HEADER {
7234     pub Anonymous: IPV4_OPTION_HEADER_0,
7235     pub OptionLength: u8,
7236 }
7237 impl ::core::marker::Copy for IPV4_OPTION_HEADER {}
7238 impl ::core::clone::Clone for IPV4_OPTION_HEADER {
clone(&self) -> Self7239     fn clone(&self) -> Self {
7240         *self
7241     }
7242 }
7243 #[repr(C)]
7244 pub union IPV4_OPTION_HEADER_0 {
7245     pub OptionType: u8,
7246     pub Anonymous: IPV4_OPTION_HEADER_0_0,
7247 }
7248 impl ::core::marker::Copy for IPV4_OPTION_HEADER_0 {}
7249 impl ::core::clone::Clone for IPV4_OPTION_HEADER_0 {
clone(&self) -> Self7250     fn clone(&self) -> Self {
7251         *self
7252     }
7253 }
7254 #[repr(C)]
7255 pub struct IPV4_OPTION_HEADER_0_0 {
7256     pub _bitfield: u8,
7257 }
7258 impl ::core::marker::Copy for IPV4_OPTION_HEADER_0_0 {}
7259 impl ::core::clone::Clone for IPV4_OPTION_HEADER_0_0 {
clone(&self) -> Self7260     fn clone(&self) -> Self {
7261         *self
7262     }
7263 }
7264 pub type IPV4_OPTION_TYPE = i32;
7265 pub const IP_OPT_EOL: IPV4_OPTION_TYPE = 0i32;
7266 pub const IP_OPT_NOP: IPV4_OPTION_TYPE = 1i32;
7267 pub const IP_OPT_SECURITY: IPV4_OPTION_TYPE = 130i32;
7268 pub const IP_OPT_LSRR: IPV4_OPTION_TYPE = 131i32;
7269 pub const IP_OPT_TS: IPV4_OPTION_TYPE = 68i32;
7270 pub const IP_OPT_RR: IPV4_OPTION_TYPE = 7i32;
7271 pub const IP_OPT_SSRR: IPV4_OPTION_TYPE = 137i32;
7272 pub const IP_OPT_SID: IPV4_OPTION_TYPE = 136i32;
7273 pub const IP_OPT_ROUTER_ALERT: IPV4_OPTION_TYPE = 148i32;
7274 pub const IP_OPT_MULTIDEST: IPV4_OPTION_TYPE = 149i32;
7275 #[repr(C)]
7276 pub struct IPV4_ROUTING_HEADER {
7277     pub OptionHeader: IPV4_OPTION_HEADER,
7278     pub Pointer: u8,
7279 }
7280 impl ::core::marker::Copy for IPV4_ROUTING_HEADER {}
7281 impl ::core::clone::Clone for IPV4_ROUTING_HEADER {
clone(&self) -> Self7282     fn clone(&self) -> Self {
7283         *self
7284     }
7285 }
7286 #[repr(C)]
7287 pub struct IPV4_TIMESTAMP_OPTION {
7288     pub OptionHeader: IPV4_OPTION_HEADER,
7289     pub Pointer: u8,
7290     pub Anonymous: IPV4_TIMESTAMP_OPTION_0,
7291 }
7292 impl ::core::marker::Copy for IPV4_TIMESTAMP_OPTION {}
7293 impl ::core::clone::Clone for IPV4_TIMESTAMP_OPTION {
clone(&self) -> Self7294     fn clone(&self) -> Self {
7295         *self
7296     }
7297 }
7298 #[repr(C)]
7299 pub union IPV4_TIMESTAMP_OPTION_0 {
7300     pub FlagsOverflow: u8,
7301     pub Anonymous: IPV4_TIMESTAMP_OPTION_0_0,
7302 }
7303 impl ::core::marker::Copy for IPV4_TIMESTAMP_OPTION_0 {}
7304 impl ::core::clone::Clone for IPV4_TIMESTAMP_OPTION_0 {
clone(&self) -> Self7305     fn clone(&self) -> Self {
7306         *self
7307     }
7308 }
7309 #[repr(C)]
7310 pub struct IPV4_TIMESTAMP_OPTION_0_0 {
7311     pub _bitfield: u8,
7312 }
7313 impl ::core::marker::Copy for IPV4_TIMESTAMP_OPTION_0_0 {}
7314 impl ::core::clone::Clone for IPV4_TIMESTAMP_OPTION_0_0 {
clone(&self) -> Self7315     fn clone(&self) -> Self {
7316         *self
7317     }
7318 }
7319 pub const IPV4_VERSION: u32 = 4u32;
7320 pub const IPV6_ECN_MASK: u32 = 12288u32;
7321 pub const IPV6_ECN_SHIFT: u32 = 12u32;
7322 #[repr(C)]
7323 pub struct IPV6_EXTENSION_HEADER {
7324     pub NextHeader: u8,
7325     pub Length: u8,
7326 }
7327 impl ::core::marker::Copy for IPV6_EXTENSION_HEADER {}
7328 impl ::core::clone::Clone for IPV6_EXTENSION_HEADER {
clone(&self) -> Self7329     fn clone(&self) -> Self {
7330         *self
7331     }
7332 }
7333 pub const IPV6_FLOW_LABEL_MASK: u32 = 4294905600u32;
7334 #[repr(C)]
7335 pub struct IPV6_FRAGMENT_HEADER {
7336     pub NextHeader: u8,
7337     pub Reserved: u8,
7338     pub Anonymous: IPV6_FRAGMENT_HEADER_0,
7339     pub Id: u32,
7340 }
7341 impl ::core::marker::Copy for IPV6_FRAGMENT_HEADER {}
7342 impl ::core::clone::Clone for IPV6_FRAGMENT_HEADER {
clone(&self) -> Self7343     fn clone(&self) -> Self {
7344         *self
7345     }
7346 }
7347 #[repr(C)]
7348 pub union IPV6_FRAGMENT_HEADER_0 {
7349     pub Anonymous: IPV6_FRAGMENT_HEADER_0_0,
7350     pub OffsetAndFlags: u16,
7351 }
7352 impl ::core::marker::Copy for IPV6_FRAGMENT_HEADER_0 {}
7353 impl ::core::clone::Clone for IPV6_FRAGMENT_HEADER_0 {
clone(&self) -> Self7354     fn clone(&self) -> Self {
7355         *self
7356     }
7357 }
7358 #[repr(C)]
7359 pub struct IPV6_FRAGMENT_HEADER_0_0 {
7360     pub _bitfield: u16,
7361 }
7362 impl ::core::marker::Copy for IPV6_FRAGMENT_HEADER_0_0 {}
7363 impl ::core::clone::Clone for IPV6_FRAGMENT_HEADER_0_0 {
clone(&self) -> Self7364     fn clone(&self) -> Self {
7365         *self
7366     }
7367 }
7368 pub const IPV6_FULL_TRAFFIC_CLASS_MASK: u32 = 61455u32;
7369 #[repr(C)]
7370 #[cfg(feature = "Win32_Networking_WinSock")]
7371 pub struct IPV6_HEADER {
7372     pub Anonymous: IPV6_HEADER_0,
7373     pub PayloadLength: u16,
7374     pub NextHeader: u8,
7375     pub HopLimit: u8,
7376     pub SourceAddress: super::super::Networking::WinSock::IN6_ADDR,
7377     pub DestinationAddress: super::super::Networking::WinSock::IN6_ADDR,
7378 }
7379 #[cfg(feature = "Win32_Networking_WinSock")]
7380 impl ::core::marker::Copy for IPV6_HEADER {}
7381 #[cfg(feature = "Win32_Networking_WinSock")]
7382 impl ::core::clone::Clone for IPV6_HEADER {
clone(&self) -> Self7383     fn clone(&self) -> Self {
7384         *self
7385     }
7386 }
7387 #[repr(C)]
7388 #[cfg(feature = "Win32_Networking_WinSock")]
7389 pub union IPV6_HEADER_0 {
7390     pub VersionClassFlow: u32,
7391     pub Anonymous: IPV6_HEADER_0_0,
7392 }
7393 #[cfg(feature = "Win32_Networking_WinSock")]
7394 impl ::core::marker::Copy for IPV6_HEADER_0 {}
7395 #[cfg(feature = "Win32_Networking_WinSock")]
7396 impl ::core::clone::Clone for IPV6_HEADER_0 {
clone(&self) -> Self7397     fn clone(&self) -> Self {
7398         *self
7399     }
7400 }
7401 #[repr(C)]
7402 #[cfg(feature = "Win32_Networking_WinSock")]
7403 pub struct IPV6_HEADER_0_0 {
7404     pub _bitfield: u32,
7405 }
7406 #[cfg(feature = "Win32_Networking_WinSock")]
7407 impl ::core::marker::Copy for IPV6_HEADER_0_0 {}
7408 #[cfg(feature = "Win32_Networking_WinSock")]
7409 impl ::core::clone::Clone for IPV6_HEADER_0_0 {
clone(&self) -> Self7410     fn clone(&self) -> Self {
7411         *self
7412     }
7413 }
7414 pub const IPV6_MINIMUM_MTU: u32 = 1280u32;
7415 #[repr(C)]
7416 pub union IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {
7417     pub Anonymous: IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0,
7418     pub Value: u32,
7419 }
7420 impl ::core::marker::Copy for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {}
7421 impl ::core::clone::Clone for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS {
clone(&self) -> Self7422     fn clone(&self) -> Self {
7423         *self
7424     }
7425 }
7426 #[repr(C)]
7427 pub struct IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
7428     pub _bitfield: u8,
7429     pub Reserved2: [u8; 3],
7430 }
7431 impl ::core::marker::Copy for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {}
7432 impl ::core::clone::Clone for IPV6_NEIGHBOR_ADVERTISEMENT_FLAGS_0 {
clone(&self) -> Self7433     fn clone(&self) -> Self {
7434         *self
7435     }
7436 }
7437 #[repr(C)]
7438 pub struct IPV6_OPTION_HEADER {
7439     pub Type: u8,
7440     pub DataLength: u8,
7441 }
7442 impl ::core::marker::Copy for IPV6_OPTION_HEADER {}
7443 impl ::core::clone::Clone for IPV6_OPTION_HEADER {
clone(&self) -> Self7444     fn clone(&self) -> Self {
7445         *self
7446     }
7447 }
7448 #[repr(C)]
7449 pub struct IPV6_OPTION_JUMBOGRAM {
7450     pub Header: IPV6_OPTION_HEADER,
7451     pub JumbogramLength: [u8; 4],
7452 }
7453 impl ::core::marker::Copy for IPV6_OPTION_JUMBOGRAM {}
7454 impl ::core::clone::Clone for IPV6_OPTION_JUMBOGRAM {
clone(&self) -> Self7455     fn clone(&self) -> Self {
7456         *self
7457     }
7458 }
7459 #[repr(C)]
7460 pub struct IPV6_OPTION_ROUTER_ALERT {
7461     pub Header: IPV6_OPTION_HEADER,
7462     pub Value: [u8; 2],
7463 }
7464 impl ::core::marker::Copy for IPV6_OPTION_ROUTER_ALERT {}
7465 impl ::core::clone::Clone for IPV6_OPTION_ROUTER_ALERT {
clone(&self) -> Self7466     fn clone(&self) -> Self {
7467         *self
7468     }
7469 }
7470 pub type IPV6_OPTION_TYPE = i32;
7471 pub const IP6OPT_PAD1: IPV6_OPTION_TYPE = 0i32;
7472 pub const IP6OPT_PADN: IPV6_OPTION_TYPE = 1i32;
7473 pub const IP6OPT_TUNNEL_LIMIT: IPV6_OPTION_TYPE = 4i32;
7474 pub const IP6OPT_ROUTER_ALERT: IPV6_OPTION_TYPE = 5i32;
7475 pub const IP6OPT_JUMBO: IPV6_OPTION_TYPE = 194i32;
7476 pub const IP6OPT_NSAP_ADDR: IPV6_OPTION_TYPE = 195i32;
7477 #[repr(C)]
7478 pub union IPV6_ROUTER_ADVERTISEMENT_FLAGS {
7479     pub Anonymous: IPV6_ROUTER_ADVERTISEMENT_FLAGS_0,
7480     pub Value: u8,
7481 }
7482 impl ::core::marker::Copy for IPV6_ROUTER_ADVERTISEMENT_FLAGS {}
7483 impl ::core::clone::Clone for IPV6_ROUTER_ADVERTISEMENT_FLAGS {
clone(&self) -> Self7484     fn clone(&self) -> Self {
7485         *self
7486     }
7487 }
7488 #[repr(C)]
7489 pub struct IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
7490     pub _bitfield: u8,
7491 }
7492 impl ::core::marker::Copy for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {}
7493 impl ::core::clone::Clone for IPV6_ROUTER_ADVERTISEMENT_FLAGS_0 {
clone(&self) -> Self7494     fn clone(&self) -> Self {
7495         *self
7496     }
7497 }
7498 #[repr(C)]
7499 pub struct IPV6_ROUTING_HEADER {
7500     pub NextHeader: u8,
7501     pub Length: u8,
7502     pub RoutingType: u8,
7503     pub SegmentsLeft: u8,
7504     pub Reserved: [u8; 4],
7505 }
7506 impl ::core::marker::Copy for IPV6_ROUTING_HEADER {}
7507 impl ::core::clone::Clone for IPV6_ROUTING_HEADER {
clone(&self) -> Self7508     fn clone(&self) -> Self {
7509         *self
7510     }
7511 }
7512 pub const IPV6_TRAFFIC_CLASS_MASK: u32 = 49167u32;
7513 pub const IPV6_VERSION: u32 = 96u32;
7514 pub type IP_OPTION_TIMESTAMP_FLAGS = i32;
7515 pub const IP_OPTION_TIMESTAMP_ONLY: IP_OPTION_TIMESTAMP_FLAGS = 0i32;
7516 pub const IP_OPTION_TIMESTAMP_ADDRESS: IP_OPTION_TIMESTAMP_FLAGS = 1i32;
7517 pub const IP_OPTION_TIMESTAMP_SPECIFIC_ADDRESS: IP_OPTION_TIMESTAMP_FLAGS = 3i32;
7518 pub const IP_VER_MASK: u32 = 240u32;
7519 pub const MAX_IPV4_HLEN: u32 = 60u32;
7520 pub const MAX_IPV4_PACKET: u32 = 65535u32;
7521 pub const MAX_IPV6_PAYLOAD: u32 = 65535u32;
7522 #[repr(C)]
7523 #[cfg(feature = "Win32_Networking_WinSock")]
7524 pub struct MLDV2_QUERY_HEADER {
7525     pub IcmpHeader: ICMP_HEADER,
7526     pub Anonymous1: MLDV2_QUERY_HEADER_0,
7527     pub Reserved: u16,
7528     pub MulticastAddress: super::super::Networking::WinSock::IN6_ADDR,
7529     pub _bitfield: u8,
7530     pub Anonymous2: MLDV2_QUERY_HEADER_1,
7531     pub SourceCount: u16,
7532 }
7533 #[cfg(feature = "Win32_Networking_WinSock")]
7534 impl ::core::marker::Copy for MLDV2_QUERY_HEADER {}
7535 #[cfg(feature = "Win32_Networking_WinSock")]
7536 impl ::core::clone::Clone for MLDV2_QUERY_HEADER {
clone(&self) -> Self7537     fn clone(&self) -> Self {
7538         *self
7539     }
7540 }
7541 #[repr(C)]
7542 #[cfg(feature = "Win32_Networking_WinSock")]
7543 pub union MLDV2_QUERY_HEADER_0 {
7544     pub MaxRespCode: u16,
7545     pub Anonymous: MLDV2_QUERY_HEADER_0_0,
7546 }
7547 #[cfg(feature = "Win32_Networking_WinSock")]
7548 impl ::core::marker::Copy for MLDV2_QUERY_HEADER_0 {}
7549 #[cfg(feature = "Win32_Networking_WinSock")]
7550 impl ::core::clone::Clone for MLDV2_QUERY_HEADER_0 {
clone(&self) -> Self7551     fn clone(&self) -> Self {
7552         *self
7553     }
7554 }
7555 #[repr(C)]
7556 #[cfg(feature = "Win32_Networking_WinSock")]
7557 pub struct MLDV2_QUERY_HEADER_0_0 {
7558     pub _bitfield: u16,
7559 }
7560 #[cfg(feature = "Win32_Networking_WinSock")]
7561 impl ::core::marker::Copy for MLDV2_QUERY_HEADER_0_0 {}
7562 #[cfg(feature = "Win32_Networking_WinSock")]
7563 impl ::core::clone::Clone for MLDV2_QUERY_HEADER_0_0 {
clone(&self) -> Self7564     fn clone(&self) -> Self {
7565         *self
7566     }
7567 }
7568 #[repr(C)]
7569 #[cfg(feature = "Win32_Networking_WinSock")]
7570 pub union MLDV2_QUERY_HEADER_1 {
7571     pub QueriersQueryInterfaceCode: u8,
7572     pub Anonymous: MLDV2_QUERY_HEADER_1_0,
7573 }
7574 #[cfg(feature = "Win32_Networking_WinSock")]
7575 impl ::core::marker::Copy for MLDV2_QUERY_HEADER_1 {}
7576 #[cfg(feature = "Win32_Networking_WinSock")]
7577 impl ::core::clone::Clone for MLDV2_QUERY_HEADER_1 {
clone(&self) -> Self7578     fn clone(&self) -> Self {
7579         *self
7580     }
7581 }
7582 #[repr(C)]
7583 #[cfg(feature = "Win32_Networking_WinSock")]
7584 pub struct MLDV2_QUERY_HEADER_1_0 {
7585     pub _bitfield: u8,
7586 }
7587 #[cfg(feature = "Win32_Networking_WinSock")]
7588 impl ::core::marker::Copy for MLDV2_QUERY_HEADER_1_0 {}
7589 #[cfg(feature = "Win32_Networking_WinSock")]
7590 impl ::core::clone::Clone for MLDV2_QUERY_HEADER_1_0 {
clone(&self) -> Self7591     fn clone(&self) -> Self {
7592         *self
7593     }
7594 }
7595 #[repr(C)]
7596 pub struct MLDV2_REPORT_HEADER {
7597     pub IcmpHeader: ICMP_HEADER,
7598     pub Reserved: u16,
7599     pub RecordCount: u16,
7600 }
7601 impl ::core::marker::Copy for MLDV2_REPORT_HEADER {}
7602 impl ::core::clone::Clone for MLDV2_REPORT_HEADER {
clone(&self) -> Self7603     fn clone(&self) -> Self {
7604         *self
7605     }
7606 }
7607 #[repr(C)]
7608 #[cfg(feature = "Win32_Networking_WinSock")]
7609 pub struct MLDV2_REPORT_RECORD_HEADER {
7610     pub Type: u8,
7611     pub AuxillaryDataLength: u8,
7612     pub SourceCount: u16,
7613     pub MulticastAddress: super::super::Networking::WinSock::IN6_ADDR,
7614 }
7615 #[cfg(feature = "Win32_Networking_WinSock")]
7616 impl ::core::marker::Copy for MLDV2_REPORT_RECORD_HEADER {}
7617 #[cfg(feature = "Win32_Networking_WinSock")]
7618 impl ::core::clone::Clone for MLDV2_REPORT_RECORD_HEADER {
clone(&self) -> Self7619     fn clone(&self) -> Self {
7620         *self
7621     }
7622 }
7623 #[repr(C)]
7624 #[cfg(feature = "Win32_Networking_WinSock")]
7625 pub struct MLD_HEADER {
7626     pub IcmpHeader: ICMP_HEADER,
7627     pub MaxRespTime: u16,
7628     pub Reserved: u16,
7629     pub MulticastAddress: super::super::Networking::WinSock::IN6_ADDR,
7630 }
7631 #[cfg(feature = "Win32_Networking_WinSock")]
7632 impl ::core::marker::Copy for MLD_HEADER {}
7633 #[cfg(feature = "Win32_Networking_WinSock")]
7634 impl ::core::clone::Clone for MLD_HEADER {
clone(&self) -> Self7635     fn clone(&self) -> Self {
7636         *self
7637     }
7638 }
7639 pub type MLD_MAX_RESP_CODE_TYPE = i32;
7640 pub const MLD_MAX_RESP_CODE_TYPE_NORMAL: MLD_MAX_RESP_CODE_TYPE = 0i32;
7641 pub const MLD_MAX_RESP_CODE_TYPE_FLOAT: MLD_MAX_RESP_CODE_TYPE = 1i32;
7642 pub const ND_NA_FLAG_OVERRIDE: u32 = 536870912u32;
7643 pub const ND_NA_FLAG_ROUTER: u32 = 2147483648u32;
7644 pub const ND_NA_FLAG_SOLICITED: u32 = 1073741824u32;
7645 pub type ND_OPTION_TYPE = i32;
7646 pub const ND_OPT_SOURCE_LINKADDR: ND_OPTION_TYPE = 1i32;
7647 pub const ND_OPT_TARGET_LINKADDR: ND_OPTION_TYPE = 2i32;
7648 pub const ND_OPT_PREFIX_INFORMATION: ND_OPTION_TYPE = 3i32;
7649 pub const ND_OPT_REDIRECTED_HEADER: ND_OPTION_TYPE = 4i32;
7650 pub const ND_OPT_MTU: ND_OPTION_TYPE = 5i32;
7651 pub const ND_OPT_NBMA_SHORTCUT_LIMIT: ND_OPTION_TYPE = 6i32;
7652 pub const ND_OPT_ADVERTISEMENT_INTERVAL: ND_OPTION_TYPE = 7i32;
7653 pub const ND_OPT_HOME_AGENT_INFORMATION: ND_OPTION_TYPE = 8i32;
7654 pub const ND_OPT_SOURCE_ADDR_LIST: ND_OPTION_TYPE = 9i32;
7655 pub const ND_OPT_TARGET_ADDR_LIST: ND_OPTION_TYPE = 10i32;
7656 pub const ND_OPT_ROUTE_INFO: ND_OPTION_TYPE = 24i32;
7657 pub const ND_OPT_RDNSS: ND_OPTION_TYPE = 25i32;
7658 pub const ND_OPT_DNSSL: ND_OPTION_TYPE = 31i32;
7659 pub const ND_OPT_DNSSL_MIN_LEN: u32 = 16u32;
7660 pub const ND_OPT_PI_FLAG_AUTO: u32 = 64u32;
7661 pub const ND_OPT_PI_FLAG_ONLINK: u32 = 128u32;
7662 pub const ND_OPT_PI_FLAG_ROUTE: u32 = 1u32;
7663 pub const ND_OPT_PI_FLAG_ROUTER_ADDR: u32 = 32u32;
7664 pub const ND_OPT_PI_FLAG_SITE_PREFIX: u32 = 16u32;
7665 pub const ND_OPT_RDNSS_MIN_LEN: u32 = 24u32;
7666 pub const ND_OPT_RI_FLAG_PREFERENCE: u32 = 24u32;
7667 pub const ND_RA_FLAG_HOME_AGENT: u32 = 32u32;
7668 pub const ND_RA_FLAG_MANAGED: u32 = 128u32;
7669 pub const ND_RA_FLAG_OTHER: u32 = 64u32;
7670 pub const ND_RA_FLAG_PREFERENCE: u32 = 24u32;
7671 #[repr(C)]
7672 #[cfg(feature = "Win32_Foundation")]
7673 pub struct NPI_MODULEID {
7674     pub Length: u16,
7675     pub Type: NPI_MODULEID_TYPE,
7676     pub Anonymous: NPI_MODULEID_0,
7677 }
7678 #[cfg(feature = "Win32_Foundation")]
7679 impl ::core::marker::Copy for NPI_MODULEID {}
7680 #[cfg(feature = "Win32_Foundation")]
7681 impl ::core::clone::Clone for NPI_MODULEID {
clone(&self) -> Self7682     fn clone(&self) -> Self {
7683         *self
7684     }
7685 }
7686 #[repr(C)]
7687 #[cfg(feature = "Win32_Foundation")]
7688 pub union NPI_MODULEID_0 {
7689     pub Guid: ::windows_sys::core::GUID,
7690     pub IfLuid: super::super::Foundation::LUID,
7691 }
7692 #[cfg(feature = "Win32_Foundation")]
7693 impl ::core::marker::Copy for NPI_MODULEID_0 {}
7694 #[cfg(feature = "Win32_Foundation")]
7695 impl ::core::clone::Clone for NPI_MODULEID_0 {
clone(&self) -> Self7696     fn clone(&self) -> Self {
7697         *self
7698     }
7699 }
7700 pub type NPI_MODULEID_TYPE = i32;
7701 pub const MIT_GUID: NPI_MODULEID_TYPE = 1i32;
7702 pub const MIT_IF_LUID: NPI_MODULEID_TYPE = 2i32;
7703 pub const SIZEOF_IP_OPT_ROUTERALERT: u32 = 4u32;
7704 pub const SIZEOF_IP_OPT_ROUTING_HEADER: u32 = 3u32;
7705 pub const SIZEOF_IP_OPT_SECURITY: u32 = 11u32;
7706 pub const SIZEOF_IP_OPT_STREAMIDENTIFIER: u32 = 4u32;
7707 pub const SIZEOF_IP_OPT_TIMESTAMP_HEADER: u32 = 4u32;
7708 pub const SNAP_CONTROL: u32 = 3u32;
7709 pub const SNAP_DSAP: u32 = 170u32;
7710 #[repr(C)]
7711 pub struct SNAP_HEADER {
7712     pub Dsap: u8,
7713     pub Ssap: u8,
7714     pub Control: u8,
7715     pub Oui: [u8; 3],
7716     pub Type: u16,
7717 }
7718 impl ::core::marker::Copy for SNAP_HEADER {}
7719 impl ::core::clone::Clone for SNAP_HEADER {
clone(&self) -> Self7720     fn clone(&self) -> Self {
7721         *self
7722     }
7723 }
7724 pub const SNAP_OUI: u32 = 0u32;
7725 pub const SNAP_SSAP: u32 = 170u32;
7726 pub const TH_ACK: u32 = 16u32;
7727 pub const TH_CWR: u32 = 128u32;
7728 pub const TH_ECE: u32 = 64u32;
7729 pub const TH_FIN: u32 = 1u32;
7730 pub const TH_OPT_EOL: u32 = 0u32;
7731 pub const TH_OPT_FASTOPEN: u32 = 34u32;
7732 pub const TH_OPT_MSS: u32 = 2u32;
7733 pub const TH_OPT_NOP: u32 = 1u32;
7734 pub const TH_OPT_SACK: u32 = 5u32;
7735 pub const TH_OPT_SACK_PERMITTED: u32 = 4u32;
7736 pub const TH_OPT_TS: u32 = 8u32;
7737 pub const TH_OPT_WS: u32 = 3u32;
7738 pub const TH_PSH: u32 = 8u32;
7739 pub const TH_RST: u32 = 4u32;
7740 pub const TH_SYN: u32 = 2u32;
7741 pub const TH_URG: u32 = 32u32;
7742 pub type TUNNEL_SUB_TYPE = i32;
7743 pub const TUNNEL_SUB_TYPE_NONE: TUNNEL_SUB_TYPE = 0i32;
7744 pub const TUNNEL_SUB_TYPE_CP: TUNNEL_SUB_TYPE = 1i32;
7745 pub const TUNNEL_SUB_TYPE_IPTLS: TUNNEL_SUB_TYPE = 2i32;
7746 pub const TUNNEL_SUB_TYPE_HA: TUNNEL_SUB_TYPE = 3i32;
7747 #[repr(C)]
7748 pub struct VLAN_TAG {
7749     pub Anonymous: VLAN_TAG_0,
7750     pub Type: u16,
7751 }
7752 impl ::core::marker::Copy for VLAN_TAG {}
7753 impl ::core::clone::Clone for VLAN_TAG {
clone(&self) -> Self7754     fn clone(&self) -> Self {
7755         *self
7756     }
7757 }
7758 #[repr(C)]
7759 pub union VLAN_TAG_0 {
7760     pub Tag: u16,
7761     pub Anonymous: VLAN_TAG_0_0,
7762 }
7763 impl ::core::marker::Copy for VLAN_TAG_0 {}
7764 impl ::core::clone::Clone for VLAN_TAG_0 {
clone(&self) -> Self7765     fn clone(&self) -> Self {
7766         *self
7767     }
7768 }
7769 #[repr(C)]
7770 pub struct VLAN_TAG_0_0 {
7771     pub _bitfield: u16,
7772 }
7773 impl ::core::marker::Copy for VLAN_TAG_0_0 {}
7774 impl ::core::clone::Clone for VLAN_TAG_0_0 {
clone(&self) -> Self7775     fn clone(&self) -> Self {
7776         *self
7777     }
7778 }
7779 pub const _BIG_ENDIAN: u32 = 4321u32;
7780 pub const _LITTLE_ENDIAN: u32 = 1234u32;
7781 pub const _PDP_ENDIAN: u32 = 3412u32;
7782 #[repr(C)]
7783 #[cfg(feature = "Win32_Networking_WinSock")]
7784 pub struct nd_neighbor_advert {
7785     pub nd_na_hdr: ICMP_MESSAGE,
7786     pub nd_na_target: super::super::Networking::WinSock::IN6_ADDR,
7787 }
7788 #[cfg(feature = "Win32_Networking_WinSock")]
7789 impl ::core::marker::Copy for nd_neighbor_advert {}
7790 #[cfg(feature = "Win32_Networking_WinSock")]
7791 impl ::core::clone::Clone for nd_neighbor_advert {
clone(&self) -> Self7792     fn clone(&self) -> Self {
7793         *self
7794     }
7795 }
7796 #[repr(C)]
7797 #[cfg(feature = "Win32_Networking_WinSock")]
7798 pub struct nd_neighbor_solicit {
7799     pub nd_ns_hdr: ICMP_MESSAGE,
7800     pub nd_ns_target: super::super::Networking::WinSock::IN6_ADDR,
7801 }
7802 #[cfg(feature = "Win32_Networking_WinSock")]
7803 impl ::core::marker::Copy for nd_neighbor_solicit {}
7804 #[cfg(feature = "Win32_Networking_WinSock")]
7805 impl ::core::clone::Clone for nd_neighbor_solicit {
clone(&self) -> Self7806     fn clone(&self) -> Self {
7807         *self
7808     }
7809 }
7810 #[repr(C)]
7811 pub struct nd_opt_dnssl {
7812     pub nd_opt_dnssl_type: u8,
7813     pub nd_opt_dnssl_len: u8,
7814     pub nd_opt_dnssl_reserved: u16,
7815     pub nd_opt_dnssl_lifetime: u32,
7816 }
7817 impl ::core::marker::Copy for nd_opt_dnssl {}
7818 impl ::core::clone::Clone for nd_opt_dnssl {
clone(&self) -> Self7819     fn clone(&self) -> Self {
7820         *self
7821     }
7822 }
7823 #[repr(C)]
7824 pub struct nd_opt_hdr {
7825     pub nd_opt_type: u8,
7826     pub nd_opt_len: u8,
7827 }
7828 impl ::core::marker::Copy for nd_opt_hdr {}
7829 impl ::core::clone::Clone for nd_opt_hdr {
clone(&self) -> Self7830     fn clone(&self) -> Self {
7831         *self
7832     }
7833 }
7834 #[repr(C)]
7835 pub struct nd_opt_mtu {
7836     pub nd_opt_mtu_type: u8,
7837     pub nd_opt_mtu_len: u8,
7838     pub nd_opt_mtu_reserved: u16,
7839     pub nd_opt_mtu_mtu: u32,
7840 }
7841 impl ::core::marker::Copy for nd_opt_mtu {}
7842 impl ::core::clone::Clone for nd_opt_mtu {
clone(&self) -> Self7843     fn clone(&self) -> Self {
7844         *self
7845     }
7846 }
7847 #[repr(C)]
7848 #[cfg(feature = "Win32_Networking_WinSock")]
7849 pub struct nd_opt_prefix_info {
7850     pub nd_opt_pi_type: u8,
7851     pub nd_opt_pi_len: u8,
7852     pub nd_opt_pi_prefix_len: u8,
7853     pub Anonymous1: nd_opt_prefix_info_0,
7854     pub nd_opt_pi_valid_time: u32,
7855     pub nd_opt_pi_preferred_time: u32,
7856     pub Anonymous2: nd_opt_prefix_info_1,
7857     pub nd_opt_pi_prefix: super::super::Networking::WinSock::IN6_ADDR,
7858 }
7859 #[cfg(feature = "Win32_Networking_WinSock")]
7860 impl ::core::marker::Copy for nd_opt_prefix_info {}
7861 #[cfg(feature = "Win32_Networking_WinSock")]
7862 impl ::core::clone::Clone for nd_opt_prefix_info {
clone(&self) -> Self7863     fn clone(&self) -> Self {
7864         *self
7865     }
7866 }
7867 #[repr(C)]
7868 #[cfg(feature = "Win32_Networking_WinSock")]
7869 pub union nd_opt_prefix_info_0 {
7870     pub nd_opt_pi_flags_reserved: u8,
7871     pub Flags: nd_opt_prefix_info_0_0,
7872 }
7873 #[cfg(feature = "Win32_Networking_WinSock")]
7874 impl ::core::marker::Copy for nd_opt_prefix_info_0 {}
7875 #[cfg(feature = "Win32_Networking_WinSock")]
7876 impl ::core::clone::Clone for nd_opt_prefix_info_0 {
clone(&self) -> Self7877     fn clone(&self) -> Self {
7878         *self
7879     }
7880 }
7881 #[repr(C)]
7882 #[cfg(feature = "Win32_Networking_WinSock")]
7883 pub struct nd_opt_prefix_info_0_0 {
7884     pub _bitfield: u8,
7885 }
7886 #[cfg(feature = "Win32_Networking_WinSock")]
7887 impl ::core::marker::Copy for nd_opt_prefix_info_0_0 {}
7888 #[cfg(feature = "Win32_Networking_WinSock")]
7889 impl ::core::clone::Clone for nd_opt_prefix_info_0_0 {
clone(&self) -> Self7890     fn clone(&self) -> Self {
7891         *self
7892     }
7893 }
7894 #[repr(C)]
7895 #[cfg(feature = "Win32_Networking_WinSock")]
7896 pub union nd_opt_prefix_info_1 {
7897     pub nd_opt_pi_reserved2: u32,
7898     pub Anonymous: nd_opt_prefix_info_1_0,
7899 }
7900 #[cfg(feature = "Win32_Networking_WinSock")]
7901 impl ::core::marker::Copy for nd_opt_prefix_info_1 {}
7902 #[cfg(feature = "Win32_Networking_WinSock")]
7903 impl ::core::clone::Clone for nd_opt_prefix_info_1 {
clone(&self) -> Self7904     fn clone(&self) -> Self {
7905         *self
7906     }
7907 }
7908 #[repr(C)]
7909 #[cfg(feature = "Win32_Networking_WinSock")]
7910 pub struct nd_opt_prefix_info_1_0 {
7911     pub nd_opt_pi_reserved3: [u8; 3],
7912     pub nd_opt_pi_site_prefix_len: u8,
7913 }
7914 #[cfg(feature = "Win32_Networking_WinSock")]
7915 impl ::core::marker::Copy for nd_opt_prefix_info_1_0 {}
7916 #[cfg(feature = "Win32_Networking_WinSock")]
7917 impl ::core::clone::Clone for nd_opt_prefix_info_1_0 {
clone(&self) -> Self7918     fn clone(&self) -> Self {
7919         *self
7920     }
7921 }
7922 #[repr(C)]
7923 pub struct nd_opt_rd_hdr {
7924     pub nd_opt_rh_type: u8,
7925     pub nd_opt_rh_len: u8,
7926     pub nd_opt_rh_reserved1: u16,
7927     pub nd_opt_rh_reserved2: u32,
7928 }
7929 impl ::core::marker::Copy for nd_opt_rd_hdr {}
7930 impl ::core::clone::Clone for nd_opt_rd_hdr {
clone(&self) -> Self7931     fn clone(&self) -> Self {
7932         *self
7933     }
7934 }
7935 #[repr(C)]
7936 pub struct nd_opt_rdnss {
7937     pub nd_opt_rdnss_type: u8,
7938     pub nd_opt_rdnss_len: u8,
7939     pub nd_opt_rdnss_reserved: u16,
7940     pub nd_opt_rdnss_lifetime: u32,
7941 }
7942 impl ::core::marker::Copy for nd_opt_rdnss {}
7943 impl ::core::clone::Clone for nd_opt_rdnss {
clone(&self) -> Self7944     fn clone(&self) -> Self {
7945         *self
7946     }
7947 }
7948 #[repr(C)]
7949 #[cfg(feature = "Win32_Networking_WinSock")]
7950 pub struct nd_opt_route_info {
7951     pub nd_opt_ri_type: u8,
7952     pub nd_opt_ri_len: u8,
7953     pub nd_opt_ri_prefix_len: u8,
7954     pub Anonymous: nd_opt_route_info_0,
7955     pub nd_opt_ri_route_lifetime: u32,
7956     pub nd_opt_ri_prefix: super::super::Networking::WinSock::IN6_ADDR,
7957 }
7958 #[cfg(feature = "Win32_Networking_WinSock")]
7959 impl ::core::marker::Copy for nd_opt_route_info {}
7960 #[cfg(feature = "Win32_Networking_WinSock")]
7961 impl ::core::clone::Clone for nd_opt_route_info {
clone(&self) -> Self7962     fn clone(&self) -> Self {
7963         *self
7964     }
7965 }
7966 #[repr(C)]
7967 #[cfg(feature = "Win32_Networking_WinSock")]
7968 pub union nd_opt_route_info_0 {
7969     pub nd_opt_ri_flags_reserved: u8,
7970     pub Flags: nd_opt_route_info_0_0,
7971 }
7972 #[cfg(feature = "Win32_Networking_WinSock")]
7973 impl ::core::marker::Copy for nd_opt_route_info_0 {}
7974 #[cfg(feature = "Win32_Networking_WinSock")]
7975 impl ::core::clone::Clone for nd_opt_route_info_0 {
clone(&self) -> Self7976     fn clone(&self) -> Self {
7977         *self
7978     }
7979 }
7980 #[repr(C)]
7981 #[cfg(feature = "Win32_Networking_WinSock")]
7982 pub struct nd_opt_route_info_0_0 {
7983     pub _bitfield: u8,
7984 }
7985 #[cfg(feature = "Win32_Networking_WinSock")]
7986 impl ::core::marker::Copy for nd_opt_route_info_0_0 {}
7987 #[cfg(feature = "Win32_Networking_WinSock")]
7988 impl ::core::clone::Clone for nd_opt_route_info_0_0 {
clone(&self) -> Self7989     fn clone(&self) -> Self {
7990         *self
7991     }
7992 }
7993 #[repr(C)]
7994 #[cfg(feature = "Win32_Networking_WinSock")]
7995 pub struct nd_redirect {
7996     pub nd_rd_hdr: ICMP_MESSAGE,
7997     pub nd_rd_target: super::super::Networking::WinSock::IN6_ADDR,
7998     pub nd_rd_dst: super::super::Networking::WinSock::IN6_ADDR,
7999 }
8000 #[cfg(feature = "Win32_Networking_WinSock")]
8001 impl ::core::marker::Copy for nd_redirect {}
8002 #[cfg(feature = "Win32_Networking_WinSock")]
8003 impl ::core::clone::Clone for nd_redirect {
clone(&self) -> Self8004     fn clone(&self) -> Self {
8005         *self
8006     }
8007 }
8008 #[repr(C)]
8009 pub struct nd_router_advert {
8010     pub nd_ra_hdr: ICMP_MESSAGE,
8011     pub nd_ra_reachable: u32,
8012     pub nd_ra_retransmit: u32,
8013 }
8014 impl ::core::marker::Copy for nd_router_advert {}
8015 impl ::core::clone::Clone for nd_router_advert {
clone(&self) -> Self8016     fn clone(&self) -> Self {
8017         *self
8018     }
8019 }
8020 #[repr(C)]
8021 pub struct nd_router_solicit {
8022     pub nd_rs_hdr: ICMP_MESSAGE,
8023 }
8024 impl ::core::marker::Copy for nd_router_solicit {}
8025 impl ::core::clone::Clone for nd_router_solicit {
clone(&self) -> Self8026     fn clone(&self) -> Self {
8027         *self
8028     }
8029 }
8030 #[repr(C, packed(1))]
8031 pub struct tcp_hdr {
8032     pub th_sport: u16,
8033     pub th_dport: u16,
8034     pub th_seq: u32,
8035     pub th_ack: u32,
8036     pub _bitfield: u8,
8037     pub th_flags: u8,
8038     pub th_win: u16,
8039     pub th_sum: u16,
8040     pub th_urp: u16,
8041 }
8042 impl ::core::marker::Copy for tcp_hdr {}
8043 impl ::core::clone::Clone for tcp_hdr {
clone(&self) -> Self8044     fn clone(&self) -> Self {
8045         *self
8046     }
8047 }
8048 #[repr(C)]
8049 pub struct tcp_opt_fastopen {
8050     pub Kind: u8,
8051     pub Length: u8,
8052     pub Cookie: [u8; 1],
8053 }
8054 impl ::core::marker::Copy for tcp_opt_fastopen {}
8055 impl ::core::clone::Clone for tcp_opt_fastopen {
clone(&self) -> Self8056     fn clone(&self) -> Self {
8057         *self
8058     }
8059 }
8060 #[repr(C, packed(1))]
8061 pub struct tcp_opt_mss {
8062     pub Kind: u8,
8063     pub Length: u8,
8064     pub Mss: u16,
8065 }
8066 impl ::core::marker::Copy for tcp_opt_mss {}
8067 impl ::core::clone::Clone for tcp_opt_mss {
clone(&self) -> Self8068     fn clone(&self) -> Self {
8069         *self
8070     }
8071 }
8072 #[repr(C)]
8073 pub struct tcp_opt_sack {
8074     pub Kind: u8,
8075     pub Length: u8,
8076     pub Block: [tcp_opt_sack_0; 1],
8077 }
8078 impl ::core::marker::Copy for tcp_opt_sack {}
8079 impl ::core::clone::Clone for tcp_opt_sack {
clone(&self) -> Self8080     fn clone(&self) -> Self {
8081         *self
8082     }
8083 }
8084 #[repr(C, packed(1))]
8085 pub struct tcp_opt_sack_0 {
8086     pub Left: u32,
8087     pub Right: u32,
8088 }
8089 impl ::core::marker::Copy for tcp_opt_sack_0 {}
8090 impl ::core::clone::Clone for tcp_opt_sack_0 {
clone(&self) -> Self8091     fn clone(&self) -> Self {
8092         *self
8093     }
8094 }
8095 #[repr(C)]
8096 pub struct tcp_opt_sack_permitted {
8097     pub Kind: u8,
8098     pub Length: u8,
8099 }
8100 impl ::core::marker::Copy for tcp_opt_sack_permitted {}
8101 impl ::core::clone::Clone for tcp_opt_sack_permitted {
clone(&self) -> Self8102     fn clone(&self) -> Self {
8103         *self
8104     }
8105 }
8106 #[repr(C, packed(1))]
8107 pub struct tcp_opt_ts {
8108     pub Kind: u8,
8109     pub Length: u8,
8110     pub Val: u32,
8111     pub EcR: u32,
8112 }
8113 impl ::core::marker::Copy for tcp_opt_ts {}
8114 impl ::core::clone::Clone for tcp_opt_ts {
clone(&self) -> Self8115     fn clone(&self) -> Self {
8116         *self
8117     }
8118 }
8119 #[repr(C)]
8120 pub struct tcp_opt_unknown {
8121     pub Kind: u8,
8122     pub Length: u8,
8123 }
8124 impl ::core::marker::Copy for tcp_opt_unknown {}
8125 impl ::core::clone::Clone for tcp_opt_unknown {
clone(&self) -> Self8126     fn clone(&self) -> Self {
8127         *self
8128     }
8129 }
8130 #[repr(C)]
8131 pub struct tcp_opt_ws {
8132     pub Kind: u8,
8133     pub Length: u8,
8134     pub ShiftCnt: u8,
8135 }
8136 impl ::core::marker::Copy for tcp_opt_ws {}
8137 impl ::core::clone::Clone for tcp_opt_ws {
clone(&self) -> Self8138     fn clone(&self) -> Self {
8139         *self
8140     }
8141 }
8142