]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/NetworkManagement/Multicast/mod.rs
Merge 1.70 into proxmox/bookworm
[rustc.git] / vendor / windows / src / Windows / Win32 / NetworkManagement / Multicast / mod.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
2#[inline]
3pub unsafe fn McastApiCleanup() {
4 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastApiCleanup ( ) -> ( ) );
5 McastApiCleanup()
6}
7#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
8#[inline]
9pub unsafe fn McastApiStartup(version: *mut u32) -> u32 {
10 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastApiStartup ( version : *mut u32 ) -> u32 );
11 McastApiStartup(version)
12}
13#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`, `\"Win32_Foundation\"`*"]
14#[cfg(feature = "Win32_Foundation")]
15#[inline]
16pub unsafe fn McastEnumerateScopes<P0>(addrfamily: u16, requery: P0, pscopelist: *mut MCAST_SCOPE_ENTRY, pscopelen: *mut u32, pscopecount: *mut u32) -> u32
17where
18 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
19{
20 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastEnumerateScopes ( addrfamily : u16 , requery : super::super::Foundation:: BOOL , pscopelist : *mut MCAST_SCOPE_ENTRY , pscopelen : *mut u32 , pscopecount : *mut u32 ) -> u32 );
21 McastEnumerateScopes(addrfamily, requery.into_param().abi(), pscopelist, pscopelen, pscopecount)
22}
23#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
24#[inline]
25pub unsafe fn McastGenUID(prequestid: *mut MCAST_CLIENT_UID) -> u32 {
26 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastGenUID ( prequestid : *mut MCAST_CLIENT_UID ) -> u32 );
27 McastGenUID(prequestid)
28}
29#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
30#[inline]
31pub unsafe fn McastReleaseAddress(addrfamily: u16, prequestid: *mut MCAST_CLIENT_UID, preleaserequest: *mut MCAST_LEASE_REQUEST) -> u32 {
32 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastReleaseAddress ( addrfamily : u16 , prequestid : *mut MCAST_CLIENT_UID , preleaserequest : *mut MCAST_LEASE_REQUEST ) -> u32 );
33 McastReleaseAddress(addrfamily, prequestid, preleaserequest)
34}
35#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
36#[inline]
37pub unsafe fn McastRenewAddress(addrfamily: u16, prequestid: *mut MCAST_CLIENT_UID, prenewrequest: *mut MCAST_LEASE_REQUEST, prenewresponse: *mut MCAST_LEASE_RESPONSE) -> u32 {
38 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastRenewAddress ( addrfamily : u16 , prequestid : *mut MCAST_CLIENT_UID , prenewrequest : *mut MCAST_LEASE_REQUEST , prenewresponse : *mut MCAST_LEASE_RESPONSE ) -> u32 );
39 McastRenewAddress(addrfamily, prequestid, prenewrequest, prenewresponse)
40}
41#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
42#[inline]
43pub unsafe fn McastRequestAddress(addrfamily: u16, prequestid: *mut MCAST_CLIENT_UID, pscopectx: *mut MCAST_SCOPE_CTX, paddrrequest: *mut MCAST_LEASE_REQUEST, paddrresponse: *mut MCAST_LEASE_RESPONSE) -> u32 {
44 ::windows::imp::link ! ( "dhcpcsvc.dll""system" fn McastRequestAddress ( addrfamily : u16 , prequestid : *mut MCAST_CLIENT_UID , pscopectx : *mut MCAST_SCOPE_CTX , paddrrequest : *mut MCAST_LEASE_REQUEST , paddrresponse : *mut MCAST_LEASE_RESPONSE ) -> u32 );
45 McastRequestAddress(addrfamily, prequestid, pscopectx, paddrrequest, paddrresponse)
46}
47#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
48pub const MCAST_API_CURRENT_VERSION: i32 = 1i32;
49#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
50pub const MCAST_API_VERSION_0: i32 = 0i32;
51#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
52pub const MCAST_API_VERSION_1: i32 = 1i32;
53#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
54pub const MCAST_CLIENT_ID_LEN: u32 = 17u32;
55#[repr(C)]
56#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
57pub union IPNG_ADDRESS {
58 pub IpAddrV4: u32,
59 pub IpAddrV6: [u8; 16],
60}
61impl ::core::marker::Copy for IPNG_ADDRESS {}
62impl ::core::clone::Clone for IPNG_ADDRESS {
63 fn clone(&self) -> Self {
64 *self
65 }
66}
67impl ::windows::core::TypeKind for IPNG_ADDRESS {
68 type TypeKind = ::windows::core::CopyType;
69}
70impl ::core::default::Default for IPNG_ADDRESS {
71 fn default() -> Self {
72 unsafe { ::core::mem::zeroed() }
73 }
74}
75#[repr(C)]
76#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
77pub struct MCAST_CLIENT_UID {
78 pub ClientUID: *mut u8,
79 pub ClientUIDLength: u32,
80}
81impl ::core::marker::Copy for MCAST_CLIENT_UID {}
82impl ::core::clone::Clone for MCAST_CLIENT_UID {
83 fn clone(&self) -> Self {
84 *self
85 }
86}
87impl ::core::fmt::Debug for MCAST_CLIENT_UID {
88 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
89 f.debug_struct("MCAST_CLIENT_UID").field("ClientUID", &self.ClientUID).field("ClientUIDLength", &self.ClientUIDLength).finish()
90 }
91}
92impl ::windows::core::TypeKind for MCAST_CLIENT_UID {
93 type TypeKind = ::windows::core::CopyType;
94}
95impl ::core::cmp::PartialEq for MCAST_CLIENT_UID {
96 fn eq(&self, other: &Self) -> bool {
97 self.ClientUID == other.ClientUID && self.ClientUIDLength == other.ClientUIDLength
98 }
99}
100impl ::core::cmp::Eq for MCAST_CLIENT_UID {}
101impl ::core::default::Default for MCAST_CLIENT_UID {
102 fn default() -> Self {
103 unsafe { ::core::mem::zeroed() }
104 }
105}
106#[repr(C)]
107#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
108pub struct MCAST_LEASE_REQUEST {
109 pub LeaseStartTime: i32,
110 pub MaxLeaseStartTime: i32,
111 pub LeaseDuration: u32,
112 pub MinLeaseDuration: u32,
113 pub ServerAddress: IPNG_ADDRESS,
114 pub MinAddrCount: u16,
115 pub AddrCount: u16,
116 pub pAddrBuf: *mut u8,
117}
118impl ::core::marker::Copy for MCAST_LEASE_REQUEST {}
119impl ::core::clone::Clone for MCAST_LEASE_REQUEST {
120 fn clone(&self) -> Self {
121 *self
122 }
123}
124impl ::windows::core::TypeKind for MCAST_LEASE_REQUEST {
125 type TypeKind = ::windows::core::CopyType;
126}
127impl ::core::default::Default for MCAST_LEASE_REQUEST {
128 fn default() -> Self {
129 unsafe { ::core::mem::zeroed() }
130 }
131}
132#[repr(C)]
133#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
134pub struct MCAST_LEASE_RESPONSE {
135 pub LeaseStartTime: i32,
136 pub LeaseEndTime: i32,
137 pub ServerAddress: IPNG_ADDRESS,
138 pub AddrCount: u16,
139 pub pAddrBuf: *mut u8,
140}
141impl ::core::marker::Copy for MCAST_LEASE_RESPONSE {}
142impl ::core::clone::Clone for MCAST_LEASE_RESPONSE {
143 fn clone(&self) -> Self {
144 *self
145 }
146}
147impl ::windows::core::TypeKind for MCAST_LEASE_RESPONSE {
148 type TypeKind = ::windows::core::CopyType;
149}
150impl ::core::default::Default for MCAST_LEASE_RESPONSE {
151 fn default() -> Self {
152 unsafe { ::core::mem::zeroed() }
153 }
154}
155#[repr(C)]
156#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
157pub struct MCAST_SCOPE_CTX {
158 pub ScopeID: IPNG_ADDRESS,
159 pub Interface: IPNG_ADDRESS,
160 pub ServerID: IPNG_ADDRESS,
161}
162impl ::core::marker::Copy for MCAST_SCOPE_CTX {}
163impl ::core::clone::Clone for MCAST_SCOPE_CTX {
164 fn clone(&self) -> Self {
165 *self
166 }
167}
168impl ::windows::core::TypeKind for MCAST_SCOPE_CTX {
169 type TypeKind = ::windows::core::CopyType;
170}
171impl ::core::default::Default for MCAST_SCOPE_CTX {
172 fn default() -> Self {
173 unsafe { ::core::mem::zeroed() }
174 }
175}
176#[repr(C)]
177#[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`, `\"Win32_Foundation\"`*"]
178#[cfg(feature = "Win32_Foundation")]
179pub struct MCAST_SCOPE_ENTRY {
180 pub ScopeCtx: MCAST_SCOPE_CTX,
181 pub LastAddr: IPNG_ADDRESS,
182 pub TTL: u32,
183 pub ScopeDesc: super::super::Foundation::UNICODE_STRING,
184}
185#[cfg(feature = "Win32_Foundation")]
186impl ::core::marker::Copy for MCAST_SCOPE_ENTRY {}
187#[cfg(feature = "Win32_Foundation")]
188impl ::core::clone::Clone for MCAST_SCOPE_ENTRY {
189 fn clone(&self) -> Self {
190 *self
191 }
192}
193#[cfg(feature = "Win32_Foundation")]
194impl ::windows::core::TypeKind for MCAST_SCOPE_ENTRY {
195 type TypeKind = ::windows::core::CopyType;
196}
197#[cfg(feature = "Win32_Foundation")]
198impl ::core::default::Default for MCAST_SCOPE_ENTRY {
199 fn default() -> Self {
200 unsafe { ::core::mem::zeroed() }
201 }
202}
203#[cfg(feature = "implement")]
204::core::include!("impl.rs");