]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/NetworkManagement/Multicast/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / NetworkManagement / Multicast / mod.rs
1 #[link(name = "windows")]
2 extern "system" {
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;
18 }
19 #[repr(C)]
20 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
21 pub union IPNG_ADDRESS {
22 pub IpAddrV4: u32,
23 pub IpAddrV6: [u8; 16],
24 }
25 impl ::core::marker::Copy for IPNG_ADDRESS {}
26 impl ::core::clone::Clone for IPNG_ADDRESS {
27 fn clone(&self) -> Self {
28 *self
29 }
30 }
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;
39 #[repr(C)]
40 #[doc = "*Required features: `\"Win32_NetworkManagement_Multicast\"`*"]
41 pub struct MCAST_CLIENT_UID {
42 pub ClientUID: *mut u8,
43 pub ClientUIDLength: u32,
44 }
45 impl ::core::marker::Copy for MCAST_CLIENT_UID {}
46 impl ::core::clone::Clone for MCAST_CLIENT_UID {
47 fn clone(&self) -> Self {
48 *self
49 }
50 }
51 #[repr(C)]
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,
60 pub AddrCount: u16,
61 pub pAddrBuf: *mut u8,
62 }
63 impl ::core::marker::Copy for MCAST_LEASE_REQUEST {}
64 impl ::core::clone::Clone for MCAST_LEASE_REQUEST {
65 fn clone(&self) -> Self {
66 *self
67 }
68 }
69 #[repr(C)]
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,
75 pub AddrCount: u16,
76 pub pAddrBuf: *mut u8,
77 }
78 impl ::core::marker::Copy for MCAST_LEASE_RESPONSE {}
79 impl ::core::clone::Clone for MCAST_LEASE_RESPONSE {
80 fn clone(&self) -> Self {
81 *self
82 }
83 }
84 #[repr(C)]
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,
90 }
91 impl ::core::marker::Copy for MCAST_SCOPE_CTX {}
92 impl ::core::clone::Clone for MCAST_SCOPE_CTX {
93 fn clone(&self) -> Self {
94 *self
95 }
96 }
97 #[repr(C)]
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,
103 pub TTL: u32,
104 pub ScopeDesc: super::super::Foundation::UNICODE_STRING,
105 }
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 {
111 *self
112 }
113 }