]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys-0.28.0/src/Windows/Win32/NetworkManagement/Dns/mod.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / vendor / windows-sys-0.28.0 / src / Windows / Win32 / NetworkManagement / Dns / mod.rs
1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4 pub fn DnsAcquireContextHandle_A(credentialflags: u32, credentials: *const ::core::ffi::c_void, pcontext: *mut DnsContextHandle) -> i32;
5 pub fn DnsAcquireContextHandle_W(credentialflags: u32, credentials: *const ::core::ffi::c_void, pcontext: *mut DnsContextHandle) -> i32;
6 #[cfg(feature = "Win32_Foundation")]
7 pub fn DnsCancelQuery(pcancelhandle: *const DNS_QUERY_CANCEL) -> i32;
8 pub fn DnsConnectionDeletePolicyEntries(policyentrytag: DNS_CONNECTION_POLICY_TAG) -> u32;
9 #[cfg(feature = "Win32_Foundation")]
10 pub fn DnsConnectionDeleteProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE) -> u32;
11 pub fn DnsConnectionFreeNameList(pnamelist: *mut DNS_CONNECTION_NAME_LIST);
12 #[cfg(feature = "Win32_Foundation")]
13 pub fn DnsConnectionFreeProxyInfo(pproxyinfo: *mut DNS_CONNECTION_PROXY_INFO);
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn DnsConnectionFreeProxyInfoEx(pproxyinfoex: *mut DNS_CONNECTION_PROXY_INFO_EX);
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn DnsConnectionFreeProxyList(pproxylist: *mut DNS_CONNECTION_PROXY_LIST);
18 pub fn DnsConnectionGetNameList(pnamelist: *mut DNS_CONNECTION_NAME_LIST) -> u32;
19 #[cfg(feature = "Win32_Foundation")]
20 pub fn DnsConnectionGetProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE, pproxyinfo: *mut DNS_CONNECTION_PROXY_INFO) -> u32;
21 #[cfg(feature = "Win32_Foundation")]
22 pub fn DnsConnectionGetProxyInfoForHostUrl(pwszhosturl: super::super::Foundation::PWSTR, pselectioncontext: *const u8, dwselectioncontextlength: u32, dwexplicitinterfaceindex: u32, pproxyinfoex: *mut DNS_CONNECTION_PROXY_INFO_EX) -> u32;
23 #[cfg(feature = "Win32_Foundation")]
24 pub fn DnsConnectionGetProxyList(pwszconnectionname: super::super::Foundation::PWSTR, pproxylist: *mut DNS_CONNECTION_PROXY_LIST) -> u32;
25 #[cfg(feature = "Win32_Foundation")]
26 pub fn DnsConnectionSetPolicyEntries(policyentrytag: DNS_CONNECTION_POLICY_TAG, ppolicyentrylist: *const DNS_CONNECTION_POLICY_ENTRY_LIST) -> u32;
27 #[cfg(feature = "Win32_Foundation")]
28 pub fn DnsConnectionSetProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE, pproxyinfo: *const DNS_CONNECTION_PROXY_INFO) -> u32;
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn DnsConnectionUpdateIfIndexTable(pconnectionifindexentries: *const DNS_CONNECTION_IFINDEX_LIST) -> u32;
31 #[cfg(feature = "Win32_Foundation")]
32 pub fn DnsExtractRecordsFromMessage_UTF8(pdnsbuffer: *const DNS_MESSAGE_BUFFER, wmessagelength: u16, pprecord: *mut *mut DNS_RECORDA) -> i32;
33 #[cfg(feature = "Win32_Foundation")]
34 pub fn DnsExtractRecordsFromMessage_W(pdnsbuffer: *const DNS_MESSAGE_BUFFER, wmessagelength: u16, pprecord: *mut *mut DNS_RECORDA) -> i32;
35 pub fn DnsFree(pdata: *const ::core::ffi::c_void, freetype: DNS_FREE_TYPE);
36 #[cfg(feature = "Win32_Foundation")]
37 pub fn DnsFreeCustomServers(pcservers: *mut u32, ppservers: *mut *mut DNS_CUSTOM_SERVER);
38 #[cfg(feature = "Win32_Foundation")]
39 pub fn DnsFreeProxyName(proxyname: super::super::Foundation::PWSTR);
40 #[cfg(feature = "Win32_Foundation")]
41 pub fn DnsGetApplicationSettings(pcservers: *mut u32, ppdefaultservers: *mut *mut DNS_CUSTOM_SERVER, psettings: *mut DNS_APPLICATION_SETTINGS) -> u32;
42 #[cfg(feature = "Win32_Foundation")]
43 pub fn DnsGetProxyInformation(hostname: super::super::Foundation::PWSTR, proxyinformation: *mut DNS_PROXY_INFORMATION, defaultproxyinformation: *mut DNS_PROXY_INFORMATION, completionroutine: ::core::option::Option<DNS_PROXY_COMPLETION_ROUTINE>, completioncontext: *const ::core::ffi::c_void) -> u32;
44 #[cfg(feature = "Win32_Foundation")]
45 pub fn DnsModifyRecordsInSet_A(paddrecords: *const DNS_RECORDA, pdeleterecords: *const DNS_RECORDA, options: u32, hcredentials: super::super::Foundation::HANDLE, pextralist: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i32;
46 #[cfg(feature = "Win32_Foundation")]
47 pub fn DnsModifyRecordsInSet_UTF8(paddrecords: *const DNS_RECORDA, pdeleterecords: *const DNS_RECORDA, options: u32, hcredentials: super::super::Foundation::HANDLE, pextralist: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i32;
48 #[cfg(feature = "Win32_Foundation")]
49 pub fn DnsModifyRecordsInSet_W(paddrecords: *const DNS_RECORDA, pdeleterecords: *const DNS_RECORDA, options: u32, hcredentials: super::super::Foundation::HANDLE, pextralist: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i32;
50 #[cfg(feature = "Win32_Foundation")]
51 pub fn DnsNameCompare_A(pname1: super::super::Foundation::PSTR, pname2: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
52 #[cfg(feature = "Win32_Foundation")]
53 pub fn DnsNameCompare_W(pname1: super::super::Foundation::PWSTR, pname2: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
54 #[cfg(feature = "Win32_Foundation")]
55 pub fn DnsQueryConfig(config: DNS_CONFIG_TYPE, flag: u32, pwsadaptername: super::super::Foundation::PWSTR, preserved: *const ::core::ffi::c_void, pbuffer: *mut ::core::ffi::c_void, pbuflen: *mut u32) -> i32;
56 #[cfg(feature = "Win32_Foundation")]
57 pub fn DnsQueryEx(pqueryrequest: *const DNS_QUERY_REQUEST, pqueryresults: *mut DNS_QUERY_RESULT, pcancelhandle: *mut DNS_QUERY_CANCEL) -> i32;
58 #[cfg(feature = "Win32_Foundation")]
59 pub fn DnsQuery_A(pszname: super::super::Foundation::PSTR, wtype: u16, options: u32, pextra: *mut ::core::ffi::c_void, ppqueryresults: *mut *mut DNS_RECORDA, preserved: *mut *mut ::core::ffi::c_void) -> i32;
60 #[cfg(feature = "Win32_Foundation")]
61 pub fn DnsQuery_UTF8(pszname: super::super::Foundation::PSTR, wtype: u16, options: u32, pextra: *mut ::core::ffi::c_void, ppqueryresults: *mut *mut DNS_RECORDA, preserved: *mut *mut ::core::ffi::c_void) -> i32;
62 #[cfg(feature = "Win32_Foundation")]
63 pub fn DnsQuery_W(pszname: super::super::Foundation::PWSTR, wtype: u16, options: u32, pextra: *mut ::core::ffi::c_void, ppqueryresults: *mut *mut DNS_RECORDA, preserved: *mut *mut ::core::ffi::c_void) -> i32;
64 #[cfg(feature = "Win32_Foundation")]
65 pub fn DnsRecordCompare(precord1: *const DNS_RECORDA, precord2: *const DNS_RECORDA) -> super::super::Foundation::BOOL;
66 #[cfg(feature = "Win32_Foundation")]
67 pub fn DnsRecordCopyEx(precord: *const DNS_RECORDA, charsetin: DNS_CHARSET, charsetout: DNS_CHARSET) -> *mut DNS_RECORDA;
68 #[cfg(feature = "Win32_Foundation")]
69 pub fn DnsRecordSetCompare(prr1: *mut DNS_RECORDA, prr2: *mut DNS_RECORDA, ppdiff1: *mut *mut DNS_RECORDA, ppdiff2: *mut *mut DNS_RECORDA) -> super::super::Foundation::BOOL;
70 #[cfg(feature = "Win32_Foundation")]
71 pub fn DnsRecordSetCopyEx(precordset: *const DNS_RECORDA, charsetin: DNS_CHARSET, charsetout: DNS_CHARSET) -> *mut DNS_RECORDA;
72 #[cfg(feature = "Win32_Foundation")]
73 pub fn DnsRecordSetDetach(precordlist: *mut DNS_RECORDA) -> *mut DNS_RECORDA;
74 #[cfg(feature = "Win32_Foundation")]
75 pub fn DnsReleaseContextHandle(hcontext: super::super::Foundation::HANDLE);
76 #[cfg(feature = "Win32_Foundation")]
77 pub fn DnsReplaceRecordSetA(preplaceset: *const DNS_RECORDA, options: u32, hcontext: super::super::Foundation::HANDLE, pextrainfo: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i32;
78 #[cfg(feature = "Win32_Foundation")]
79 pub fn DnsReplaceRecordSetUTF8(preplaceset: *const DNS_RECORDA, options: u32, hcontext: super::super::Foundation::HANDLE, pextrainfo: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i32;
80 #[cfg(feature = "Win32_Foundation")]
81 pub fn DnsReplaceRecordSetW(preplaceset: *const DNS_RECORDA, options: u32, hcontext: super::super::Foundation::HANDLE, pextrainfo: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i32;
82 #[cfg(feature = "Win32_Foundation")]
83 pub fn DnsServiceBrowse(prequest: *const DNS_SERVICE_BROWSE_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> i32;
84 pub fn DnsServiceBrowseCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> i32;
85 #[cfg(feature = "Win32_Foundation")]
86 pub fn DnsServiceConstructInstance(pservicename: super::super::Foundation::PWSTR, phostname: super::super::Foundation::PWSTR, pip4: *const u32, pip6: *const IP6_ADDRESS, wport: u16, wpriority: u16, wweight: u16, dwpropertiescount: u32, keys: *const super::super::Foundation::PWSTR, values: *const super::super::Foundation::PWSTR) -> *mut DNS_SERVICE_INSTANCE;
87 #[cfg(feature = "Win32_Foundation")]
88 pub fn DnsServiceCopyInstance(porig: *const DNS_SERVICE_INSTANCE) -> *mut DNS_SERVICE_INSTANCE;
89 #[cfg(feature = "Win32_Foundation")]
90 pub fn DnsServiceDeRegister(prequest: *const DNS_SERVICE_REGISTER_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> u32;
91 #[cfg(feature = "Win32_Foundation")]
92 pub fn DnsServiceFreeInstance(pinstance: *const DNS_SERVICE_INSTANCE);
93 #[cfg(feature = "Win32_Foundation")]
94 pub fn DnsServiceRegister(prequest: *const DNS_SERVICE_REGISTER_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> u32;
95 pub fn DnsServiceRegisterCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> u32;
96 #[cfg(feature = "Win32_Foundation")]
97 pub fn DnsServiceResolve(prequest: *const DNS_SERVICE_RESOLVE_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> i32;
98 pub fn DnsServiceResolveCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> i32;
99 #[cfg(feature = "Win32_Foundation")]
100 pub fn DnsSetApplicationSettings(cservers: u32, pservers: *const DNS_CUSTOM_SERVER, psettings: *const DNS_APPLICATION_SETTINGS) -> u32;
101 #[cfg(feature = "Win32_Foundation")]
102 pub fn DnsStartMulticastQuery(pqueryrequest: *const MDNS_QUERY_REQUEST, phandle: *mut MDNS_QUERY_HANDLE) -> i32;
103 pub fn DnsStopMulticastQuery(phandle: *mut MDNS_QUERY_HANDLE) -> i32;
104 #[cfg(feature = "Win32_Foundation")]
105 pub fn DnsValidateName_A(pszname: super::super::Foundation::PSTR, format: DNS_NAME_FORMAT) -> i32;
106 #[cfg(feature = "Win32_Foundation")]
107 pub fn DnsValidateName_UTF8(pszname: super::super::Foundation::PSTR, format: DNS_NAME_FORMAT) -> i32;
108 #[cfg(feature = "Win32_Foundation")]
109 pub fn DnsValidateName_W(pszname: super::super::Foundation::PWSTR, format: DNS_NAME_FORMAT) -> i32;
110 #[cfg(feature = "Win32_Foundation")]
111 pub fn DnsWriteQuestionToBuffer_UTF8(pdnsbuffer: *mut DNS_MESSAGE_BUFFER, pdwbuffersize: *mut u32, pszname: super::super::Foundation::PSTR, wtype: u16, xid: u16, frecursiondesired: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
112 #[cfg(feature = "Win32_Foundation")]
113 pub fn DnsWriteQuestionToBuffer_W(pdnsbuffer: *mut DNS_MESSAGE_BUFFER, pdwbuffersize: *mut u32, pszname: super::super::Foundation::PWSTR, wtype: u16, xid: u16, frecursiondesired: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
114 }
115 pub const DNSREC_ADDITIONAL: u32 = 3u32;
116 pub const DNSREC_ANSWER: u32 = 1u32;
117 pub const DNSREC_AUTHORITY: u32 = 2u32;
118 pub const DNSREC_DELETE: u32 = 4u32;
119 pub const DNSREC_NOEXIST: u32 = 4u32;
120 pub const DNSREC_PREREQ: u32 = 1u32;
121 pub const DNSREC_QUESTION: u32 = 0u32;
122 pub const DNSREC_SECTION: u32 = 3u32;
123 pub const DNSREC_UPDATE: u32 = 2u32;
124 pub const DNSREC_ZONE: u32 = 0u32;
125 pub const DNSSEC_ALGORITHM_ECDSAP256_SHA256: u32 = 13u32;
126 pub const DNSSEC_ALGORITHM_ECDSAP384_SHA384: u32 = 14u32;
127 pub const DNSSEC_ALGORITHM_NULL: u32 = 253u32;
128 pub const DNSSEC_ALGORITHM_PRIVATE: u32 = 254u32;
129 pub const DNSSEC_ALGORITHM_RSAMD5: u32 = 1u32;
130 pub const DNSSEC_ALGORITHM_RSASHA1: u32 = 5u32;
131 pub const DNSSEC_ALGORITHM_RSASHA1_NSEC3: u32 = 7u32;
132 pub const DNSSEC_ALGORITHM_RSASHA256: u32 = 8u32;
133 pub const DNSSEC_ALGORITHM_RSASHA512: u32 = 10u32;
134 pub const DNSSEC_DIGEST_ALGORITHM_SHA1: u32 = 1u32;
135 pub const DNSSEC_DIGEST_ALGORITHM_SHA256: u32 = 2u32;
136 pub const DNSSEC_DIGEST_ALGORITHM_SHA384: u32 = 4u32;
137 pub const DNSSEC_KEY_FLAG_EXTEND: u32 = 8u32;
138 pub const DNSSEC_KEY_FLAG_FLAG10: u32 = 1024u32;
139 pub const DNSSEC_KEY_FLAG_FLAG11: u32 = 2048u32;
140 pub const DNSSEC_KEY_FLAG_FLAG2: u32 = 4u32;
141 pub const DNSSEC_KEY_FLAG_FLAG4: u32 = 16u32;
142 pub const DNSSEC_KEY_FLAG_FLAG5: u32 = 32u32;
143 pub const DNSSEC_KEY_FLAG_FLAG8: u32 = 256u32;
144 pub const DNSSEC_KEY_FLAG_FLAG9: u32 = 512u32;
145 pub const DNSSEC_KEY_FLAG_HOST: u32 = 128u32;
146 pub const DNSSEC_KEY_FLAG_NOAUTH: u32 = 1u32;
147 pub const DNSSEC_KEY_FLAG_NOCONF: u32 = 2u32;
148 pub const DNSSEC_KEY_FLAG_NTPE3: u32 = 192u32;
149 pub const DNSSEC_KEY_FLAG_SIG0: u32 = 0u32;
150 pub const DNSSEC_KEY_FLAG_SIG1: u32 = 4096u32;
151 pub const DNSSEC_KEY_FLAG_SIG10: u32 = 40960u32;
152 pub const DNSSEC_KEY_FLAG_SIG11: u32 = 45056u32;
153 pub const DNSSEC_KEY_FLAG_SIG12: u32 = 49152u32;
154 pub const DNSSEC_KEY_FLAG_SIG13: u32 = 53248u32;
155 pub const DNSSEC_KEY_FLAG_SIG14: u32 = 57344u32;
156 pub const DNSSEC_KEY_FLAG_SIG15: u32 = 61440u32;
157 pub const DNSSEC_KEY_FLAG_SIG2: u32 = 8192u32;
158 pub const DNSSEC_KEY_FLAG_SIG3: u32 = 12288u32;
159 pub const DNSSEC_KEY_FLAG_SIG4: u32 = 16384u32;
160 pub const DNSSEC_KEY_FLAG_SIG5: u32 = 20480u32;
161 pub const DNSSEC_KEY_FLAG_SIG6: u32 = 24576u32;
162 pub const DNSSEC_KEY_FLAG_SIG7: u32 = 28672u32;
163 pub const DNSSEC_KEY_FLAG_SIG8: u32 = 32768u32;
164 pub const DNSSEC_KEY_FLAG_SIG9: u32 = 36864u32;
165 pub const DNSSEC_KEY_FLAG_USER: u32 = 0u32;
166 pub const DNSSEC_KEY_FLAG_ZONE: u32 = 64u32;
167 pub const DNSSEC_PROTOCOL_DNSSEC: u32 = 3u32;
168 pub const DNSSEC_PROTOCOL_EMAIL: u32 = 2u32;
169 pub const DNSSEC_PROTOCOL_IPSEC: u32 = 4u32;
170 pub const DNSSEC_PROTOCOL_NONE: u32 = 0u32;
171 pub const DNSSEC_PROTOCOL_TLS: u32 = 1u32;
172 #[repr(C)]
173 pub struct DNS_AAAA_DATA {
174 pub Ip6Address: IP6_ADDRESS,
175 }
176 impl ::core::marker::Copy for DNS_AAAA_DATA {}
177 impl ::core::clone::Clone for DNS_AAAA_DATA {
178 fn clone(&self) -> Self {
179 *self
180 }
181 }
182 #[repr(C)]
183 #[cfg(feature = "Win32_Foundation")]
184 pub struct DNS_ADDR {
185 pub MaxSa: [super::super::Foundation::CHAR; 32],
186 pub Data: DNS_ADDR_0,
187 }
188 #[cfg(feature = "Win32_Foundation")]
189 impl ::core::marker::Copy for DNS_ADDR {}
190 #[cfg(feature = "Win32_Foundation")]
191 impl ::core::clone::Clone for DNS_ADDR {
192 fn clone(&self) -> Self {
193 *self
194 }
195 }
196 #[repr(C, packed(1))]
197 #[cfg(feature = "Win32_Foundation")]
198 pub union DNS_ADDR_0 {
199 pub DnsAddrUserDword: [u32; 8],
200 }
201 #[cfg(feature = "Win32_Foundation")]
202 impl ::core::marker::Copy for DNS_ADDR_0 {}
203 #[cfg(feature = "Win32_Foundation")]
204 impl ::core::clone::Clone for DNS_ADDR_0 {
205 fn clone(&self) -> Self {
206 *self
207 }
208 }
209 pub const DNS_ADDRESS_STRING_LENGTH: u32 = 65u32;
210 #[repr(C, packed(1))]
211 #[cfg(feature = "Win32_Foundation")]
212 pub struct DNS_ADDR_ARRAY {
213 pub MaxCount: u32,
214 pub AddrCount: u32,
215 pub Tag: u32,
216 pub Family: u16,
217 pub WordReserved: u16,
218 pub Flags: u32,
219 pub MatchFlag: u32,
220 pub Reserved1: u32,
221 pub Reserved2: u32,
222 pub AddrArray: [DNS_ADDR; 1],
223 }
224 #[cfg(feature = "Win32_Foundation")]
225 impl ::core::marker::Copy for DNS_ADDR_ARRAY {}
226 #[cfg(feature = "Win32_Foundation")]
227 impl ::core::clone::Clone for DNS_ADDR_ARRAY {
228 fn clone(&self) -> Self {
229 *self
230 }
231 }
232 pub const DNS_ADDR_MAX_SOCKADDR_LENGTH: u32 = 32u32;
233 #[repr(C)]
234 pub struct DNS_APPLICATION_SETTINGS {
235 pub Version: u32,
236 pub Flags: u64,
237 }
238 impl ::core::marker::Copy for DNS_APPLICATION_SETTINGS {}
239 impl ::core::clone::Clone for DNS_APPLICATION_SETTINGS {
240 fn clone(&self) -> Self {
241 *self
242 }
243 }
244 pub const DNS_APP_SETTINGS_EXCLUSIVE_SERVERS: u32 = 1u32;
245 pub const DNS_APP_SETTINGS_VERSION1: u32 = 1u32;
246 pub const DNS_ATMA_AESA_ADDR_LENGTH: u32 = 20u32;
247 #[repr(C)]
248 pub struct DNS_ATMA_DATA {
249 pub AddressType: u8,
250 pub Address: [u8; 20],
251 }
252 impl ::core::marker::Copy for DNS_ATMA_DATA {}
253 impl ::core::clone::Clone for DNS_ATMA_DATA {
254 fn clone(&self) -> Self {
255 *self
256 }
257 }
258 pub const DNS_ATMA_FORMAT_AESA: u32 = 2u32;
259 pub const DNS_ATMA_FORMAT_E164: u32 = 1u32;
260 pub const DNS_ATMA_MAX_ADDR_LENGTH: u32 = 20u32;
261 pub const DNS_ATMA_MAX_RECORD_LENGTH: u32 = 21u32;
262 #[repr(C)]
263 pub struct DNS_A_DATA {
264 pub IpAddress: u32,
265 }
266 impl ::core::marker::Copy for DNS_A_DATA {}
267 impl ::core::clone::Clone for DNS_A_DATA {
268 fn clone(&self) -> Self {
269 *self
270 }
271 }
272 pub type DNS_CHARSET = i32;
273 pub const DnsCharSetUnknown: DNS_CHARSET = 0i32;
274 pub const DnsCharSetUnicode: DNS_CHARSET = 1i32;
275 pub const DnsCharSetUtf8: DNS_CHARSET = 2i32;
276 pub const DnsCharSetAnsi: DNS_CHARSET = 3i32;
277 pub const DNS_CLASS_ALL: u32 = 255u32;
278 pub const DNS_CLASS_ANY: u32 = 255u32;
279 pub const DNS_CLASS_CHAOS: u32 = 3u32;
280 pub const DNS_CLASS_CSNET: u32 = 2u32;
281 pub const DNS_CLASS_HESIOD: u32 = 4u32;
282 pub const DNS_CLASS_INTERNET: u32 = 1u32;
283 pub const DNS_CLASS_NONE: u32 = 254u32;
284 pub const DNS_CLASS_UNICAST_RESPONSE: u32 = 32768u32;
285 pub const DNS_COMPRESSED_QUESTION_NAME: u32 = 49164u32;
286 pub const DNS_CONFIG_FLAG_ALLOC: u32 = 1u32;
287 pub type DNS_CONFIG_TYPE = i32;
288 pub const DnsConfigPrimaryDomainName_W: DNS_CONFIG_TYPE = 0i32;
289 pub const DnsConfigPrimaryDomainName_A: DNS_CONFIG_TYPE = 1i32;
290 pub const DnsConfigPrimaryDomainName_UTF8: DNS_CONFIG_TYPE = 2i32;
291 pub const DnsConfigAdapterDomainName_W: DNS_CONFIG_TYPE = 3i32;
292 pub const DnsConfigAdapterDomainName_A: DNS_CONFIG_TYPE = 4i32;
293 pub const DnsConfigAdapterDomainName_UTF8: DNS_CONFIG_TYPE = 5i32;
294 pub const DnsConfigDnsServerList: DNS_CONFIG_TYPE = 6i32;
295 pub const DnsConfigSearchList: DNS_CONFIG_TYPE = 7i32;
296 pub const DnsConfigAdapterInfo: DNS_CONFIG_TYPE = 8i32;
297 pub const DnsConfigPrimaryHostNameRegistrationEnabled: DNS_CONFIG_TYPE = 9i32;
298 pub const DnsConfigAdapterHostNameRegistrationEnabled: DNS_CONFIG_TYPE = 10i32;
299 pub const DnsConfigAddressRegistrationMaxCount: DNS_CONFIG_TYPE = 11i32;
300 pub const DnsConfigHostName_W: DNS_CONFIG_TYPE = 12i32;
301 pub const DnsConfigHostName_A: DNS_CONFIG_TYPE = 13i32;
302 pub const DnsConfigHostName_UTF8: DNS_CONFIG_TYPE = 14i32;
303 pub const DnsConfigFullHostName_W: DNS_CONFIG_TYPE = 15i32;
304 pub const DnsConfigFullHostName_A: DNS_CONFIG_TYPE = 16i32;
305 pub const DnsConfigFullHostName_UTF8: DNS_CONFIG_TYPE = 17i32;
306 pub const DnsConfigNameServer: DNS_CONFIG_TYPE = 18i32;
307 #[repr(C)]
308 #[cfg(feature = "Win32_Foundation")]
309 pub struct DNS_CONNECTION_IFINDEX_ENTRY {
310 pub pwszConnectionName: super::super::Foundation::PWSTR,
311 pub dwIfIndex: u32,
312 }
313 #[cfg(feature = "Win32_Foundation")]
314 impl ::core::marker::Copy for DNS_CONNECTION_IFINDEX_ENTRY {}
315 #[cfg(feature = "Win32_Foundation")]
316 impl ::core::clone::Clone for DNS_CONNECTION_IFINDEX_ENTRY {
317 fn clone(&self) -> Self {
318 *self
319 }
320 }
321 #[repr(C)]
322 #[cfg(feature = "Win32_Foundation")]
323 pub struct DNS_CONNECTION_IFINDEX_LIST {
324 pub pConnectionIfIndexEntries: *mut DNS_CONNECTION_IFINDEX_ENTRY,
325 pub nEntries: u32,
326 }
327 #[cfg(feature = "Win32_Foundation")]
328 impl ::core::marker::Copy for DNS_CONNECTION_IFINDEX_LIST {}
329 #[cfg(feature = "Win32_Foundation")]
330 impl ::core::clone::Clone for DNS_CONNECTION_IFINDEX_LIST {
331 fn clone(&self) -> Self {
332 *self
333 }
334 }
335 #[repr(C)]
336 pub struct DNS_CONNECTION_NAME {
337 pub wszName: [u16; 65],
338 }
339 impl ::core::marker::Copy for DNS_CONNECTION_NAME {}
340 impl ::core::clone::Clone for DNS_CONNECTION_NAME {
341 fn clone(&self) -> Self {
342 *self
343 }
344 }
345 #[repr(C)]
346 pub struct DNS_CONNECTION_NAME_LIST {
347 pub cNames: u32,
348 pub pNames: *mut DNS_CONNECTION_NAME,
349 }
350 impl ::core::marker::Copy for DNS_CONNECTION_NAME_LIST {}
351 impl ::core::clone::Clone for DNS_CONNECTION_NAME_LIST {
352 fn clone(&self) -> Self {
353 *self
354 }
355 }
356 pub const DNS_CONNECTION_NAME_MAX_LENGTH: u32 = 64u32;
357 #[repr(C)]
358 #[cfg(feature = "Win32_Foundation")]
359 pub struct DNS_CONNECTION_POLICY_ENTRY {
360 pub pwszHost: super::super::Foundation::PWSTR,
361 pub pwszAppId: super::super::Foundation::PWSTR,
362 pub cbAppSid: u32,
363 pub pbAppSid: *mut u8,
364 pub nConnections: u32,
365 pub ppwszConnections: *mut super::super::Foundation::PWSTR,
366 pub dwPolicyEntryFlags: u32,
367 }
368 #[cfg(feature = "Win32_Foundation")]
369 impl ::core::marker::Copy for DNS_CONNECTION_POLICY_ENTRY {}
370 #[cfg(feature = "Win32_Foundation")]
371 impl ::core::clone::Clone for DNS_CONNECTION_POLICY_ENTRY {
372 fn clone(&self) -> Self {
373 *self
374 }
375 }
376 #[repr(C)]
377 #[cfg(feature = "Win32_Foundation")]
378 pub struct DNS_CONNECTION_POLICY_ENTRY_LIST {
379 pub pPolicyEntries: *mut DNS_CONNECTION_POLICY_ENTRY,
380 pub nEntries: u32,
381 }
382 #[cfg(feature = "Win32_Foundation")]
383 impl ::core::marker::Copy for DNS_CONNECTION_POLICY_ENTRY_LIST {}
384 #[cfg(feature = "Win32_Foundation")]
385 impl ::core::clone::Clone for DNS_CONNECTION_POLICY_ENTRY_LIST {
386 fn clone(&self) -> Self {
387 *self
388 }
389 }
390 pub const DNS_CONNECTION_POLICY_ENTRY_ONDEMAND: u32 = 1u32;
391 pub type DNS_CONNECTION_POLICY_TAG = i32;
392 pub const TAG_DNS_CONNECTION_POLICY_TAG_DEFAULT: DNS_CONNECTION_POLICY_TAG = 0i32;
393 pub const TAG_DNS_CONNECTION_POLICY_TAG_CONNECTION_MANAGER: DNS_CONNECTION_POLICY_TAG = 1i32;
394 pub const TAG_DNS_CONNECTION_POLICY_TAG_WWWPT: DNS_CONNECTION_POLICY_TAG = 2i32;
395 #[repr(C)]
396 #[cfg(feature = "Win32_Foundation")]
397 pub struct DNS_CONNECTION_PROXY_ELEMENT {
398 pub Type: DNS_CONNECTION_PROXY_TYPE,
399 pub Info: DNS_CONNECTION_PROXY_INFO,
400 }
401 #[cfg(feature = "Win32_Foundation")]
402 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_ELEMENT {}
403 #[cfg(feature = "Win32_Foundation")]
404 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_ELEMENT {
405 fn clone(&self) -> Self {
406 *self
407 }
408 }
409 #[repr(C)]
410 #[cfg(feature = "Win32_Foundation")]
411 pub struct DNS_CONNECTION_PROXY_INFO {
412 pub Version: u32,
413 pub pwszFriendlyName: super::super::Foundation::PWSTR,
414 pub Flags: u32,
415 pub Switch: DNS_CONNECTION_PROXY_INFO_SWITCH,
416 pub Anonymous: DNS_CONNECTION_PROXY_INFO_0,
417 }
418 #[cfg(feature = "Win32_Foundation")]
419 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_INFO {}
420 #[cfg(feature = "Win32_Foundation")]
421 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_INFO {
422 fn clone(&self) -> Self {
423 *self
424 }
425 }
426 #[repr(C)]
427 #[cfg(feature = "Win32_Foundation")]
428 pub union DNS_CONNECTION_PROXY_INFO_0 {
429 pub Config: DNS_CONNECTION_PROXY_INFO_0_0,
430 pub Script: DNS_CONNECTION_PROXY_INFO_0_1,
431 }
432 #[cfg(feature = "Win32_Foundation")]
433 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_INFO_0 {}
434 #[cfg(feature = "Win32_Foundation")]
435 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_INFO_0 {
436 fn clone(&self) -> Self {
437 *self
438 }
439 }
440 #[repr(C)]
441 #[cfg(feature = "Win32_Foundation")]
442 pub struct DNS_CONNECTION_PROXY_INFO_0_0 {
443 pub pwszServer: super::super::Foundation::PWSTR,
444 pub pwszUsername: super::super::Foundation::PWSTR,
445 pub pwszPassword: super::super::Foundation::PWSTR,
446 pub pwszException: super::super::Foundation::PWSTR,
447 pub pwszExtraInfo: super::super::Foundation::PWSTR,
448 pub Port: u16,
449 }
450 #[cfg(feature = "Win32_Foundation")]
451 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_INFO_0_0 {}
452 #[cfg(feature = "Win32_Foundation")]
453 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_INFO_0_0 {
454 fn clone(&self) -> Self {
455 *self
456 }
457 }
458 #[repr(C)]
459 #[cfg(feature = "Win32_Foundation")]
460 pub struct DNS_CONNECTION_PROXY_INFO_0_1 {
461 pub pwszScript: super::super::Foundation::PWSTR,
462 pub pwszUsername: super::super::Foundation::PWSTR,
463 pub pwszPassword: super::super::Foundation::PWSTR,
464 }
465 #[cfg(feature = "Win32_Foundation")]
466 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_INFO_0_1 {}
467 #[cfg(feature = "Win32_Foundation")]
468 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_INFO_0_1 {
469 fn clone(&self) -> Self {
470 *self
471 }
472 }
473 pub const DNS_CONNECTION_PROXY_INFO_CURRENT_VERSION: u32 = 1u32;
474 #[repr(C)]
475 #[cfg(feature = "Win32_Foundation")]
476 pub struct DNS_CONNECTION_PROXY_INFO_EX {
477 pub ProxyInfo: DNS_CONNECTION_PROXY_INFO,
478 pub dwInterfaceIndex: u32,
479 pub pwszConnectionName: super::super::Foundation::PWSTR,
480 pub fDirectConfiguration: super::super::Foundation::BOOL,
481 pub hConnection: super::super::Foundation::HANDLE,
482 }
483 #[cfg(feature = "Win32_Foundation")]
484 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_INFO_EX {}
485 #[cfg(feature = "Win32_Foundation")]
486 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_INFO_EX {
487 fn clone(&self) -> Self {
488 *self
489 }
490 }
491 pub const DNS_CONNECTION_PROXY_INFO_EXCEPTION_MAX_LENGTH: u32 = 1024u32;
492 pub const DNS_CONNECTION_PROXY_INFO_EXTRA_INFO_MAX_LENGTH: u32 = 1024u32;
493 pub const DNS_CONNECTION_PROXY_INFO_FLAG_BYPASSLOCAL: u32 = 2u32;
494 pub const DNS_CONNECTION_PROXY_INFO_FLAG_DISABLED: u32 = 1u32;
495 pub const DNS_CONNECTION_PROXY_INFO_FRIENDLY_NAME_MAX_LENGTH: u32 = 64u32;
496 pub const DNS_CONNECTION_PROXY_INFO_PASSWORD_MAX_LENGTH: u32 = 128u32;
497 pub const DNS_CONNECTION_PROXY_INFO_SERVER_MAX_LENGTH: u32 = 256u32;
498 pub type DNS_CONNECTION_PROXY_INFO_SWITCH = i32;
499 pub const DNS_CONNECTION_PROXY_INFO_SWITCH_CONFIG: DNS_CONNECTION_PROXY_INFO_SWITCH = 0i32;
500 pub const DNS_CONNECTION_PROXY_INFO_SWITCH_SCRIPT: DNS_CONNECTION_PROXY_INFO_SWITCH = 1i32;
501 pub const DNS_CONNECTION_PROXY_INFO_SWITCH_WPAD: DNS_CONNECTION_PROXY_INFO_SWITCH = 2i32;
502 pub const DNS_CONNECTION_PROXY_INFO_USERNAME_MAX_LENGTH: u32 = 128u32;
503 #[repr(C)]
504 #[cfg(feature = "Win32_Foundation")]
505 pub struct DNS_CONNECTION_PROXY_LIST {
506 pub cProxies: u32,
507 pub pProxies: *mut DNS_CONNECTION_PROXY_ELEMENT,
508 }
509 #[cfg(feature = "Win32_Foundation")]
510 impl ::core::marker::Copy for DNS_CONNECTION_PROXY_LIST {}
511 #[cfg(feature = "Win32_Foundation")]
512 impl ::core::clone::Clone for DNS_CONNECTION_PROXY_LIST {
513 fn clone(&self) -> Self {
514 *self
515 }
516 }
517 pub type DNS_CONNECTION_PROXY_TYPE = i32;
518 pub const DNS_CONNECTION_PROXY_TYPE_NULL: DNS_CONNECTION_PROXY_TYPE = 0i32;
519 pub const DNS_CONNECTION_PROXY_TYPE_HTTP: DNS_CONNECTION_PROXY_TYPE = 1i32;
520 pub const DNS_CONNECTION_PROXY_TYPE_WAP: DNS_CONNECTION_PROXY_TYPE = 2i32;
521 pub const DNS_CONNECTION_PROXY_TYPE_SOCKS4: DNS_CONNECTION_PROXY_TYPE = 4i32;
522 pub const DNS_CONNECTION_PROXY_TYPE_SOCKS5: DNS_CONNECTION_PROXY_TYPE = 5i32;
523 #[repr(C)]
524 #[cfg(feature = "Win32_Foundation")]
525 pub struct DNS_CUSTOM_SERVER {
526 pub dwServerType: u32,
527 pub ullFlags: u64,
528 pub Anonymous1: DNS_CUSTOM_SERVER_0,
529 pub Anonymous2: DNS_CUSTOM_SERVER_1,
530 }
531 #[cfg(feature = "Win32_Foundation")]
532 impl ::core::marker::Copy for DNS_CUSTOM_SERVER {}
533 #[cfg(feature = "Win32_Foundation")]
534 impl ::core::clone::Clone for DNS_CUSTOM_SERVER {
535 fn clone(&self) -> Self {
536 *self
537 }
538 }
539 #[repr(C)]
540 #[cfg(feature = "Win32_Foundation")]
541 pub union DNS_CUSTOM_SERVER_0 {
542 pub pwszTemplate: super::super::Foundation::PWSTR,
543 }
544 #[cfg(feature = "Win32_Foundation")]
545 impl ::core::marker::Copy for DNS_CUSTOM_SERVER_0 {}
546 #[cfg(feature = "Win32_Foundation")]
547 impl ::core::clone::Clone for DNS_CUSTOM_SERVER_0 {
548 fn clone(&self) -> Self {
549 *self
550 }
551 }
552 #[repr(C)]
553 #[cfg(feature = "Win32_Foundation")]
554 pub union DNS_CUSTOM_SERVER_1 {
555 pub MaxSa: [super::super::Foundation::CHAR; 32],
556 }
557 #[cfg(feature = "Win32_Foundation")]
558 impl ::core::marker::Copy for DNS_CUSTOM_SERVER_1 {}
559 #[cfg(feature = "Win32_Foundation")]
560 impl ::core::clone::Clone for DNS_CUSTOM_SERVER_1 {
561 fn clone(&self) -> Self {
562 *self
563 }
564 }
565 pub const DNS_CUSTOM_SERVER_TYPE_DOH: u32 = 2u32;
566 pub const DNS_CUSTOM_SERVER_TYPE_UDP: u32 = 1u32;
567 pub const DNS_CUSTOM_SERVER_UDP_FALLBACK: u32 = 1u32;
568 #[repr(C)]
569 pub struct DNS_DHCID_DATA {
570 pub dwByteCount: u32,
571 pub DHCID: [u8; 1],
572 }
573 impl ::core::marker::Copy for DNS_DHCID_DATA {}
574 impl ::core::clone::Clone for DNS_DHCID_DATA {
575 fn clone(&self) -> Self {
576 *self
577 }
578 }
579 #[repr(C)]
580 pub struct DNS_DS_DATA {
581 pub wKeyTag: u16,
582 pub chAlgorithm: u8,
583 pub chDigestType: u8,
584 pub wDigestLength: u16,
585 pub wPad: u16,
586 pub Digest: [u8; 1],
587 }
588 impl ::core::marker::Copy for DNS_DS_DATA {}
589 impl ::core::clone::Clone for DNS_DS_DATA {
590 fn clone(&self) -> Self {
591 *self
592 }
593 }
594 pub type DNS_FREE_TYPE = i32;
595 pub const DnsFreeFlat: DNS_FREE_TYPE = 0i32;
596 pub const DnsFreeRecordList: DNS_FREE_TYPE = 1i32;
597 pub const DnsFreeParsedMessageFields: DNS_FREE_TYPE = 2i32;
598 #[repr(C, packed(1))]
599 pub struct DNS_HEADER {
600 pub Xid: u16,
601 pub _bitfield1: u8,
602 pub _bitfield2: u8,
603 pub QuestionCount: u16,
604 pub AnswerCount: u16,
605 pub NameServerCount: u16,
606 pub AdditionalCount: u16,
607 }
608 impl ::core::marker::Copy for DNS_HEADER {}
609 impl ::core::clone::Clone for DNS_HEADER {
610 fn clone(&self) -> Self {
611 *self
612 }
613 }
614 #[repr(C, packed(1))]
615 pub struct DNS_HEADER_EXT {
616 pub _bitfield: u16,
617 pub chRcode: u8,
618 pub chVersion: u8,
619 }
620 impl ::core::marker::Copy for DNS_HEADER_EXT {}
621 impl ::core::clone::Clone for DNS_HEADER_EXT {
622 fn clone(&self) -> Self {
623 *self
624 }
625 }
626 #[repr(C)]
627 pub struct DNS_KEY_DATA {
628 pub wFlags: u16,
629 pub chProtocol: u8,
630 pub chAlgorithm: u8,
631 pub wKeyLength: u16,
632 pub wPad: u16,
633 pub Key: [u8; 1],
634 }
635 impl ::core::marker::Copy for DNS_KEY_DATA {}
636 impl ::core::clone::Clone for DNS_KEY_DATA {
637 fn clone(&self) -> Self {
638 *self
639 }
640 }
641 #[repr(C)]
642 pub struct DNS_LOC_DATA {
643 pub wVersion: u16,
644 pub wSize: u16,
645 pub wHorPrec: u16,
646 pub wVerPrec: u16,
647 pub dwLatitude: u32,
648 pub dwLongitude: u32,
649 pub dwAltitude: u32,
650 }
651 impl ::core::marker::Copy for DNS_LOC_DATA {}
652 impl ::core::clone::Clone for DNS_LOC_DATA {
653 fn clone(&self) -> Self {
654 *self
655 }
656 }
657 pub const DNS_MAX_IP4_REVERSE_NAME_BUFFER_LENGTH: u32 = 31u32;
658 pub const DNS_MAX_IP4_REVERSE_NAME_LENGTH: u32 = 31u32;
659 pub const DNS_MAX_IP6_REVERSE_NAME_BUFFER_LENGTH: u32 = 75u32;
660 pub const DNS_MAX_IP6_REVERSE_NAME_LENGTH: u32 = 75u32;
661 pub const DNS_MAX_LABEL_BUFFER_LENGTH: u32 = 64u32;
662 pub const DNS_MAX_LABEL_LENGTH: u32 = 63u32;
663 pub const DNS_MAX_NAME_BUFFER_LENGTH: u32 = 256u32;
664 pub const DNS_MAX_NAME_LENGTH: u32 = 255u32;
665 pub const DNS_MAX_REVERSE_NAME_BUFFER_LENGTH: u32 = 75u32;
666 pub const DNS_MAX_REVERSE_NAME_LENGTH: u32 = 75u32;
667 pub const DNS_MAX_TEXT_STRING_LENGTH: u32 = 255u32;
668 #[repr(C)]
669 #[cfg(feature = "Win32_Foundation")]
670 pub struct DNS_MESSAGE_BUFFER {
671 pub MessageHead: DNS_HEADER,
672 pub MessageBody: [super::super::Foundation::CHAR; 1],
673 }
674 #[cfg(feature = "Win32_Foundation")]
675 impl ::core::marker::Copy for DNS_MESSAGE_BUFFER {}
676 #[cfg(feature = "Win32_Foundation")]
677 impl ::core::clone::Clone for DNS_MESSAGE_BUFFER {
678 fn clone(&self) -> Self {
679 *self
680 }
681 }
682 #[repr(C)]
683 #[cfg(feature = "Win32_Foundation")]
684 pub struct DNS_MINFO_DATAA {
685 pub pNameMailbox: super::super::Foundation::PSTR,
686 pub pNameErrorsMailbox: super::super::Foundation::PSTR,
687 }
688 #[cfg(feature = "Win32_Foundation")]
689 impl ::core::marker::Copy for DNS_MINFO_DATAA {}
690 #[cfg(feature = "Win32_Foundation")]
691 impl ::core::clone::Clone for DNS_MINFO_DATAA {
692 fn clone(&self) -> Self {
693 *self
694 }
695 }
696 #[repr(C)]
697 #[cfg(feature = "Win32_Foundation")]
698 pub struct DNS_MINFO_DATAW {
699 pub pNameMailbox: super::super::Foundation::PWSTR,
700 pub pNameErrorsMailbox: super::super::Foundation::PWSTR,
701 }
702 #[cfg(feature = "Win32_Foundation")]
703 impl ::core::marker::Copy for DNS_MINFO_DATAW {}
704 #[cfg(feature = "Win32_Foundation")]
705 impl ::core::clone::Clone for DNS_MINFO_DATAW {
706 fn clone(&self) -> Self {
707 *self
708 }
709 }
710 #[repr(C)]
711 #[cfg(feature = "Win32_Foundation")]
712 pub struct DNS_MX_DATAA {
713 pub pNameExchange: super::super::Foundation::PSTR,
714 pub wPreference: u16,
715 pub Pad: u16,
716 }
717 #[cfg(feature = "Win32_Foundation")]
718 impl ::core::marker::Copy for DNS_MX_DATAA {}
719 #[cfg(feature = "Win32_Foundation")]
720 impl ::core::clone::Clone for DNS_MX_DATAA {
721 fn clone(&self) -> Self {
722 *self
723 }
724 }
725 #[repr(C)]
726 #[cfg(feature = "Win32_Foundation")]
727 pub struct DNS_MX_DATAW {
728 pub pNameExchange: super::super::Foundation::PWSTR,
729 pub wPreference: u16,
730 pub Pad: u16,
731 }
732 #[cfg(feature = "Win32_Foundation")]
733 impl ::core::marker::Copy for DNS_MX_DATAW {}
734 #[cfg(feature = "Win32_Foundation")]
735 impl ::core::clone::Clone for DNS_MX_DATAW {
736 fn clone(&self) -> Self {
737 *self
738 }
739 }
740 pub type DNS_NAME_FORMAT = i32;
741 pub const DnsNameDomain: DNS_NAME_FORMAT = 0i32;
742 pub const DnsNameDomainLabel: DNS_NAME_FORMAT = 1i32;
743 pub const DnsNameHostnameFull: DNS_NAME_FORMAT = 2i32;
744 pub const DnsNameHostnameLabel: DNS_NAME_FORMAT = 3i32;
745 pub const DnsNameWildcard: DNS_NAME_FORMAT = 4i32;
746 pub const DnsNameSrvRecord: DNS_NAME_FORMAT = 5i32;
747 pub const DnsNameValidateTld: DNS_NAME_FORMAT = 6i32;
748 #[repr(C)]
749 #[cfg(feature = "Win32_Foundation")]
750 pub struct DNS_NAPTR_DATAA {
751 pub wOrder: u16,
752 pub wPreference: u16,
753 pub pFlags: super::super::Foundation::PSTR,
754 pub pService: super::super::Foundation::PSTR,
755 pub pRegularExpression: super::super::Foundation::PSTR,
756 pub pReplacement: super::super::Foundation::PSTR,
757 }
758 #[cfg(feature = "Win32_Foundation")]
759 impl ::core::marker::Copy for DNS_NAPTR_DATAA {}
760 #[cfg(feature = "Win32_Foundation")]
761 impl ::core::clone::Clone for DNS_NAPTR_DATAA {
762 fn clone(&self) -> Self {
763 *self
764 }
765 }
766 #[repr(C)]
767 #[cfg(feature = "Win32_Foundation")]
768 pub struct DNS_NAPTR_DATAW {
769 pub wOrder: u16,
770 pub wPreference: u16,
771 pub pFlags: super::super::Foundation::PWSTR,
772 pub pService: super::super::Foundation::PWSTR,
773 pub pRegularExpression: super::super::Foundation::PWSTR,
774 pub pReplacement: super::super::Foundation::PWSTR,
775 }
776 #[cfg(feature = "Win32_Foundation")]
777 impl ::core::marker::Copy for DNS_NAPTR_DATAW {}
778 #[cfg(feature = "Win32_Foundation")]
779 impl ::core::clone::Clone for DNS_NAPTR_DATAW {
780 fn clone(&self) -> Self {
781 *self
782 }
783 }
784 #[repr(C)]
785 pub struct DNS_NSEC3PARAM_DATA {
786 pub chAlgorithm: u8,
787 pub bFlags: u8,
788 pub wIterations: u16,
789 pub bSaltLength: u8,
790 pub bPad: [u8; 3],
791 pub pbSalt: [u8; 1],
792 }
793 impl ::core::marker::Copy for DNS_NSEC3PARAM_DATA {}
794 impl ::core::clone::Clone for DNS_NSEC3PARAM_DATA {
795 fn clone(&self) -> Self {
796 *self
797 }
798 }
799 #[repr(C)]
800 pub struct DNS_NSEC3_DATA {
801 pub chAlgorithm: u8,
802 pub bFlags: u8,
803 pub wIterations: u16,
804 pub bSaltLength: u8,
805 pub bHashLength: u8,
806 pub wTypeBitMapsLength: u16,
807 pub chData: [u8; 1],
808 }
809 impl ::core::marker::Copy for DNS_NSEC3_DATA {}
810 impl ::core::clone::Clone for DNS_NSEC3_DATA {
811 fn clone(&self) -> Self {
812 *self
813 }
814 }
815 #[repr(C)]
816 #[cfg(feature = "Win32_Foundation")]
817 pub struct DNS_NSEC_DATAA {
818 pub pNextDomainName: super::super::Foundation::PSTR,
819 pub wTypeBitMapsLength: u16,
820 pub wPad: u16,
821 pub TypeBitMaps: [u8; 1],
822 }
823 #[cfg(feature = "Win32_Foundation")]
824 impl ::core::marker::Copy for DNS_NSEC_DATAA {}
825 #[cfg(feature = "Win32_Foundation")]
826 impl ::core::clone::Clone for DNS_NSEC_DATAA {
827 fn clone(&self) -> Self {
828 *self
829 }
830 }
831 #[repr(C)]
832 #[cfg(feature = "Win32_Foundation")]
833 pub struct DNS_NSEC_DATAW {
834 pub pNextDomainName: super::super::Foundation::PWSTR,
835 pub wTypeBitMapsLength: u16,
836 pub wPad: u16,
837 pub TypeBitMaps: [u8; 1],
838 }
839 #[cfg(feature = "Win32_Foundation")]
840 impl ::core::marker::Copy for DNS_NSEC_DATAW {}
841 #[cfg(feature = "Win32_Foundation")]
842 impl ::core::clone::Clone for DNS_NSEC_DATAW {
843 fn clone(&self) -> Self {
844 *self
845 }
846 }
847 #[repr(C)]
848 pub struct DNS_NULL_DATA {
849 pub dwByteCount: u32,
850 pub Data: [u8; 1],
851 }
852 impl ::core::marker::Copy for DNS_NULL_DATA {}
853 impl ::core::clone::Clone for DNS_NULL_DATA {
854 fn clone(&self) -> Self {
855 *self
856 }
857 }
858 #[repr(C)]
859 #[cfg(feature = "Win32_Foundation")]
860 pub struct DNS_NXT_DATAA {
861 pub pNameNext: super::super::Foundation::PSTR,
862 pub wNumTypes: u16,
863 pub wTypes: [u16; 1],
864 }
865 #[cfg(feature = "Win32_Foundation")]
866 impl ::core::marker::Copy for DNS_NXT_DATAA {}
867 #[cfg(feature = "Win32_Foundation")]
868 impl ::core::clone::Clone for DNS_NXT_DATAA {
869 fn clone(&self) -> Self {
870 *self
871 }
872 }
873 #[repr(C)]
874 #[cfg(feature = "Win32_Foundation")]
875 pub struct DNS_NXT_DATAW {
876 pub pNameNext: super::super::Foundation::PWSTR,
877 pub wNumTypes: u16,
878 pub wTypes: [u16; 1],
879 }
880 #[cfg(feature = "Win32_Foundation")]
881 impl ::core::marker::Copy for DNS_NXT_DATAW {}
882 #[cfg(feature = "Win32_Foundation")]
883 impl ::core::clone::Clone for DNS_NXT_DATAW {
884 fn clone(&self) -> Self {
885 *self
886 }
887 }
888 pub const DNS_OPCODE_IQUERY: u32 = 1u32;
889 pub const DNS_OPCODE_NOTIFY: u32 = 4u32;
890 pub const DNS_OPCODE_QUERY: u32 = 0u32;
891 pub const DNS_OPCODE_SERVER_STATUS: u32 = 2u32;
892 pub const DNS_OPCODE_UNKNOWN: u32 = 3u32;
893 pub const DNS_OPCODE_UPDATE: u32 = 5u32;
894 #[repr(C)]
895 pub struct DNS_OPT_DATA {
896 pub wDataLength: u16,
897 pub wPad: u16,
898 pub Data: [u8; 1],
899 }
900 impl ::core::marker::Copy for DNS_OPT_DATA {}
901 impl ::core::clone::Clone for DNS_OPT_DATA {
902 fn clone(&self) -> Self {
903 *self
904 }
905 }
906 pub const DNS_PORT_HOST_ORDER: u32 = 53u32;
907 pub const DNS_PORT_NET_ORDER: u32 = 13568u32;
908 pub type DNS_PROXY_COMPLETION_ROUTINE = unsafe extern "system" fn(completioncontext: *const ::core::ffi::c_void, status: i32);
909 #[repr(C)]
910 #[cfg(feature = "Win32_Foundation")]
911 pub struct DNS_PROXY_INFORMATION {
912 pub version: u32,
913 pub proxyInformationType: DNS_PROXY_INFORMATION_TYPE,
914 pub proxyName: super::super::Foundation::PWSTR,
915 }
916 #[cfg(feature = "Win32_Foundation")]
917 impl ::core::marker::Copy for DNS_PROXY_INFORMATION {}
918 #[cfg(feature = "Win32_Foundation")]
919 impl ::core::clone::Clone for DNS_PROXY_INFORMATION {
920 fn clone(&self) -> Self {
921 *self
922 }
923 }
924 pub type DNS_PROXY_INFORMATION_TYPE = i32;
925 pub const DNS_PROXY_INFORMATION_DIRECT: DNS_PROXY_INFORMATION_TYPE = 0i32;
926 pub const DNS_PROXY_INFORMATION_DEFAULT_SETTINGS: DNS_PROXY_INFORMATION_TYPE = 1i32;
927 pub const DNS_PROXY_INFORMATION_PROXY_NAME: DNS_PROXY_INFORMATION_TYPE = 2i32;
928 pub const DNS_PROXY_INFORMATION_DOES_NOT_EXIST: DNS_PROXY_INFORMATION_TYPE = 3i32;
929 #[repr(C)]
930 #[cfg(feature = "Win32_Foundation")]
931 pub struct DNS_PTR_DATAA {
932 pub pNameHost: super::super::Foundation::PSTR,
933 }
934 #[cfg(feature = "Win32_Foundation")]
935 impl ::core::marker::Copy for DNS_PTR_DATAA {}
936 #[cfg(feature = "Win32_Foundation")]
937 impl ::core::clone::Clone for DNS_PTR_DATAA {
938 fn clone(&self) -> Self {
939 *self
940 }
941 }
942 #[repr(C)]
943 #[cfg(feature = "Win32_Foundation")]
944 pub struct DNS_PTR_DATAW {
945 pub pNameHost: super::super::Foundation::PWSTR,
946 }
947 #[cfg(feature = "Win32_Foundation")]
948 impl ::core::marker::Copy for DNS_PTR_DATAW {}
949 #[cfg(feature = "Win32_Foundation")]
950 impl ::core::clone::Clone for DNS_PTR_DATAW {
951 fn clone(&self) -> Self {
952 *self
953 }
954 }
955 pub const DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE: u32 = 1u32;
956 pub const DNS_QUERY_ADDRCONFIG: u32 = 8192u32;
957 pub const DNS_QUERY_APPEND_MULTILABEL: u32 = 8388608u32;
958 pub const DNS_QUERY_BYPASS_CACHE: u32 = 8u32;
959 pub const DNS_QUERY_CACHE_ONLY: u32 = 16u32;
960 #[repr(C)]
961 #[cfg(feature = "Win32_Foundation")]
962 pub struct DNS_QUERY_CANCEL {
963 pub Reserved: [super::super::Foundation::CHAR; 32],
964 }
965 #[cfg(feature = "Win32_Foundation")]
966 impl ::core::marker::Copy for DNS_QUERY_CANCEL {}
967 #[cfg(feature = "Win32_Foundation")]
968 impl ::core::clone::Clone for DNS_QUERY_CANCEL {
969 fn clone(&self) -> Self {
970 *self
971 }
972 }
973 pub const DNS_QUERY_DISABLE_IDN_ENCODING: u32 = 2097152u32;
974 pub const DNS_QUERY_DNSSEC_CHECKING_DISABLED: u32 = 33554432u32;
975 pub const DNS_QUERY_DNSSEC_OK: u32 = 16777216u32;
976 pub const DNS_QUERY_DONT_RESET_TTL_VALUES: u32 = 1048576u32;
977 pub const DNS_QUERY_DUAL_ADDR: u32 = 16384u32;
978 pub const DNS_QUERY_MULTICAST_ONLY: u32 = 1024u32;
979 pub const DNS_QUERY_NO_HOSTS_FILE: u32 = 64u32;
980 pub const DNS_QUERY_NO_LOCAL_NAME: u32 = 32u32;
981 pub const DNS_QUERY_NO_MULTICAST: u32 = 2048u32;
982 pub const DNS_QUERY_NO_NETBT: u32 = 128u32;
983 pub const DNS_QUERY_NO_RECURSION: u32 = 4u32;
984 pub const DNS_QUERY_NO_WIRE_QUERY: u32 = 16u32;
985 #[repr(C)]
986 #[cfg(feature = "Win32_Foundation")]
987 pub struct DNS_QUERY_REQUEST {
988 pub Version: u32,
989 pub QueryName: super::super::Foundation::PWSTR,
990 pub QueryType: u16,
991 pub QueryOptions: u64,
992 pub pDnsServerList: *mut DNS_ADDR_ARRAY,
993 pub InterfaceIndex: u32,
994 pub pQueryCompletionCallback: PDNS_QUERY_COMPLETION_ROUTINE,
995 pub pQueryContext: *mut ::core::ffi::c_void,
996 }
997 #[cfg(feature = "Win32_Foundation")]
998 impl ::core::marker::Copy for DNS_QUERY_REQUEST {}
999 #[cfg(feature = "Win32_Foundation")]
1000 impl ::core::clone::Clone for DNS_QUERY_REQUEST {
1001 fn clone(&self) -> Self {
1002 *self
1003 }
1004 }
1005 #[repr(C)]
1006 #[cfg(feature = "Win32_Foundation")]
1007 pub struct DNS_QUERY_REQUEST3 {
1008 pub Version: u32,
1009 pub QueryName: super::super::Foundation::PWSTR,
1010 pub QueryType: u16,
1011 pub QueryOptions: u64,
1012 pub pDnsServerList: *mut DNS_ADDR_ARRAY,
1013 pub InterfaceIndex: u32,
1014 pub pQueryCompletionCallback: PDNS_QUERY_COMPLETION_ROUTINE,
1015 pub pQueryContext: *mut ::core::ffi::c_void,
1016 pub IsNetworkQueryRequired: super::super::Foundation::BOOL,
1017 pub RequiredNetworkIndex: u32,
1018 pub cCustomServers: u32,
1019 pub pCustomServers: *mut DNS_CUSTOM_SERVER,
1020 }
1021 #[cfg(feature = "Win32_Foundation")]
1022 impl ::core::marker::Copy for DNS_QUERY_REQUEST3 {}
1023 #[cfg(feature = "Win32_Foundation")]
1024 impl ::core::clone::Clone for DNS_QUERY_REQUEST3 {
1025 fn clone(&self) -> Self {
1026 *self
1027 }
1028 }
1029 pub const DNS_QUERY_REQUEST_VERSION1: u32 = 1u32;
1030 pub const DNS_QUERY_REQUEST_VERSION2: u32 = 2u32;
1031 pub const DNS_QUERY_REQUEST_VERSION3: u32 = 3u32;
1032 pub const DNS_QUERY_RESERVED: u32 = 4026531840u32;
1033 #[repr(C)]
1034 #[cfg(feature = "Win32_Foundation")]
1035 pub struct DNS_QUERY_RESULT {
1036 pub Version: u32,
1037 pub QueryStatus: i32,
1038 pub QueryOptions: u64,
1039 pub pQueryRecords: *mut DNS_RECORDA,
1040 pub Reserved: *mut ::core::ffi::c_void,
1041 }
1042 #[cfg(feature = "Win32_Foundation")]
1043 impl ::core::marker::Copy for DNS_QUERY_RESULT {}
1044 #[cfg(feature = "Win32_Foundation")]
1045 impl ::core::clone::Clone for DNS_QUERY_RESULT {
1046 fn clone(&self) -> Self {
1047 *self
1048 }
1049 }
1050 pub const DNS_QUERY_RESULTS_VERSION1: u32 = 1u32;
1051 pub const DNS_QUERY_RETURN_MESSAGE: u32 = 512u32;
1052 pub const DNS_QUERY_STANDARD: u32 = 0u32;
1053 pub const DNS_QUERY_TREAT_AS_FQDN: u32 = 4096u32;
1054 pub const DNS_QUERY_USE_TCP_ONLY: u32 = 2u32;
1055 pub const DNS_QUERY_WIRE_ONLY: u32 = 256u32;
1056 pub const DNS_RCLASS_ALL: u32 = 65280u32;
1057 pub const DNS_RCLASS_ANY: u32 = 65280u32;
1058 pub const DNS_RCLASS_CHAOS: u32 = 768u32;
1059 pub const DNS_RCLASS_CSNET: u32 = 512u32;
1060 pub const DNS_RCLASS_HESIOD: u32 = 1024u32;
1061 pub const DNS_RCLASS_INTERNET: u32 = 256u32;
1062 pub const DNS_RCLASS_NONE: u32 = 65024u32;
1063 pub const DNS_RCLASS_UNICAST_RESPONSE: u32 = 128u32;
1064 pub const DNS_RCODE_BADKEY: u32 = 17u32;
1065 pub const DNS_RCODE_BADSIG: u32 = 16u32;
1066 pub const DNS_RCODE_BADTIME: u32 = 18u32;
1067 pub const DNS_RCODE_BADVERS: u32 = 16u32;
1068 pub const DNS_RCODE_FORMAT_ERROR: u32 = 1u32;
1069 pub const DNS_RCODE_FORMERR: u32 = 1u32;
1070 pub const DNS_RCODE_MAX: u32 = 15u32;
1071 pub const DNS_RCODE_NAME_ERROR: u32 = 3u32;
1072 pub const DNS_RCODE_NOERROR: u32 = 0u32;
1073 pub const DNS_RCODE_NOTAUTH: u32 = 9u32;
1074 pub const DNS_RCODE_NOTIMPL: u32 = 4u32;
1075 pub const DNS_RCODE_NOTZONE: u32 = 10u32;
1076 pub const DNS_RCODE_NOT_IMPLEMENTED: u32 = 4u32;
1077 pub const DNS_RCODE_NO_ERROR: u32 = 0u32;
1078 pub const DNS_RCODE_NXDOMAIN: u32 = 3u32;
1079 pub const DNS_RCODE_NXRRSET: u32 = 8u32;
1080 pub const DNS_RCODE_REFUSED: u32 = 5u32;
1081 pub const DNS_RCODE_SERVER_FAILURE: u32 = 2u32;
1082 pub const DNS_RCODE_SERVFAIL: u32 = 2u32;
1083 pub const DNS_RCODE_YXDOMAIN: u32 = 6u32;
1084 pub const DNS_RCODE_YXRRSET: u32 = 7u32;
1085 #[repr(C)]
1086 #[cfg(feature = "Win32_Foundation")]
1087 pub struct DNS_RECORDA {
1088 pub pNext: *mut DNS_RECORDA,
1089 pub pName: super::super::Foundation::PSTR,
1090 pub wType: u16,
1091 pub wDataLength: u16,
1092 pub Flags: DNS_RECORDA_1,
1093 pub dwTtl: u32,
1094 pub dwReserved: u32,
1095 pub Data: DNS_RECORDA_0,
1096 }
1097 #[cfg(feature = "Win32_Foundation")]
1098 impl ::core::marker::Copy for DNS_RECORDA {}
1099 #[cfg(feature = "Win32_Foundation")]
1100 impl ::core::clone::Clone for DNS_RECORDA {
1101 fn clone(&self) -> Self {
1102 *self
1103 }
1104 }
1105 #[repr(C)]
1106 #[cfg(feature = "Win32_Foundation")]
1107 pub union DNS_RECORDA_0 {
1108 pub A: DNS_A_DATA,
1109 pub SOA: DNS_SOA_DATAA,
1110 pub Soa: DNS_SOA_DATAA,
1111 pub PTR: DNS_PTR_DATAA,
1112 pub Ptr: DNS_PTR_DATAA,
1113 pub NS: DNS_PTR_DATAA,
1114 pub Ns: DNS_PTR_DATAA,
1115 pub CNAME: DNS_PTR_DATAA,
1116 pub Cname: DNS_PTR_DATAA,
1117 pub DNAME: DNS_PTR_DATAA,
1118 pub Dname: DNS_PTR_DATAA,
1119 pub MB: DNS_PTR_DATAA,
1120 pub Mb: DNS_PTR_DATAA,
1121 pub MD: DNS_PTR_DATAA,
1122 pub Md: DNS_PTR_DATAA,
1123 pub MF: DNS_PTR_DATAA,
1124 pub Mf: DNS_PTR_DATAA,
1125 pub MG: DNS_PTR_DATAA,
1126 pub Mg: DNS_PTR_DATAA,
1127 pub MR: DNS_PTR_DATAA,
1128 pub Mr: DNS_PTR_DATAA,
1129 pub MINFO: DNS_MINFO_DATAA,
1130 pub Minfo: DNS_MINFO_DATAA,
1131 pub RP: DNS_MINFO_DATAA,
1132 pub Rp: DNS_MINFO_DATAA,
1133 pub MX: DNS_MX_DATAA,
1134 pub Mx: DNS_MX_DATAA,
1135 pub AFSDB: DNS_MX_DATAA,
1136 pub Afsdb: DNS_MX_DATAA,
1137 pub RT: DNS_MX_DATAA,
1138 pub Rt: DNS_MX_DATAA,
1139 pub HINFO: DNS_TXT_DATAA,
1140 pub Hinfo: DNS_TXT_DATAA,
1141 pub ISDN: DNS_TXT_DATAA,
1142 pub Isdn: DNS_TXT_DATAA,
1143 pub TXT: DNS_TXT_DATAA,
1144 pub Txt: DNS_TXT_DATAA,
1145 pub X25: DNS_TXT_DATAA,
1146 pub Null: DNS_NULL_DATA,
1147 pub WKS: DNS_WKS_DATA,
1148 pub Wks: DNS_WKS_DATA,
1149 pub AAAA: DNS_AAAA_DATA,
1150 pub KEY: DNS_KEY_DATA,
1151 pub Key: DNS_KEY_DATA,
1152 pub SIG: DNS_SIG_DATAA,
1153 pub Sig: DNS_SIG_DATAA,
1154 pub ATMA: DNS_ATMA_DATA,
1155 pub Atma: DNS_ATMA_DATA,
1156 pub NXT: DNS_NXT_DATAA,
1157 pub Nxt: DNS_NXT_DATAA,
1158 pub SRV: DNS_SRV_DATAA,
1159 pub Srv: DNS_SRV_DATAA,
1160 pub NAPTR: DNS_NAPTR_DATAA,
1161 pub Naptr: DNS_NAPTR_DATAA,
1162 pub OPT: DNS_OPT_DATA,
1163 pub Opt: DNS_OPT_DATA,
1164 pub DS: DNS_DS_DATA,
1165 pub Ds: DNS_DS_DATA,
1166 pub RRSIG: DNS_SIG_DATAA,
1167 pub Rrsig: DNS_SIG_DATAA,
1168 pub NSEC: DNS_NSEC_DATAA,
1169 pub Nsec: DNS_NSEC_DATAA,
1170 pub DNSKEY: DNS_KEY_DATA,
1171 pub Dnskey: DNS_KEY_DATA,
1172 pub TKEY: DNS_TKEY_DATAA,
1173 pub Tkey: DNS_TKEY_DATAA,
1174 pub TSIG: DNS_TSIG_DATAA,
1175 pub Tsig: DNS_TSIG_DATAA,
1176 pub WINS: DNS_WINS_DATA,
1177 pub Wins: DNS_WINS_DATA,
1178 pub WINSR: DNS_WINSR_DATAA,
1179 pub WinsR: DNS_WINSR_DATAA,
1180 pub NBSTAT: DNS_WINSR_DATAA,
1181 pub Nbstat: DNS_WINSR_DATAA,
1182 pub DHCID: DNS_DHCID_DATA,
1183 pub NSEC3: DNS_NSEC3_DATA,
1184 pub Nsec3: DNS_NSEC3_DATA,
1185 pub NSEC3PARAM: DNS_NSEC3PARAM_DATA,
1186 pub Nsec3Param: DNS_NSEC3PARAM_DATA,
1187 pub TLSA: DNS_TLSA_DATA,
1188 pub Tlsa: DNS_TLSA_DATA,
1189 pub UNKNOWN: DNS_UNKNOWN_DATA,
1190 pub Unknown: DNS_UNKNOWN_DATA,
1191 pub pDataPtr: *mut u8,
1192 }
1193 #[cfg(feature = "Win32_Foundation")]
1194 impl ::core::marker::Copy for DNS_RECORDA_0 {}
1195 #[cfg(feature = "Win32_Foundation")]
1196 impl ::core::clone::Clone for DNS_RECORDA_0 {
1197 fn clone(&self) -> Self {
1198 *self
1199 }
1200 }
1201 #[repr(C)]
1202 #[cfg(feature = "Win32_Foundation")]
1203 pub union DNS_RECORDA_1 {
1204 pub DW: u32,
1205 pub S: DNS_RECORD_FLAGS,
1206 }
1207 #[cfg(feature = "Win32_Foundation")]
1208 impl ::core::marker::Copy for DNS_RECORDA_1 {}
1209 #[cfg(feature = "Win32_Foundation")]
1210 impl ::core::clone::Clone for DNS_RECORDA_1 {
1211 fn clone(&self) -> Self {
1212 *self
1213 }
1214 }
1215 #[repr(C)]
1216 #[cfg(feature = "Win32_Foundation")]
1217 pub struct DNS_RECORDW {
1218 pub pNext: *mut DNS_RECORDW,
1219 pub pName: super::super::Foundation::PWSTR,
1220 pub wType: u16,
1221 pub wDataLength: u16,
1222 pub Flags: DNS_RECORDW_1,
1223 pub dwTtl: u32,
1224 pub dwReserved: u32,
1225 pub Data: DNS_RECORDW_0,
1226 }
1227 #[cfg(feature = "Win32_Foundation")]
1228 impl ::core::marker::Copy for DNS_RECORDW {}
1229 #[cfg(feature = "Win32_Foundation")]
1230 impl ::core::clone::Clone for DNS_RECORDW {
1231 fn clone(&self) -> Self {
1232 *self
1233 }
1234 }
1235 #[repr(C)]
1236 #[cfg(feature = "Win32_Foundation")]
1237 pub union DNS_RECORDW_0 {
1238 pub A: DNS_A_DATA,
1239 pub SOA: DNS_SOA_DATAW,
1240 pub Soa: DNS_SOA_DATAW,
1241 pub PTR: DNS_PTR_DATAW,
1242 pub Ptr: DNS_PTR_DATAW,
1243 pub NS: DNS_PTR_DATAW,
1244 pub Ns: DNS_PTR_DATAW,
1245 pub CNAME: DNS_PTR_DATAW,
1246 pub Cname: DNS_PTR_DATAW,
1247 pub DNAME: DNS_PTR_DATAW,
1248 pub Dname: DNS_PTR_DATAW,
1249 pub MB: DNS_PTR_DATAW,
1250 pub Mb: DNS_PTR_DATAW,
1251 pub MD: DNS_PTR_DATAW,
1252 pub Md: DNS_PTR_DATAW,
1253 pub MF: DNS_PTR_DATAW,
1254 pub Mf: DNS_PTR_DATAW,
1255 pub MG: DNS_PTR_DATAW,
1256 pub Mg: DNS_PTR_DATAW,
1257 pub MR: DNS_PTR_DATAW,
1258 pub Mr: DNS_PTR_DATAW,
1259 pub MINFO: DNS_MINFO_DATAW,
1260 pub Minfo: DNS_MINFO_DATAW,
1261 pub RP: DNS_MINFO_DATAW,
1262 pub Rp: DNS_MINFO_DATAW,
1263 pub MX: DNS_MX_DATAW,
1264 pub Mx: DNS_MX_DATAW,
1265 pub AFSDB: DNS_MX_DATAW,
1266 pub Afsdb: DNS_MX_DATAW,
1267 pub RT: DNS_MX_DATAW,
1268 pub Rt: DNS_MX_DATAW,
1269 pub HINFO: DNS_TXT_DATAW,
1270 pub Hinfo: DNS_TXT_DATAW,
1271 pub ISDN: DNS_TXT_DATAW,
1272 pub Isdn: DNS_TXT_DATAW,
1273 pub TXT: DNS_TXT_DATAW,
1274 pub Txt: DNS_TXT_DATAW,
1275 pub X25: DNS_TXT_DATAW,
1276 pub Null: DNS_NULL_DATA,
1277 pub WKS: DNS_WKS_DATA,
1278 pub Wks: DNS_WKS_DATA,
1279 pub AAAA: DNS_AAAA_DATA,
1280 pub KEY: DNS_KEY_DATA,
1281 pub Key: DNS_KEY_DATA,
1282 pub SIG: DNS_SIG_DATAW,
1283 pub Sig: DNS_SIG_DATAW,
1284 pub ATMA: DNS_ATMA_DATA,
1285 pub Atma: DNS_ATMA_DATA,
1286 pub NXT: DNS_NXT_DATAW,
1287 pub Nxt: DNS_NXT_DATAW,
1288 pub SRV: DNS_SRV_DATAW,
1289 pub Srv: DNS_SRV_DATAW,
1290 pub NAPTR: DNS_NAPTR_DATAW,
1291 pub Naptr: DNS_NAPTR_DATAW,
1292 pub OPT: DNS_OPT_DATA,
1293 pub Opt: DNS_OPT_DATA,
1294 pub DS: DNS_DS_DATA,
1295 pub Ds: DNS_DS_DATA,
1296 pub RRSIG: DNS_SIG_DATAW,
1297 pub Rrsig: DNS_SIG_DATAW,
1298 pub NSEC: DNS_NSEC_DATAW,
1299 pub Nsec: DNS_NSEC_DATAW,
1300 pub DNSKEY: DNS_KEY_DATA,
1301 pub Dnskey: DNS_KEY_DATA,
1302 pub TKEY: DNS_TKEY_DATAW,
1303 pub Tkey: DNS_TKEY_DATAW,
1304 pub TSIG: DNS_TSIG_DATAW,
1305 pub Tsig: DNS_TSIG_DATAW,
1306 pub WINS: DNS_WINS_DATA,
1307 pub Wins: DNS_WINS_DATA,
1308 pub WINSR: DNS_WINSR_DATAW,
1309 pub WinsR: DNS_WINSR_DATAW,
1310 pub NBSTAT: DNS_WINSR_DATAW,
1311 pub Nbstat: DNS_WINSR_DATAW,
1312 pub DHCID: DNS_DHCID_DATA,
1313 pub NSEC3: DNS_NSEC3_DATA,
1314 pub Nsec3: DNS_NSEC3_DATA,
1315 pub NSEC3PARAM: DNS_NSEC3PARAM_DATA,
1316 pub Nsec3Param: DNS_NSEC3PARAM_DATA,
1317 pub TLSA: DNS_TLSA_DATA,
1318 pub Tlsa: DNS_TLSA_DATA,
1319 pub UNKNOWN: DNS_UNKNOWN_DATA,
1320 pub Unknown: DNS_UNKNOWN_DATA,
1321 pub pDataPtr: *mut u8,
1322 }
1323 #[cfg(feature = "Win32_Foundation")]
1324 impl ::core::marker::Copy for DNS_RECORDW_0 {}
1325 #[cfg(feature = "Win32_Foundation")]
1326 impl ::core::clone::Clone for DNS_RECORDW_0 {
1327 fn clone(&self) -> Self {
1328 *self
1329 }
1330 }
1331 #[repr(C)]
1332 #[cfg(feature = "Win32_Foundation")]
1333 pub union DNS_RECORDW_1 {
1334 pub DW: u32,
1335 pub S: DNS_RECORD_FLAGS,
1336 }
1337 #[cfg(feature = "Win32_Foundation")]
1338 impl ::core::marker::Copy for DNS_RECORDW_1 {}
1339 #[cfg(feature = "Win32_Foundation")]
1340 impl ::core::clone::Clone for DNS_RECORDW_1 {
1341 fn clone(&self) -> Self {
1342 *self
1343 }
1344 }
1345 #[repr(C)]
1346 pub struct DNS_RECORD_FLAGS {
1347 pub _bitfield: u32,
1348 }
1349 impl ::core::marker::Copy for DNS_RECORD_FLAGS {}
1350 impl ::core::clone::Clone for DNS_RECORD_FLAGS {
1351 fn clone(&self) -> Self {
1352 *self
1353 }
1354 }
1355 pub const DNS_RFC_MAX_UDP_PACKET_LENGTH: u32 = 512u32;
1356 #[repr(C)]
1357 #[cfg(feature = "Win32_Foundation")]
1358 pub struct DNS_RRSET {
1359 pub pFirstRR: *mut DNS_RECORDA,
1360 pub pLastRR: *mut DNS_RECORDA,
1361 }
1362 #[cfg(feature = "Win32_Foundation")]
1363 impl ::core::marker::Copy for DNS_RRSET {}
1364 #[cfg(feature = "Win32_Foundation")]
1365 impl ::core::clone::Clone for DNS_RRSET {
1366 fn clone(&self) -> Self {
1367 *self
1368 }
1369 }
1370 pub const DNS_RTYPE_A: u32 = 256u32;
1371 pub const DNS_RTYPE_A6: u32 = 9728u32;
1372 pub const DNS_RTYPE_AAAA: u32 = 7168u32;
1373 pub const DNS_RTYPE_AFSDB: u32 = 4608u32;
1374 pub const DNS_RTYPE_ALL: u32 = 65280u32;
1375 pub const DNS_RTYPE_ANY: u32 = 65280u32;
1376 pub const DNS_RTYPE_ATMA: u32 = 8704u32;
1377 pub const DNS_RTYPE_AXFR: u32 = 64512u32;
1378 pub const DNS_RTYPE_CERT: u32 = 9472u32;
1379 pub const DNS_RTYPE_CNAME: u32 = 1280u32;
1380 pub const DNS_RTYPE_DHCID: u32 = 12544u32;
1381 pub const DNS_RTYPE_DNAME: u32 = 9984u32;
1382 pub const DNS_RTYPE_DNSKEY: u32 = 12288u32;
1383 pub const DNS_RTYPE_DS: u32 = 11008u32;
1384 pub const DNS_RTYPE_EID: u32 = 7936u32;
1385 pub const DNS_RTYPE_GID: u32 = 26112u32;
1386 pub const DNS_RTYPE_GPOS: u32 = 6912u32;
1387 pub const DNS_RTYPE_HINFO: u32 = 3328u32;
1388 pub const DNS_RTYPE_ISDN: u32 = 5120u32;
1389 pub const DNS_RTYPE_IXFR: u32 = 64256u32;
1390 pub const DNS_RTYPE_KEY: u32 = 6400u32;
1391 pub const DNS_RTYPE_KX: u32 = 9216u32;
1392 pub const DNS_RTYPE_LOC: u32 = 7424u32;
1393 pub const DNS_RTYPE_MAILA: u32 = 65024u32;
1394 pub const DNS_RTYPE_MAILB: u32 = 64768u32;
1395 pub const DNS_RTYPE_MB: u32 = 1792u32;
1396 pub const DNS_RTYPE_MD: u32 = 768u32;
1397 pub const DNS_RTYPE_MF: u32 = 1024u32;
1398 pub const DNS_RTYPE_MG: u32 = 2048u32;
1399 pub const DNS_RTYPE_MINFO: u32 = 3584u32;
1400 pub const DNS_RTYPE_MR: u32 = 2304u32;
1401 pub const DNS_RTYPE_MX: u32 = 3840u32;
1402 pub const DNS_RTYPE_NAPTR: u32 = 8960u32;
1403 pub const DNS_RTYPE_NIMLOC: u32 = 8192u32;
1404 pub const DNS_RTYPE_NS: u32 = 512u32;
1405 pub const DNS_RTYPE_NSAP: u32 = 5632u32;
1406 pub const DNS_RTYPE_NSAPPTR: u32 = 5888u32;
1407 pub const DNS_RTYPE_NSEC: u32 = 12032u32;
1408 pub const DNS_RTYPE_NSEC3: u32 = 12800u32;
1409 pub const DNS_RTYPE_NSEC3PARAM: u32 = 13056u32;
1410 pub const DNS_RTYPE_NULL: u32 = 2560u32;
1411 pub const DNS_RTYPE_NXT: u32 = 7680u32;
1412 pub const DNS_RTYPE_OPT: u32 = 10496u32;
1413 pub const DNS_RTYPE_PTR: u32 = 3072u32;
1414 pub const DNS_RTYPE_PX: u32 = 6656u32;
1415 pub const DNS_RTYPE_RP: u32 = 4352u32;
1416 pub const DNS_RTYPE_RRSIG: u32 = 11776u32;
1417 pub const DNS_RTYPE_RT: u32 = 5376u32;
1418 pub const DNS_RTYPE_SIG: u32 = 6144u32;
1419 pub const DNS_RTYPE_SINK: u32 = 10240u32;
1420 pub const DNS_RTYPE_SOA: u32 = 1536u32;
1421 pub const DNS_RTYPE_SRV: u32 = 8448u32;
1422 pub const DNS_RTYPE_TEXT: u32 = 4096u32;
1423 pub const DNS_RTYPE_TKEY: u32 = 63744u32;
1424 pub const DNS_RTYPE_TLSA: u32 = 13312u32;
1425 pub const DNS_RTYPE_TSIG: u32 = 64000u32;
1426 pub const DNS_RTYPE_UID: u32 = 25856u32;
1427 pub const DNS_RTYPE_UINFO: u32 = 25600u32;
1428 pub const DNS_RTYPE_UNSPEC: u32 = 26368u32;
1429 pub const DNS_RTYPE_WINS: u32 = 511u32;
1430 pub const DNS_RTYPE_WINSR: u32 = 767u32;
1431 pub const DNS_RTYPE_WKS: u32 = 2816u32;
1432 pub const DNS_RTYPE_X25: u32 = 4864u32;
1433 pub type DNS_SECTION = i32;
1434 pub const DnsSectionQuestion: DNS_SECTION = 0i32;
1435 pub const DnsSectionAnswer: DNS_SECTION = 1i32;
1436 pub const DnsSectionAuthority: DNS_SECTION = 2i32;
1437 pub const DnsSectionAddtional: DNS_SECTION = 3i32;
1438 #[repr(C)]
1439 #[cfg(feature = "Win32_Foundation")]
1440 pub struct DNS_SERVICE_BROWSE_REQUEST {
1441 pub Version: u32,
1442 pub InterfaceIndex: u32,
1443 pub QueryName: super::super::Foundation::PWSTR,
1444 pub Anonymous: DNS_SERVICE_BROWSE_REQUEST_0,
1445 pub pQueryContext: *mut ::core::ffi::c_void,
1446 }
1447 #[cfg(feature = "Win32_Foundation")]
1448 impl ::core::marker::Copy for DNS_SERVICE_BROWSE_REQUEST {}
1449 #[cfg(feature = "Win32_Foundation")]
1450 impl ::core::clone::Clone for DNS_SERVICE_BROWSE_REQUEST {
1451 fn clone(&self) -> Self {
1452 *self
1453 }
1454 }
1455 #[repr(C)]
1456 #[cfg(feature = "Win32_Foundation")]
1457 pub union DNS_SERVICE_BROWSE_REQUEST_0 {
1458 pub pBrowseCallback: PDNS_SERVICE_BROWSE_CALLBACK,
1459 pub pBrowseCallbackV2: PDNS_QUERY_COMPLETION_ROUTINE,
1460 }
1461 #[cfg(feature = "Win32_Foundation")]
1462 impl ::core::marker::Copy for DNS_SERVICE_BROWSE_REQUEST_0 {}
1463 #[cfg(feature = "Win32_Foundation")]
1464 impl ::core::clone::Clone for DNS_SERVICE_BROWSE_REQUEST_0 {
1465 fn clone(&self) -> Self {
1466 *self
1467 }
1468 }
1469 #[repr(C)]
1470 pub struct DNS_SERVICE_CANCEL {
1471 pub reserved: *mut ::core::ffi::c_void,
1472 }
1473 impl ::core::marker::Copy for DNS_SERVICE_CANCEL {}
1474 impl ::core::clone::Clone for DNS_SERVICE_CANCEL {
1475 fn clone(&self) -> Self {
1476 *self
1477 }
1478 }
1479 #[repr(C)]
1480 #[cfg(feature = "Win32_Foundation")]
1481 pub struct DNS_SERVICE_INSTANCE {
1482 pub pszInstanceName: super::super::Foundation::PWSTR,
1483 pub pszHostName: super::super::Foundation::PWSTR,
1484 pub ip4Address: *mut u32,
1485 pub ip6Address: *mut IP6_ADDRESS,
1486 pub wPort: u16,
1487 pub wPriority: u16,
1488 pub wWeight: u16,
1489 pub dwPropertyCount: u32,
1490 pub keys: *mut super::super::Foundation::PWSTR,
1491 pub values: *mut super::super::Foundation::PWSTR,
1492 pub dwInterfaceIndex: u32,
1493 }
1494 #[cfg(feature = "Win32_Foundation")]
1495 impl ::core::marker::Copy for DNS_SERVICE_INSTANCE {}
1496 #[cfg(feature = "Win32_Foundation")]
1497 impl ::core::clone::Clone for DNS_SERVICE_INSTANCE {
1498 fn clone(&self) -> Self {
1499 *self
1500 }
1501 }
1502 #[repr(C)]
1503 #[cfg(feature = "Win32_Foundation")]
1504 pub struct DNS_SERVICE_REGISTER_REQUEST {
1505 pub Version: u32,
1506 pub InterfaceIndex: u32,
1507 pub pServiceInstance: *mut DNS_SERVICE_INSTANCE,
1508 pub pRegisterCompletionCallback: PDNS_SERVICE_REGISTER_COMPLETE,
1509 pub pQueryContext: *mut ::core::ffi::c_void,
1510 pub hCredentials: super::super::Foundation::HANDLE,
1511 pub unicastEnabled: super::super::Foundation::BOOL,
1512 }
1513 #[cfg(feature = "Win32_Foundation")]
1514 impl ::core::marker::Copy for DNS_SERVICE_REGISTER_REQUEST {}
1515 #[cfg(feature = "Win32_Foundation")]
1516 impl ::core::clone::Clone for DNS_SERVICE_REGISTER_REQUEST {
1517 fn clone(&self) -> Self {
1518 *self
1519 }
1520 }
1521 #[repr(C)]
1522 #[cfg(feature = "Win32_Foundation")]
1523 pub struct DNS_SERVICE_RESOLVE_REQUEST {
1524 pub Version: u32,
1525 pub InterfaceIndex: u32,
1526 pub QueryName: super::super::Foundation::PWSTR,
1527 pub pResolveCompletionCallback: PDNS_SERVICE_RESOLVE_COMPLETE,
1528 pub pQueryContext: *mut ::core::ffi::c_void,
1529 }
1530 #[cfg(feature = "Win32_Foundation")]
1531 impl ::core::marker::Copy for DNS_SERVICE_RESOLVE_REQUEST {}
1532 #[cfg(feature = "Win32_Foundation")]
1533 impl ::core::clone::Clone for DNS_SERVICE_RESOLVE_REQUEST {
1534 fn clone(&self) -> Self {
1535 *self
1536 }
1537 }
1538 #[repr(C)]
1539 #[cfg(feature = "Win32_Foundation")]
1540 pub struct DNS_SIG_DATAA {
1541 pub wTypeCovered: u16,
1542 pub chAlgorithm: u8,
1543 pub chLabelCount: u8,
1544 pub dwOriginalTtl: u32,
1545 pub dwExpiration: u32,
1546 pub dwTimeSigned: u32,
1547 pub wKeyTag: u16,
1548 pub wSignatureLength: u16,
1549 pub pNameSigner: super::super::Foundation::PSTR,
1550 pub Signature: [u8; 1],
1551 }
1552 #[cfg(feature = "Win32_Foundation")]
1553 impl ::core::marker::Copy for DNS_SIG_DATAA {}
1554 #[cfg(feature = "Win32_Foundation")]
1555 impl ::core::clone::Clone for DNS_SIG_DATAA {
1556 fn clone(&self) -> Self {
1557 *self
1558 }
1559 }
1560 #[repr(C)]
1561 #[cfg(feature = "Win32_Foundation")]
1562 pub struct DNS_SIG_DATAW {
1563 pub wTypeCovered: u16,
1564 pub chAlgorithm: u8,
1565 pub chLabelCount: u8,
1566 pub dwOriginalTtl: u32,
1567 pub dwExpiration: u32,
1568 pub dwTimeSigned: u32,
1569 pub wKeyTag: u16,
1570 pub wSignatureLength: u16,
1571 pub pNameSigner: super::super::Foundation::PWSTR,
1572 pub Signature: [u8; 1],
1573 }
1574 #[cfg(feature = "Win32_Foundation")]
1575 impl ::core::marker::Copy for DNS_SIG_DATAW {}
1576 #[cfg(feature = "Win32_Foundation")]
1577 impl ::core::clone::Clone for DNS_SIG_DATAW {
1578 fn clone(&self) -> Self {
1579 *self
1580 }
1581 }
1582 #[repr(C)]
1583 #[cfg(feature = "Win32_Foundation")]
1584 pub struct DNS_SOA_DATAA {
1585 pub pNamePrimaryServer: super::super::Foundation::PSTR,
1586 pub pNameAdministrator: super::super::Foundation::PSTR,
1587 pub dwSerialNo: u32,
1588 pub dwRefresh: u32,
1589 pub dwRetry: u32,
1590 pub dwExpire: u32,
1591 pub dwDefaultTtl: u32,
1592 }
1593 #[cfg(feature = "Win32_Foundation")]
1594 impl ::core::marker::Copy for DNS_SOA_DATAA {}
1595 #[cfg(feature = "Win32_Foundation")]
1596 impl ::core::clone::Clone for DNS_SOA_DATAA {
1597 fn clone(&self) -> Self {
1598 *self
1599 }
1600 }
1601 #[repr(C)]
1602 #[cfg(feature = "Win32_Foundation")]
1603 pub struct DNS_SOA_DATAW {
1604 pub pNamePrimaryServer: super::super::Foundation::PWSTR,
1605 pub pNameAdministrator: super::super::Foundation::PWSTR,
1606 pub dwSerialNo: u32,
1607 pub dwRefresh: u32,
1608 pub dwRetry: u32,
1609 pub dwExpire: u32,
1610 pub dwDefaultTtl: u32,
1611 }
1612 #[cfg(feature = "Win32_Foundation")]
1613 impl ::core::marker::Copy for DNS_SOA_DATAW {}
1614 #[cfg(feature = "Win32_Foundation")]
1615 impl ::core::clone::Clone for DNS_SOA_DATAW {
1616 fn clone(&self) -> Self {
1617 *self
1618 }
1619 }
1620 #[repr(C)]
1621 #[cfg(feature = "Win32_Foundation")]
1622 pub struct DNS_SRV_DATAA {
1623 pub pNameTarget: super::super::Foundation::PSTR,
1624 pub wPriority: u16,
1625 pub wWeight: u16,
1626 pub wPort: u16,
1627 pub Pad: u16,
1628 }
1629 #[cfg(feature = "Win32_Foundation")]
1630 impl ::core::marker::Copy for DNS_SRV_DATAA {}
1631 #[cfg(feature = "Win32_Foundation")]
1632 impl ::core::clone::Clone for DNS_SRV_DATAA {
1633 fn clone(&self) -> Self {
1634 *self
1635 }
1636 }
1637 #[repr(C)]
1638 #[cfg(feature = "Win32_Foundation")]
1639 pub struct DNS_SRV_DATAW {
1640 pub pNameTarget: super::super::Foundation::PWSTR,
1641 pub wPriority: u16,
1642 pub wWeight: u16,
1643 pub wPort: u16,
1644 pub Pad: u16,
1645 }
1646 #[cfg(feature = "Win32_Foundation")]
1647 impl ::core::marker::Copy for DNS_SRV_DATAW {}
1648 #[cfg(feature = "Win32_Foundation")]
1649 impl ::core::clone::Clone for DNS_SRV_DATAW {
1650 fn clone(&self) -> Self {
1651 *self
1652 }
1653 }
1654 #[repr(C)]
1655 #[cfg(feature = "Win32_Foundation")]
1656 pub struct DNS_TKEY_DATAA {
1657 pub pNameAlgorithm: super::super::Foundation::PSTR,
1658 pub pAlgorithmPacket: *mut u8,
1659 pub pKey: *mut u8,
1660 pub pOtherData: *mut u8,
1661 pub dwCreateTime: u32,
1662 pub dwExpireTime: u32,
1663 pub wMode: u16,
1664 pub wError: u16,
1665 pub wKeyLength: u16,
1666 pub wOtherLength: u16,
1667 pub cAlgNameLength: u8,
1668 pub bPacketPointers: super::super::Foundation::BOOL,
1669 }
1670 #[cfg(feature = "Win32_Foundation")]
1671 impl ::core::marker::Copy for DNS_TKEY_DATAA {}
1672 #[cfg(feature = "Win32_Foundation")]
1673 impl ::core::clone::Clone for DNS_TKEY_DATAA {
1674 fn clone(&self) -> Self {
1675 *self
1676 }
1677 }
1678 #[repr(C)]
1679 #[cfg(feature = "Win32_Foundation")]
1680 pub struct DNS_TKEY_DATAW {
1681 pub pNameAlgorithm: super::super::Foundation::PWSTR,
1682 pub pAlgorithmPacket: *mut u8,
1683 pub pKey: *mut u8,
1684 pub pOtherData: *mut u8,
1685 pub dwCreateTime: u32,
1686 pub dwExpireTime: u32,
1687 pub wMode: u16,
1688 pub wError: u16,
1689 pub wKeyLength: u16,
1690 pub wOtherLength: u16,
1691 pub cAlgNameLength: u8,
1692 pub bPacketPointers: super::super::Foundation::BOOL,
1693 }
1694 #[cfg(feature = "Win32_Foundation")]
1695 impl ::core::marker::Copy for DNS_TKEY_DATAW {}
1696 #[cfg(feature = "Win32_Foundation")]
1697 impl ::core::clone::Clone for DNS_TKEY_DATAW {
1698 fn clone(&self) -> Self {
1699 *self
1700 }
1701 }
1702 pub const DNS_TKEY_MODE_DIFFIE_HELLMAN: u32 = 2u32;
1703 pub const DNS_TKEY_MODE_GSS: u32 = 3u32;
1704 pub const DNS_TKEY_MODE_RESOLVER_ASSIGN: u32 = 4u32;
1705 pub const DNS_TKEY_MODE_SERVER_ASSIGN: u32 = 1u32;
1706 #[repr(C)]
1707 pub struct DNS_TLSA_DATA {
1708 pub bCertUsage: u8,
1709 pub bSelector: u8,
1710 pub bMatchingType: u8,
1711 pub bCertificateAssociationDataLength: u16,
1712 pub bPad: [u8; 3],
1713 pub bCertificateAssociationData: [u8; 1],
1714 }
1715 impl ::core::marker::Copy for DNS_TLSA_DATA {}
1716 impl ::core::clone::Clone for DNS_TLSA_DATA {
1717 fn clone(&self) -> Self {
1718 *self
1719 }
1720 }
1721 #[repr(C)]
1722 #[cfg(feature = "Win32_Foundation")]
1723 pub struct DNS_TSIG_DATAA {
1724 pub pNameAlgorithm: super::super::Foundation::PSTR,
1725 pub pAlgorithmPacket: *mut u8,
1726 pub pSignature: *mut u8,
1727 pub pOtherData: *mut u8,
1728 pub i64CreateTime: i64,
1729 pub wFudgeTime: u16,
1730 pub wOriginalXid: u16,
1731 pub wError: u16,
1732 pub wSigLength: u16,
1733 pub wOtherLength: u16,
1734 pub cAlgNameLength: u8,
1735 pub bPacketPointers: super::super::Foundation::BOOL,
1736 }
1737 #[cfg(feature = "Win32_Foundation")]
1738 impl ::core::marker::Copy for DNS_TSIG_DATAA {}
1739 #[cfg(feature = "Win32_Foundation")]
1740 impl ::core::clone::Clone for DNS_TSIG_DATAA {
1741 fn clone(&self) -> Self {
1742 *self
1743 }
1744 }
1745 #[repr(C)]
1746 #[cfg(feature = "Win32_Foundation")]
1747 pub struct DNS_TSIG_DATAW {
1748 pub pNameAlgorithm: super::super::Foundation::PWSTR,
1749 pub pAlgorithmPacket: *mut u8,
1750 pub pSignature: *mut u8,
1751 pub pOtherData: *mut u8,
1752 pub i64CreateTime: i64,
1753 pub wFudgeTime: u16,
1754 pub wOriginalXid: u16,
1755 pub wError: u16,
1756 pub wSigLength: u16,
1757 pub wOtherLength: u16,
1758 pub cAlgNameLength: u8,
1759 pub bPacketPointers: super::super::Foundation::BOOL,
1760 }
1761 #[cfg(feature = "Win32_Foundation")]
1762 impl ::core::marker::Copy for DNS_TSIG_DATAW {}
1763 #[cfg(feature = "Win32_Foundation")]
1764 impl ::core::clone::Clone for DNS_TSIG_DATAW {
1765 fn clone(&self) -> Self {
1766 *self
1767 }
1768 }
1769 #[repr(C)]
1770 #[cfg(feature = "Win32_Foundation")]
1771 pub struct DNS_TXT_DATAA {
1772 pub dwStringCount: u32,
1773 pub pStringArray: [super::super::Foundation::PSTR; 1],
1774 }
1775 #[cfg(feature = "Win32_Foundation")]
1776 impl ::core::marker::Copy for DNS_TXT_DATAA {}
1777 #[cfg(feature = "Win32_Foundation")]
1778 impl ::core::clone::Clone for DNS_TXT_DATAA {
1779 fn clone(&self) -> Self {
1780 *self
1781 }
1782 }
1783 #[repr(C)]
1784 #[cfg(feature = "Win32_Foundation")]
1785 pub struct DNS_TXT_DATAW {
1786 pub dwStringCount: u32,
1787 pub pStringArray: [super::super::Foundation::PWSTR; 1],
1788 }
1789 #[cfg(feature = "Win32_Foundation")]
1790 impl ::core::marker::Copy for DNS_TXT_DATAW {}
1791 #[cfg(feature = "Win32_Foundation")]
1792 impl ::core::clone::Clone for DNS_TXT_DATAW {
1793 fn clone(&self) -> Self {
1794 *self
1795 }
1796 }
1797 pub const DNS_TYPE_A: u32 = 1u32;
1798 pub const DNS_TYPE_A6: u32 = 38u32;
1799 pub const DNS_TYPE_AAAA: u32 = 28u32;
1800 pub const DNS_TYPE_ADDRS: u32 = 248u32;
1801 pub const DNS_TYPE_AFSDB: u32 = 18u32;
1802 pub const DNS_TYPE_ALL: u32 = 255u32;
1803 pub const DNS_TYPE_ANY: u32 = 255u32;
1804 pub const DNS_TYPE_ATMA: u32 = 34u32;
1805 pub const DNS_TYPE_AXFR: u32 = 252u32;
1806 pub const DNS_TYPE_CERT: u32 = 37u32;
1807 pub const DNS_TYPE_CNAME: u32 = 5u32;
1808 pub const DNS_TYPE_DHCID: u32 = 49u32;
1809 pub const DNS_TYPE_DNAME: u32 = 39u32;
1810 pub const DNS_TYPE_DNSKEY: u32 = 48u32;
1811 pub const DNS_TYPE_DS: u32 = 43u32;
1812 pub const DNS_TYPE_EID: u32 = 31u32;
1813 pub const DNS_TYPE_GID: u32 = 102u32;
1814 pub const DNS_TYPE_GPOS: u32 = 27u32;
1815 pub const DNS_TYPE_HINFO: u32 = 13u32;
1816 pub const DNS_TYPE_ISDN: u32 = 20u32;
1817 pub const DNS_TYPE_IXFR: u32 = 251u32;
1818 pub const DNS_TYPE_KEY: u32 = 25u32;
1819 pub const DNS_TYPE_KX: u32 = 36u32;
1820 pub const DNS_TYPE_LOC: u32 = 29u32;
1821 pub const DNS_TYPE_MAILA: u32 = 254u32;
1822 pub const DNS_TYPE_MAILB: u32 = 253u32;
1823 pub const DNS_TYPE_MB: u32 = 7u32;
1824 pub const DNS_TYPE_MD: u32 = 3u32;
1825 pub const DNS_TYPE_MF: u32 = 4u32;
1826 pub const DNS_TYPE_MG: u32 = 8u32;
1827 pub const DNS_TYPE_MINFO: u32 = 14u32;
1828 pub const DNS_TYPE_MR: u32 = 9u32;
1829 pub const DNS_TYPE_MX: u32 = 15u32;
1830 pub const DNS_TYPE_NAPTR: u32 = 35u32;
1831 pub const DNS_TYPE_NBSTAT: u32 = 65282u32;
1832 pub const DNS_TYPE_NIMLOC: u32 = 32u32;
1833 pub const DNS_TYPE_NS: u32 = 2u32;
1834 pub const DNS_TYPE_NSAP: u32 = 22u32;
1835 pub const DNS_TYPE_NSAPPTR: u32 = 23u32;
1836 pub const DNS_TYPE_NSEC: u32 = 47u32;
1837 pub const DNS_TYPE_NSEC3: u32 = 50u32;
1838 pub const DNS_TYPE_NSEC3PARAM: u32 = 51u32;
1839 pub const DNS_TYPE_NULL: u32 = 10u32;
1840 pub const DNS_TYPE_NXT: u32 = 30u32;
1841 pub const DNS_TYPE_OPT: u32 = 41u32;
1842 pub const DNS_TYPE_PTR: u32 = 12u32;
1843 pub const DNS_TYPE_PX: u32 = 26u32;
1844 pub const DNS_TYPE_RP: u32 = 17u32;
1845 pub const DNS_TYPE_RRSIG: u32 = 46u32;
1846 pub const DNS_TYPE_RT: u32 = 21u32;
1847 pub const DNS_TYPE_SIG: u32 = 24u32;
1848 pub const DNS_TYPE_SINK: u32 = 40u32;
1849 pub const DNS_TYPE_SOA: u32 = 6u32;
1850 pub const DNS_TYPE_SRV: u32 = 33u32;
1851 pub const DNS_TYPE_TEXT: u32 = 16u32;
1852 pub const DNS_TYPE_TKEY: u32 = 249u32;
1853 pub const DNS_TYPE_TLSA: u32 = 52u32;
1854 pub const DNS_TYPE_TSIG: u32 = 250u32;
1855 pub const DNS_TYPE_UID: u32 = 101u32;
1856 pub const DNS_TYPE_UINFO: u32 = 100u32;
1857 pub const DNS_TYPE_UNSPEC: u32 = 103u32;
1858 pub const DNS_TYPE_WINS: u32 = 65281u32;
1859 pub const DNS_TYPE_WINSR: u32 = 65282u32;
1860 pub const DNS_TYPE_WKS: u32 = 11u32;
1861 pub const DNS_TYPE_X25: u32 = 19u32;
1862 pub const DNS_TYPE_ZERO: u32 = 0u32;
1863 #[repr(C)]
1864 pub struct DNS_UNKNOWN_DATA {
1865 pub dwByteCount: u32,
1866 pub bData: [u8; 1],
1867 }
1868 impl ::core::marker::Copy for DNS_UNKNOWN_DATA {}
1869 impl ::core::clone::Clone for DNS_UNKNOWN_DATA {
1870 fn clone(&self) -> Self {
1871 *self
1872 }
1873 }
1874 pub const DNS_UPDATE_CACHE_SECURITY_CONTEXT: u32 = 512u32;
1875 pub const DNS_UPDATE_FORCE_SECURITY_NEGO: u32 = 2048u32;
1876 pub const DNS_UPDATE_REMOTE_SERVER: u32 = 16384u32;
1877 pub const DNS_UPDATE_RESERVED: u32 = 4294901760u32;
1878 pub const DNS_UPDATE_SECURITY_OFF: u32 = 16u32;
1879 pub const DNS_UPDATE_SECURITY_ON: u32 = 32u32;
1880 pub const DNS_UPDATE_SECURITY_ONLY: u32 = 256u32;
1881 pub const DNS_UPDATE_SECURITY_USE_DEFAULT: u32 = 0u32;
1882 pub const DNS_UPDATE_SKIP_NO_UPDATE_ADAPTERS: u32 = 8192u32;
1883 pub const DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT: u32 = 1024u32;
1884 pub const DNS_UPDATE_TRY_ALL_MASTER_SERVERS: u32 = 4096u32;
1885 pub const DNS_VALSVR_ERROR_INVALID_ADDR: u32 = 1u32;
1886 pub const DNS_VALSVR_ERROR_INVALID_NAME: u32 = 2u32;
1887 pub const DNS_VALSVR_ERROR_NO_AUTH: u32 = 5u32;
1888 pub const DNS_VALSVR_ERROR_NO_RESPONSE: u32 = 4u32;
1889 pub const DNS_VALSVR_ERROR_NO_TCP: u32 = 16u32;
1890 pub const DNS_VALSVR_ERROR_REFUSED: u32 = 6u32;
1891 pub const DNS_VALSVR_ERROR_UNKNOWN: u32 = 255u32;
1892 pub const DNS_VALSVR_ERROR_UNREACHABLE: u32 = 3u32;
1893 #[repr(C)]
1894 #[cfg(feature = "Win32_Foundation")]
1895 pub struct DNS_WINSR_DATAA {
1896 pub dwMappingFlag: u32,
1897 pub dwLookupTimeout: u32,
1898 pub dwCacheTimeout: u32,
1899 pub pNameResultDomain: super::super::Foundation::PSTR,
1900 }
1901 #[cfg(feature = "Win32_Foundation")]
1902 impl ::core::marker::Copy for DNS_WINSR_DATAA {}
1903 #[cfg(feature = "Win32_Foundation")]
1904 impl ::core::clone::Clone for DNS_WINSR_DATAA {
1905 fn clone(&self) -> Self {
1906 *self
1907 }
1908 }
1909 #[repr(C)]
1910 #[cfg(feature = "Win32_Foundation")]
1911 pub struct DNS_WINSR_DATAW {
1912 pub dwMappingFlag: u32,
1913 pub dwLookupTimeout: u32,
1914 pub dwCacheTimeout: u32,
1915 pub pNameResultDomain: super::super::Foundation::PWSTR,
1916 }
1917 #[cfg(feature = "Win32_Foundation")]
1918 impl ::core::marker::Copy for DNS_WINSR_DATAW {}
1919 #[cfg(feature = "Win32_Foundation")]
1920 impl ::core::clone::Clone for DNS_WINSR_DATAW {
1921 fn clone(&self) -> Self {
1922 *self
1923 }
1924 }
1925 #[repr(C)]
1926 pub struct DNS_WINS_DATA {
1927 pub dwMappingFlag: u32,
1928 pub dwLookupTimeout: u32,
1929 pub dwCacheTimeout: u32,
1930 pub cWinsServerCount: u32,
1931 pub WinsServers: [u32; 1],
1932 }
1933 impl ::core::marker::Copy for DNS_WINS_DATA {}
1934 impl ::core::clone::Clone for DNS_WINS_DATA {
1935 fn clone(&self) -> Self {
1936 *self
1937 }
1938 }
1939 pub const DNS_WINS_FLAG_LOCAL: u32 = 65536u32;
1940 pub const DNS_WINS_FLAG_SCOPE: u32 = 2147483648u32;
1941 #[repr(C, packed(1))]
1942 pub struct DNS_WIRE_QUESTION {
1943 pub QuestionType: u16,
1944 pub QuestionClass: u16,
1945 }
1946 impl ::core::marker::Copy for DNS_WIRE_QUESTION {}
1947 impl ::core::clone::Clone for DNS_WIRE_QUESTION {
1948 fn clone(&self) -> Self {
1949 *self
1950 }
1951 }
1952 #[repr(C, packed(1))]
1953 pub struct DNS_WIRE_RECORD {
1954 pub RecordType: u16,
1955 pub RecordClass: u16,
1956 pub TimeToLive: u32,
1957 pub DataLength: u16,
1958 }
1959 impl ::core::marker::Copy for DNS_WIRE_RECORD {}
1960 impl ::core::clone::Clone for DNS_WIRE_RECORD {
1961 fn clone(&self) -> Self {
1962 *self
1963 }
1964 }
1965 #[repr(C)]
1966 pub struct DNS_WKS_DATA {
1967 pub IpAddress: u32,
1968 pub chProtocol: u8,
1969 pub BitMask: [u8; 1],
1970 }
1971 impl ::core::marker::Copy for DNS_WKS_DATA {}
1972 impl ::core::clone::Clone for DNS_WKS_DATA {
1973 fn clone(&self) -> Self {
1974 *self
1975 }
1976 }
1977 pub type DnsContextHandle = isize;
1978 pub const IP4_ADDRESS_STRING_BUFFER_LENGTH: u32 = 16u32;
1979 pub const IP4_ADDRESS_STRING_LENGTH: u32 = 16u32;
1980 #[repr(C)]
1981 pub struct IP4_ARRAY {
1982 pub AddrCount: u32,
1983 pub AddrArray: [u32; 1],
1984 }
1985 impl ::core::marker::Copy for IP4_ARRAY {}
1986 impl ::core::clone::Clone for IP4_ARRAY {
1987 fn clone(&self) -> Self {
1988 *self
1989 }
1990 }
1991 #[repr(C)]
1992 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1993 pub union IP6_ADDRESS {
1994 pub IP6Qword: [u64; 2],
1995 pub IP6Dword: [u32; 4],
1996 pub IP6Word: [u16; 8],
1997 pub IP6Byte: [u8; 16],
1998 }
1999 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
2000 impl ::core::marker::Copy for IP6_ADDRESS {}
2001 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
2002 impl ::core::clone::Clone for IP6_ADDRESS {
2003 fn clone(&self) -> Self {
2004 *self
2005 }
2006 }
2007 #[repr(C)]
2008 #[cfg(any(target_arch = "x86",))]
2009 pub union IP6_ADDRESS {
2010 pub IP6Dword: [u32; 4],
2011 pub IP6Word: [u16; 8],
2012 pub IP6Byte: [u8; 16],
2013 }
2014 #[cfg(any(target_arch = "x86",))]
2015 impl ::core::marker::Copy for IP6_ADDRESS {}
2016 #[cfg(any(target_arch = "x86",))]
2017 impl ::core::clone::Clone for IP6_ADDRESS {
2018 fn clone(&self) -> Self {
2019 *self
2020 }
2021 }
2022 pub const IP6_ADDRESS_STRING_BUFFER_LENGTH: u32 = 65u32;
2023 pub const IP6_ADDRESS_STRING_LENGTH: u32 = 65u32;
2024 #[repr(C)]
2025 pub struct MDNS_QUERY_HANDLE {
2026 pub nameBuf: [u16; 256],
2027 pub wType: u16,
2028 pub pSubscription: *mut ::core::ffi::c_void,
2029 pub pWnfCallbackParams: *mut ::core::ffi::c_void,
2030 pub stateNameData: [u32; 2],
2031 }
2032 impl ::core::marker::Copy for MDNS_QUERY_HANDLE {}
2033 impl ::core::clone::Clone for MDNS_QUERY_HANDLE {
2034 fn clone(&self) -> Self {
2035 *self
2036 }
2037 }
2038 #[repr(C)]
2039 #[cfg(feature = "Win32_Foundation")]
2040 pub struct MDNS_QUERY_REQUEST {
2041 pub Version: u32,
2042 pub ulRefCount: u32,
2043 pub Query: super::super::Foundation::PWSTR,
2044 pub QueryType: u16,
2045 pub QueryOptions: u64,
2046 pub InterfaceIndex: u32,
2047 pub pQueryCallback: PMDNS_QUERY_CALLBACK,
2048 pub pQueryContext: *mut ::core::ffi::c_void,
2049 pub fAnswerReceived: super::super::Foundation::BOOL,
2050 pub ulResendCount: u32,
2051 }
2052 #[cfg(feature = "Win32_Foundation")]
2053 impl ::core::marker::Copy for MDNS_QUERY_REQUEST {}
2054 #[cfg(feature = "Win32_Foundation")]
2055 impl ::core::clone::Clone for MDNS_QUERY_REQUEST {
2056 fn clone(&self) -> Self {
2057 *self
2058 }
2059 }
2060 #[cfg(feature = "Win32_Foundation")]
2061 pub type PDNS_QUERY_COMPLETION_ROUTINE = unsafe extern "system" fn(pquerycontext: *const ::core::ffi::c_void, pqueryresults: *mut DNS_QUERY_RESULT);
2062 #[cfg(feature = "Win32_Foundation")]
2063 pub type PDNS_SERVICE_BROWSE_CALLBACK = unsafe extern "system" fn(status: u32, pquerycontext: *const ::core::ffi::c_void, pdnsrecord: *const DNS_RECORDA);
2064 #[cfg(feature = "Win32_Foundation")]
2065 pub type PDNS_SERVICE_REGISTER_COMPLETE = unsafe extern "system" fn(status: u32, pquerycontext: *const ::core::ffi::c_void, pinstance: *const DNS_SERVICE_INSTANCE);
2066 #[cfg(feature = "Win32_Foundation")]
2067 pub type PDNS_SERVICE_RESOLVE_COMPLETE = unsafe extern "system" fn(status: u32, pquerycontext: *const ::core::ffi::c_void, pinstance: *const DNS_SERVICE_INSTANCE);
2068 #[cfg(feature = "Win32_Foundation")]
2069 pub type PMDNS_QUERY_CALLBACK = unsafe extern "system" fn(pquerycontext: *const ::core::ffi::c_void, pqueryhandle: *mut MDNS_QUERY_HANDLE, pqueryresults: *mut DNS_QUERY_RESULT);
2070 pub const SIZEOF_IP4_ADDRESS: u32 = 4u32;
2071 #[repr(C)]
2072 #[cfg(feature = "Win32_Foundation")]
2073 pub struct _DnsRecordOptA {
2074 pub pNext: *mut DNS_RECORDA,
2075 pub pName: super::super::Foundation::PSTR,
2076 pub wType: u16,
2077 pub wDataLength: u16,
2078 pub Flags: _DnsRecordOptA_1,
2079 pub ExtHeader: DNS_HEADER_EXT,
2080 pub wPayloadSize: u16,
2081 pub wReserved: u16,
2082 pub Data: _DnsRecordOptA_0,
2083 }
2084 #[cfg(feature = "Win32_Foundation")]
2085 impl ::core::marker::Copy for _DnsRecordOptA {}
2086 #[cfg(feature = "Win32_Foundation")]
2087 impl ::core::clone::Clone for _DnsRecordOptA {
2088 fn clone(&self) -> Self {
2089 *self
2090 }
2091 }
2092 #[repr(C)]
2093 #[cfg(feature = "Win32_Foundation")]
2094 pub union _DnsRecordOptA_0 {
2095 pub OPT: DNS_OPT_DATA,
2096 pub Opt: DNS_OPT_DATA,
2097 }
2098 #[cfg(feature = "Win32_Foundation")]
2099 impl ::core::marker::Copy for _DnsRecordOptA_0 {}
2100 #[cfg(feature = "Win32_Foundation")]
2101 impl ::core::clone::Clone for _DnsRecordOptA_0 {
2102 fn clone(&self) -> Self {
2103 *self
2104 }
2105 }
2106 #[repr(C)]
2107 #[cfg(feature = "Win32_Foundation")]
2108 pub union _DnsRecordOptA_1 {
2109 pub DW: u32,
2110 pub S: DNS_RECORD_FLAGS,
2111 }
2112 #[cfg(feature = "Win32_Foundation")]
2113 impl ::core::marker::Copy for _DnsRecordOptA_1 {}
2114 #[cfg(feature = "Win32_Foundation")]
2115 impl ::core::clone::Clone for _DnsRecordOptA_1 {
2116 fn clone(&self) -> Self {
2117 *self
2118 }
2119 }
2120 #[repr(C)]
2121 #[cfg(feature = "Win32_Foundation")]
2122 pub struct _DnsRecordOptW {
2123 pub pNext: *mut DNS_RECORDW,
2124 pub pName: super::super::Foundation::PWSTR,
2125 pub wType: u16,
2126 pub wDataLength: u16,
2127 pub Flags: _DnsRecordOptW_1,
2128 pub ExtHeader: DNS_HEADER_EXT,
2129 pub wPayloadSize: u16,
2130 pub wReserved: u16,
2131 pub Data: _DnsRecordOptW_0,
2132 }
2133 #[cfg(feature = "Win32_Foundation")]
2134 impl ::core::marker::Copy for _DnsRecordOptW {}
2135 #[cfg(feature = "Win32_Foundation")]
2136 impl ::core::clone::Clone for _DnsRecordOptW {
2137 fn clone(&self) -> Self {
2138 *self
2139 }
2140 }
2141 #[repr(C)]
2142 #[cfg(feature = "Win32_Foundation")]
2143 pub union _DnsRecordOptW_0 {
2144 pub OPT: DNS_OPT_DATA,
2145 pub Opt: DNS_OPT_DATA,
2146 }
2147 #[cfg(feature = "Win32_Foundation")]
2148 impl ::core::marker::Copy for _DnsRecordOptW_0 {}
2149 #[cfg(feature = "Win32_Foundation")]
2150 impl ::core::clone::Clone for _DnsRecordOptW_0 {
2151 fn clone(&self) -> Self {
2152 *self
2153 }
2154 }
2155 #[repr(C)]
2156 #[cfg(feature = "Win32_Foundation")]
2157 pub union _DnsRecordOptW_1 {
2158 pub DW: u32,
2159 pub S: DNS_RECORD_FLAGS,
2160 }
2161 #[cfg(feature = "Win32_Foundation")]
2162 impl ::core::marker::Copy for _DnsRecordOptW_1 {}
2163 #[cfg(feature = "Win32_Foundation")]
2164 impl ::core::clone::Clone for _DnsRecordOptW_1 {
2165 fn clone(&self) -> Self {
2166 *self
2167 }
2168 }