]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Win32/NetworkManagement/WindowsNetworkVirtualization/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / NetworkManagement / WindowsNetworkVirtualization / mod.rs
CommitLineData
5e7ed085
FG
1#[link(name = "windows")]
2extern "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 11pub const WNV_API_MAJOR_VERSION_1: u32 = 1u32;
04454e1e 12#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 13pub const WNV_API_MINOR_VERSION_0: u32 = 0u32;
04454e1e 14#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 15pub type WNV_CA_NOTIFICATION_TYPE = i32;
04454e1e 16#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 17pub const WnvCustomerAddressAdded: WNV_CA_NOTIFICATION_TYPE = 0i32;
04454e1e 18#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 19pub const WnvCustomerAddressDeleted: WNV_CA_NOTIFICATION_TYPE = 1i32;
04454e1e 20#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 21pub const WnvCustomerAddressMoved: WNV_CA_NOTIFICATION_TYPE = 2i32;
04454e1e 22#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085
FG
23pub 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"))]
27pub 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"))]
37impl ::core::marker::Copy for WNV_CUSTOMER_ADDRESS_CHANGE_PARAM {}
38#[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))]
39impl ::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")]
47pub struct WNV_IP_ADDRESS {
48 pub IP: WNV_IP_ADDRESS_0,
49}
50#[cfg(feature = "Win32_Networking_WinSock")]
51impl ::core::marker::Copy for WNV_IP_ADDRESS {}
52#[cfg(feature = "Win32_Networking_WinSock")]
53impl ::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")]
61pub 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")]
67impl ::core::marker::Copy for WNV_IP_ADDRESS_0 {}
68#[cfg(feature = "Win32_Networking_WinSock")]
69impl ::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
76pub 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}
82impl ::core::marker::Copy for WNV_NOTIFICATION_PARAM {}
83impl ::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 89pub type WNV_NOTIFICATION_TYPE = i32;
04454e1e 90#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 91pub const WnvPolicyMismatchType: WNV_NOTIFICATION_TYPE = 0i32;
04454e1e 92#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 93pub const WnvRedirectType: WNV_NOTIFICATION_TYPE = 1i32;
04454e1e 94#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 95pub const WnvObjectChangeType: WNV_NOTIFICATION_TYPE = 2i32;
04454e1e 96#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085
FG
97pub 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"))]
101pub 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"))]
106impl ::core::marker::Copy for WNV_OBJECT_CHANGE_PARAM {}
107#[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))]
108impl ::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"))]
116pub 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"))]
121impl ::core::marker::Copy for WNV_OBJECT_CHANGE_PARAM_0 {}
122#[cfg(all(feature = "Win32_NetworkManagement_WindowsFilteringPlatform", feature = "Win32_Networking_WinSock"))]
123impl ::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
130pub struct WNV_OBJECT_HEADER {
131 pub MajorVersion: u8,
132 pub MinorVersion: u8,
133 pub Size: u32,
134}
135impl ::core::marker::Copy for WNV_OBJECT_HEADER {}
136impl ::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 142pub type WNV_OBJECT_TYPE = i32;
04454e1e 143#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 144pub const WnvProviderAddressType: WNV_OBJECT_TYPE = 0i32;
04454e1e 145#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085 146pub const WnvCustomerAddressType: WNV_OBJECT_TYPE = 1i32;
04454e1e 147#[doc = "*Required features: `\"Win32_NetworkManagement_WindowsNetworkVirtualization\"`*"]
5e7ed085
FG
148pub 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")]
152pub 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")]
160impl ::core::marker::Copy for WNV_POLICY_MISMATCH_PARAM {}
161#[cfg(feature = "Win32_Networking_WinSock")]
162impl ::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")]
170pub 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")]
176impl ::core::marker::Copy for WNV_PROVIDER_ADDRESS_CHANGE_PARAM {}
177#[cfg(feature = "Win32_Networking_WinSock")]
178impl ::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")]
186pub 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")]
196impl ::core::marker::Copy for WNV_REDIRECT_PARAM {}
197#[cfg(feature = "Win32_Networking_WinSock")]
198impl ::core::clone::Clone for WNV_REDIRECT_PARAM {
199 fn clone(&self) -> Self {
200 *self
201 }
202}