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(feature = "Win32_Foundation")] WnvOpen() -> super::super::Foundation::HANDLE5 pub fn WnvOpen() -> super::super::Foundation::HANDLE; 6 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))] WnvRequestNotification(wnvhandle: super::super::Foundation::HANDLE, notificationparam: *mut WNV_NOTIFICATION_PARAM, overlapped: *mut super::super::System::IO::OVERLAPPED, bytestransferred: *mut u32) -> u327 pub fn WnvRequestNotification(wnvhandle: super::super::Foundation::HANDLE, notificationparam: *mut WNV_NOTIFICATION_PARAM, overlapped: *mut super::super::System::IO::OVERLAPPED, bytestransferred: *mut u32) -> u32; 8 } 9 pub const WNV_API_MAJOR_VERSION_1: u32 = 1u32; 10 pub const WNV_API_MINOR_VERSION_0: u32 = 0u32; 11 pub type WNV_CA_NOTIFICATION_TYPE = i32; 12 pub const WnvCustomerAddressAdded: WNV_CA_NOTIFICATION_TYPE = 0i32; 13 pub const WnvCustomerAddressDeleted: WNV_CA_NOTIFICATION_TYPE = 1i32; 14 pub const WnvCustomerAddressMoved: WNV_CA_NOTIFICATION_TYPE = 2i32; 15 pub const WnvCustomerAddressMax: WNV_CA_NOTIFICATION_TYPE = 3i32; 16 #[repr(C)] 17 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 18 pub struct WNV_CUSTOMER_ADDRESS_CHANGE_PARAM { 19 pub MACAddress: super::WindowsFilteringPlatform::DL_EUI48, 20 pub CAFamily: u16, 21 pub CA: WNV_IP_ADDRESS, 22 pub VirtualSubnetId: u32, 23 pub PAFamily: u16, 24 pub PA: WNV_IP_ADDRESS, 25 pub NotificationReason: WNV_CA_NOTIFICATION_TYPE, 26 } 27 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 28 impl ::core::marker::Copy for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM {} 29 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 30 impl ::core::clone::Clone for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM { clone(&self) -> Self31 fn clone(&self) -> Self { 32 *self 33 } 34 } 35 #[repr(C)] 36 #[cfg(feature = "Win32_Networking_WinSock")] 37 pub struct WNV_IP_ADDRESS { 38 pub IP: WNV_IP_ADDRESS_0, 39 } 40 #[cfg(feature = "Win32_Networking_WinSock")] 41 impl ::core::marker::Copy for WNV_IP_ADDRESS {} 42 #[cfg(feature = "Win32_Networking_WinSock")] 43 impl ::core::clone::Clone for WNV_IP_ADDRESS { clone(&self) -> Self44 fn clone(&self) -> Self { 45 *self 46 } 47 } 48 #[repr(C)] 49 #[cfg(feature = "Win32_Networking_WinSock")] 50 pub union WNV_IP_ADDRESS_0 { 51 pub v4: super::super::Networking::WinSock::IN_ADDR, 52 pub v6: super::super::Networking::WinSock::IN6_ADDR, 53 pub Addr: [u8; 16], 54 } 55 #[cfg(feature = "Win32_Networking_WinSock")] 56 impl ::core::marker::Copy for WNV_IP_ADDRESS_0 {} 57 #[cfg(feature = "Win32_Networking_WinSock")] 58 impl ::core::clone::Clone for WNV_IP_ADDRESS_0 { clone(&self) -> Self59 fn clone(&self) -> Self { 60 *self 61 } 62 } 63 #[repr(C)] 64 pub struct WNV_NOTIFICATION_PARAM { 65 pub Header: WNV_OBJECT_HEADER, 66 pub NotificationType: WNV_NOTIFICATION_TYPE, 67 pub PendingNotifications: u32, 68 pub Buffer: *mut u8, 69 } 70 impl ::core::marker::Copy for WNV_NOTIFICATION_PARAM {} 71 impl ::core::clone::Clone for WNV_NOTIFICATION_PARAM { clone(&self) -> Self72 fn clone(&self) -> Self { 73 *self 74 } 75 } 76 pub type WNV_NOTIFICATION_TYPE = i32; 77 pub const WnvPolicyMismatchType: WNV_NOTIFICATION_TYPE = 0i32; 78 pub const WnvRedirectType: WNV_NOTIFICATION_TYPE = 1i32; 79 pub const WnvObjectChangeType: WNV_NOTIFICATION_TYPE = 2i32; 80 pub const WnvNotificationTypeMax: WNV_NOTIFICATION_TYPE = 3i32; 81 #[repr(C)] 82 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 83 pub struct WNV_OBJECT_CHANGE_PARAM { 84 pub ObjectType: WNV_OBJECT_TYPE, 85 pub ObjectParam: WNV_OBJECT_CHANGE_PARAM_0, 86 } 87 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 88 impl ::core::marker::Copy for WNV_OBJECT_CHANGE_PARAM {} 89 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 90 impl ::core::clone::Clone for WNV_OBJECT_CHANGE_PARAM { clone(&self) -> Self91 fn clone(&self) -> Self { 92 *self 93 } 94 } 95 #[repr(C)] 96 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 97 pub union WNV_OBJECT_CHANGE_PARAM_0 { 98 pub ProviderAddressChange: WNV_PROVIDER_ADDRESS_CHANGE_PARAM, 99 pub CustomerAddressChange: WNV_CUSTOMER_ADDRESS_CHANGE_PARAM, 100 } 101 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 102 impl ::core::marker::Copy for WNV_OBJECT_CHANGE_PARAM_0 {} 103 #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] 104 impl ::core::clone::Clone for WNV_OBJECT_CHANGE_PARAM_0 { clone(&self) -> Self105 fn clone(&self) -> Self { 106 *self 107 } 108 } 109 #[repr(C)] 110 pub struct WNV_OBJECT_HEADER { 111 pub MajorVersion: u8, 112 pub MinorVersion: u8, 113 pub Size: u32, 114 } 115 impl ::core::marker::Copy for WNV_OBJECT_HEADER {} 116 impl ::core::clone::Clone for WNV_OBJECT_HEADER { clone(&self) -> Self117 fn clone(&self) -> Self { 118 *self 119 } 120 } 121 pub type WNV_OBJECT_TYPE = i32; 122 pub const WnvProviderAddressType: WNV_OBJECT_TYPE = 0i32; 123 pub const WnvCustomerAddressType: WNV_OBJECT_TYPE = 1i32; 124 pub const WnvObjectTypeMax: WNV_OBJECT_TYPE = 2i32; 125 #[repr(C)] 126 #[cfg(feature = "Win32_Networking_WinSock")] 127 pub struct WNV_POLICY_MISMATCH_PARAM { 128 pub CAFamily: u16, 129 pub PAFamily: u16, 130 pub VirtualSubnetId: u32, 131 pub CA: WNV_IP_ADDRESS, 132 pub PA: WNV_IP_ADDRESS, 133 } 134 #[cfg(feature = "Win32_Networking_WinSock")] 135 impl ::core::marker::Copy for WNV_POLICY_MISMATCH_PARAM {} 136 #[cfg(feature = "Win32_Networking_WinSock")] 137 impl ::core::clone::Clone for WNV_POLICY_MISMATCH_PARAM { clone(&self) -> Self138 fn clone(&self) -> Self { 139 *self 140 } 141 } 142 #[repr(C)] 143 #[cfg(feature = "Win32_Networking_WinSock")] 144 pub struct WNV_PROVIDER_ADDRESS_CHANGE_PARAM { 145 pub PAFamily: u16, 146 pub PA: WNV_IP_ADDRESS, 147 pub AddressState: super::super::Networking::WinSock::NL_DAD_STATE, 148 } 149 #[cfg(feature = "Win32_Networking_WinSock")] 150 impl ::core::marker::Copy for WNV_PROVIDER_ADDRESS_CHANGE_PARAM {} 151 #[cfg(feature = "Win32_Networking_WinSock")] 152 impl ::core::clone::Clone for WNV_PROVIDER_ADDRESS_CHANGE_PARAM { clone(&self) -> Self153 fn clone(&self) -> Self { 154 *self 155 } 156 } 157 #[repr(C)] 158 #[cfg(feature = "Win32_Networking_WinSock")] 159 pub struct WNV_REDIRECT_PARAM { 160 pub CAFamily: u16, 161 pub PAFamily: u16, 162 pub NewPAFamily: u16, 163 pub VirtualSubnetId: u32, 164 pub CA: WNV_IP_ADDRESS, 165 pub PA: WNV_IP_ADDRESS, 166 pub NewPA: WNV_IP_ADDRESS, 167 } 168 #[cfg(feature = "Win32_Networking_WinSock")] 169 impl ::core::marker::Copy for WNV_REDIRECT_PARAM {} 170 #[cfg(feature = "Win32_Networking_WinSock")] 171 impl ::core::clone::Clone for WNV_REDIRECT_PARAM { clone(&self) -> Self172 fn clone(&self) -> Self { 173 *self 174 } 175 } 176