1 #[link(name = "windows")]
3 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
4 pub fn McastApiCleanup();
5 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
6 pub fn McastApiStartup(version
: *mut u32) -> u32;
7 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`, `\"Win32_Foundation\"`*"]
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn McastEnumerateScopes(addrfamily
: u16, requery
: super::super::Foundation
::BOOL
, pscopelist
: *mut MCAST_SCOPE_ENTRY
, pscopelen
: *mut u32, pscopecount
: *mut u32) -> u32;
10 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
11 pub fn McastGenUID(prequestid
: *mut MCAST_CLIENT_UID
) -> u32;
12 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
13 pub fn McastReleaseAddress(addrfamily
: u16, prequestid
: *mut MCAST_CLIENT_UID
, preleaserequest
: *mut MCAST_LEASE_REQUEST
) -> u32;
14 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
15 pub fn McastRenewAddress(addrfamily
: u16, prequestid
: *mut MCAST_CLIENT_UID
, prenewrequest
: *mut MCAST_LEASE_REQUEST
, prenewresponse
: *mut MCAST_LEASE_RESPONSE
) -> u32;
16 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
17 pub 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;
20 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
21 pub union IPNG_ADDRESS
{
23 pub IpAddrV6
: [u8; 16],
25 impl ::core
::marker
::Copy
for IPNG_ADDRESS {}
26 impl ::core
::clone
::Clone
for IPNG_ADDRESS
{
27 fn clone(&self) -> Self {
31 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
32 pub const MCAST_API_CURRENT_VERSION
: i32 = 1i32;
33 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
34 pub const MCAST_API_VERSION_0
: i32 = 0i32;
35 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
36 pub const MCAST_API_VERSION_1
: i32 = 1i32;
37 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
38 pub const MCAST_CLIENT_ID_LEN
: u32 = 17u32;
40 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
41 pub struct MCAST_CLIENT_UID
{
42 pub ClientUID
: *mut u8,
43 pub ClientUIDLength
: u32,
45 impl ::core
::marker
::Copy
for MCAST_CLIENT_UID {}
46 impl ::core
::clone
::Clone
for MCAST_CLIENT_UID
{
47 fn clone(&self) -> Self {
52 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
53 pub struct MCAST_LEASE_REQUEST
{
54 pub LeaseStartTime
: i32,
55 pub MaxLeaseStartTime
: i32,
56 pub LeaseDuration
: u32,
57 pub MinLeaseDuration
: u32,
58 pub ServerAddress
: IPNG_ADDRESS
,
59 pub MinAddrCount
: u16,
61 pub pAddrBuf
: *mut u8,
63 impl ::core
::marker
::Copy
for MCAST_LEASE_REQUEST {}
64 impl ::core
::clone
::Clone
for MCAST_LEASE_REQUEST
{
65 fn clone(&self) -> Self {
70 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
71 pub struct MCAST_LEASE_RESPONSE
{
72 pub LeaseStartTime
: i32,
73 pub LeaseEndTime
: i32,
74 pub ServerAddress
: IPNG_ADDRESS
,
76 pub pAddrBuf
: *mut u8,
78 impl ::core
::marker
::Copy
for MCAST_LEASE_RESPONSE {}
79 impl ::core
::clone
::Clone
for MCAST_LEASE_RESPONSE
{
80 fn clone(&self) -> Self {
85 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
86 pub struct MCAST_SCOPE_CTX
{
87 pub ScopeID
: IPNG_ADDRESS
,
88 pub Interface
: IPNG_ADDRESS
,
89 pub ServerID
: IPNG_ADDRESS
,
91 impl ::core
::marker
::Copy
for MCAST_SCOPE_CTX {}
92 impl ::core
::clone
::Clone
for MCAST_SCOPE_CTX
{
93 fn clone(&self) -> Self {
98 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`, `\"Win32_Foundation\"`*"]
99 #[cfg(feature = "Win32_Foundation")]
100 pub struct MCAST_SCOPE_ENTRY
{
101 pub ScopeCtx
: MCAST_SCOPE_CTX
,
102 pub LastAddr
: IPNG_ADDRESS
,
104 pub ScopeDesc
: super::super::Foundation
::UNICODE_STRING
,
106 #[cfg(feature = "Win32_Foundation")]
107 impl ::core
::marker
::Copy
for MCAST_SCOPE_ENTRY {}
108 #[cfg(feature = "Win32_Foundation")]
109 impl ::core
::clone
::Clone
for MCAST_SCOPE_ENTRY
{
110 fn clone(&self) -> Self {