]>
Commit | Line | Data |
---|---|---|
5e7ed085 FG |
1 | #[link(name = "windows")] |
2 | extern "system" { | |
04454e1e | 3 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Foundation\"`*"] |
5e7ed085 FG |
4 | #[cfg(feature = "Win32_Foundation")] |
5 | pub fn WnvOpen() -> super::super::Foundation::HANDLE; | |
04454e1e | 6 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"] |
5e7ed085 FG |
7 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))] |
8 | pub fn WnvRequestNotification(wnvhandle: super::super::Foundation::HANDLE, notificationparam: *mut WNV_NOTIFICATION_PARAM, overlapped: *mut super::super::System::IO::OVERLAPPED, bytestransferred: *mut u32) -> u32; | |
9 | } | |
04454e1e | 10 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 11 | pub const WNV_API_MAJOR_VERSION_1: u32 = 1u32; |
04454e1e | 12 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 13 | pub const WNV_API_MINOR_VERSION_0: u32 = 0u32; |
04454e1e | 14 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 15 | pub type WNV_CA_NOTIFICATION_TYPE = i32; |
04454e1e | 16 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 17 | pub const WnvCustomerAddressAdded: WNV_CA_NOTIFICATION_TYPE = 0i32; |
04454e1e | 18 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 19 | pub const WnvCustomerAddressDeleted: WNV_CA_NOTIFICATION_TYPE = 1i32; |
04454e1e | 20 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 21 | pub const WnvCustomerAddressMoved: WNV_CA_NOTIFICATION_TYPE = 2i32; |
04454e1e | 22 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 FG |
23 | pub const WnvCustomerAddressMax: WNV_CA_NOTIFICATION_TYPE = 3i32; |
24 | #[repr(C)] | |
04454e1e | 25 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_NetworkManagement_WindowsFilteringPlatform\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
26 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] |
27 | pub struct WNV_CUSTOMER_ADDRESS_CHANGE_PARAM { | |
28 | pub MACAddress: super::WindowsFilteringPlatform::DL_EUI48, | |
29 | pub CAFamily: u16, | |
30 | pub CA: WNV_IP_ADDRESS, | |
31 | pub VirtualSubnetId: u32, | |
32 | pub PAFamily: u16, | |
33 | pub PA: WNV_IP_ADDRESS, | |
34 | pub NotificationReason: WNV_CA_NOTIFICATION_TYPE, | |
35 | } | |
36 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] | |
37 | impl ::core::marker::Copy for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM {} | |
38 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] | |
39 | impl ::core::clone::Clone for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM { | |
40 | fn clone(&self) -> Self { | |
41 | *self | |
42 | } | |
43 | } | |
44 | #[repr(C)] | |
04454e1e | 45 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
46 | #[cfg(feature = "Win32_Networking_WinSock")] |
47 | pub struct WNV_IP_ADDRESS { | |
48 | pub IP: WNV_IP_ADDRESS_0, | |
49 | } | |
50 | #[cfg(feature = "Win32_Networking_WinSock")] | |
51 | impl ::core::marker::Copy for WNV_IP_ADDRESS {} | |
52 | #[cfg(feature = "Win32_Networking_WinSock")] | |
53 | impl ::core::clone::Clone for WNV_IP_ADDRESS { | |
54 | fn clone(&self) -> Self { | |
55 | *self | |
56 | } | |
57 | } | |
58 | #[repr(C)] | |
04454e1e | 59 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
60 | #[cfg(feature = "Win32_Networking_WinSock")] |
61 | pub union WNV_IP_ADDRESS_0 { | |
62 | pub v4: super::super::Networking::WinSock::IN_ADDR, | |
63 | pub v6: super::super::Networking::WinSock::IN6_ADDR, | |
64 | pub Addr: [u8; 16], | |
65 | } | |
66 | #[cfg(feature = "Win32_Networking_WinSock")] | |
67 | impl ::core::marker::Copy for WNV_IP_ADDRESS_0 {} | |
68 | #[cfg(feature = "Win32_Networking_WinSock")] | |
69 | impl ::core::clone::Clone for WNV_IP_ADDRESS_0 { | |
70 | fn clone(&self) -> Self { | |
71 | *self | |
72 | } | |
73 | } | |
74 | #[repr(C)] | |
04454e1e | 75 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 FG |
76 | pub struct WNV_NOTIFICATION_PARAM { |
77 | pub Header: WNV_OBJECT_HEADER, | |
78 | pub NotificationType: WNV_NOTIFICATION_TYPE, | |
79 | pub PendingNotifications: u32, | |
80 | pub Buffer: *mut u8, | |
81 | } | |
82 | impl ::core::marker::Copy for WNV_NOTIFICATION_PARAM {} | |
83 | impl ::core::clone::Clone for WNV_NOTIFICATION_PARAM { | |
84 | fn clone(&self) -> Self { | |
85 | *self | |
86 | } | |
87 | } | |
04454e1e | 88 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 89 | pub type WNV_NOTIFICATION_TYPE = i32; |
04454e1e | 90 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 91 | pub const WnvPolicyMismatchType: WNV_NOTIFICATION_TYPE = 0i32; |
04454e1e | 92 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 93 | pub const WnvRedirectType: WNV_NOTIFICATION_TYPE = 1i32; |
04454e1e | 94 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 95 | pub const WnvObjectChangeType: WNV_NOTIFICATION_TYPE = 2i32; |
04454e1e | 96 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 FG |
97 | pub const WnvNotificationTypeMax: WNV_NOTIFICATION_TYPE = 3i32; |
98 | #[repr(C)] | |
04454e1e | 99 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_NetworkManagement_WindowsFilteringPlatform\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
100 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] |
101 | pub struct WNV_OBJECT_CHANGE_PARAM { | |
102 | pub ObjectType: WNV_OBJECT_TYPE, | |
103 | pub ObjectParam: WNV_OBJECT_CHANGE_PARAM_0, | |
104 | } | |
105 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] | |
106 | impl ::core::marker::Copy for WNV_OBJECT_CHANGE_PARAM {} | |
107 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] | |
108 | impl ::core::clone::Clone for WNV_OBJECT_CHANGE_PARAM { | |
109 | fn clone(&self) -> Self { | |
110 | *self | |
111 | } | |
112 | } | |
113 | #[repr(C)] | |
04454e1e | 114 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_NetworkManagement_WindowsFilteringPlatform\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
115 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] |
116 | pub union WNV_OBJECT_CHANGE_PARAM_0 { | |
117 | pub ProviderAddressChange: WNV_PROVIDER_ADDRESS_CHANGE_PARAM, | |
118 | pub CustomerAddressChange: WNV_CUSTOMER_ADDRESS_CHANGE_PARAM, | |
119 | } | |
120 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] | |
121 | impl ::core::marker::Copy for WNV_OBJECT_CHANGE_PARAM_0 {} | |
122 | #[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))] | |
123 | impl ::core::clone::Clone for WNV_OBJECT_CHANGE_PARAM_0 { | |
124 | fn clone(&self) -> Self { | |
125 | *self | |
126 | } | |
127 | } | |
128 | #[repr(C)] | |
04454e1e | 129 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 FG |
130 | pub struct WNV_OBJECT_HEADER { |
131 | pub MajorVersion: u8, | |
132 | pub MinorVersion: u8, | |
133 | pub Size: u32, | |
134 | } | |
135 | impl ::core::marker::Copy for WNV_OBJECT_HEADER {} | |
136 | impl ::core::clone::Clone for WNV_OBJECT_HEADER { | |
137 | fn clone(&self) -> Self { | |
138 | *self | |
139 | } | |
140 | } | |
04454e1e | 141 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 142 | pub type WNV_OBJECT_TYPE = i32; |
04454e1e | 143 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 144 | pub const WnvProviderAddressType: WNV_OBJECT_TYPE = 0i32; |
04454e1e | 145 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 | 146 | pub const WnvCustomerAddressType: WNV_OBJECT_TYPE = 1i32; |
04454e1e | 147 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"] |
5e7ed085 FG |
148 | pub const WnvObjectTypeMax: WNV_OBJECT_TYPE = 2i32; |
149 | #[repr(C)] | |
04454e1e | 150 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
151 | #[cfg(feature = "Win32_Networking_WinSock")] |
152 | pub struct WNV_POLICY_MISMATCH_PARAM { | |
153 | pub CAFamily: u16, | |
154 | pub PAFamily: u16, | |
155 | pub VirtualSubnetId: u32, | |
156 | pub CA: WNV_IP_ADDRESS, | |
157 | pub PA: WNV_IP_ADDRESS, | |
158 | } | |
159 | #[cfg(feature = "Win32_Networking_WinSock")] | |
160 | impl ::core::marker::Copy for WNV_POLICY_MISMATCH_PARAM {} | |
161 | #[cfg(feature = "Win32_Networking_WinSock")] | |
162 | impl ::core::clone::Clone for WNV_POLICY_MISMATCH_PARAM { | |
163 | fn clone(&self) -> Self { | |
164 | *self | |
165 | } | |
166 | } | |
167 | #[repr(C)] | |
04454e1e | 168 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
169 | #[cfg(feature = "Win32_Networking_WinSock")] |
170 | pub struct WNV_PROVIDER_ADDRESS_CHANGE_PARAM { | |
171 | pub PAFamily: u16, | |
172 | pub PA: WNV_IP_ADDRESS, | |
173 | pub AddressState: super::super::Networking::WinSock::NL_DAD_STATE, | |
174 | } | |
175 | #[cfg(feature = "Win32_Networking_WinSock")] | |
176 | impl ::core::marker::Copy for WNV_PROVIDER_ADDRESS_CHANGE_PARAM {} | |
177 | #[cfg(feature = "Win32_Networking_WinSock")] | |
178 | impl ::core::clone::Clone for WNV_PROVIDER_ADDRESS_CHANGE_PARAM { | |
179 | fn clone(&self) -> Self { | |
180 | *self | |
181 | } | |
182 | } | |
183 | #[repr(C)] | |
04454e1e | 184 | #[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`, `\"Win32_Networking_WinSock\"`*"] |
5e7ed085 FG |
185 | #[cfg(feature = "Win32_Networking_WinSock")] |
186 | pub struct WNV_REDIRECT_PARAM { | |
187 | pub CAFamily: u16, | |
188 | pub PAFamily: u16, | |
189 | pub NewPAFamily: u16, | |
190 | pub VirtualSubnetId: u32, | |
191 | pub CA: WNV_IP_ADDRESS, | |
192 | pub PA: WNV_IP_ADDRESS, | |
193 | pub NewPA: WNV_IP_ADDRESS, | |
194 | } | |
195 | #[cfg(feature = "Win32_Networking_WinSock")] | |
196 | impl ::core::marker::Copy for WNV_REDIRECT_PARAM {} | |
197 | #[cfg(feature = "Win32_Networking_WinSock")] | |
198 | impl ::core::clone::Clone for WNV_REDIRECT_PARAM { | |
199 | fn clone(&self) -> Self { | |
200 | *self | |
201 | } | |
202 | } |