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" {
DnsAcquireContextHandle_A(credentialflags: u32, credentials: *const ::core::ffi::c_void, pcontext: *mut DnsContextHandle) -> i324     pub fn DnsAcquireContextHandle_A(credentialflags: u32, credentials: *const ::core::ffi::c_void, pcontext: *mut DnsContextHandle) -> i32;
DnsAcquireContextHandle_W(credentialflags: u32, credentials: *const ::core::ffi::c_void, pcontext: *mut DnsContextHandle) -> i325     pub fn DnsAcquireContextHandle_W(credentialflags: u32, credentials: *const ::core::ffi::c_void, pcontext: *mut DnsContextHandle) -> i32;
6     #[cfg(feature = "Win32_Foundation")]
DnsCancelQuery(pcancelhandle: *const DNS_QUERY_CANCEL) -> i327     pub fn DnsCancelQuery(pcancelhandle: *const DNS_QUERY_CANCEL) -> i32;
DnsConnectionDeletePolicyEntries(policyentrytag: DNS_CONNECTION_POLICY_TAG) -> u328     pub fn DnsConnectionDeletePolicyEntries(policyentrytag: DNS_CONNECTION_POLICY_TAG) -> u32;
9     #[cfg(feature = "Win32_Foundation")]
DnsConnectionDeleteProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE) -> u3210     pub fn DnsConnectionDeleteProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE) -> u32;
DnsConnectionFreeNameList(pnamelist: *mut DNS_CONNECTION_NAME_LIST)11     pub fn DnsConnectionFreeNameList(pnamelist: *mut DNS_CONNECTION_NAME_LIST);
12     #[cfg(feature = "Win32_Foundation")]
DnsConnectionFreeProxyInfo(pproxyinfo: *mut DNS_CONNECTION_PROXY_INFO)13     pub fn DnsConnectionFreeProxyInfo(pproxyinfo: *mut DNS_CONNECTION_PROXY_INFO);
14     #[cfg(feature = "Win32_Foundation")]
DnsConnectionFreeProxyInfoEx(pproxyinfoex: *mut DNS_CONNECTION_PROXY_INFO_EX)15     pub fn DnsConnectionFreeProxyInfoEx(pproxyinfoex: *mut DNS_CONNECTION_PROXY_INFO_EX);
16     #[cfg(feature = "Win32_Foundation")]
DnsConnectionFreeProxyList(pproxylist: *mut DNS_CONNECTION_PROXY_LIST)17     pub fn DnsConnectionFreeProxyList(pproxylist: *mut DNS_CONNECTION_PROXY_LIST);
DnsConnectionGetNameList(pnamelist: *mut DNS_CONNECTION_NAME_LIST) -> u3218     pub fn DnsConnectionGetNameList(pnamelist: *mut DNS_CONNECTION_NAME_LIST) -> u32;
19     #[cfg(feature = "Win32_Foundation")]
DnsConnectionGetProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE, pproxyinfo: *mut DNS_CONNECTION_PROXY_INFO) -> u3220     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")]
DnsConnectionGetProxyInfoForHostUrl(pwszhosturl: super::super::Foundation::PWSTR, pselectioncontext: *const u8, dwselectioncontextlength: u32, dwexplicitinterfaceindex: u32, pproxyinfoex: *mut DNS_CONNECTION_PROXY_INFO_EX) -> u3222     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")]
DnsConnectionGetProxyList(pwszconnectionname: super::super::Foundation::PWSTR, pproxylist: *mut DNS_CONNECTION_PROXY_LIST) -> u3224     pub fn DnsConnectionGetProxyList(pwszconnectionname: super::super::Foundation::PWSTR, pproxylist: *mut DNS_CONNECTION_PROXY_LIST) -> u32;
25     #[cfg(feature = "Win32_Foundation")]
DnsConnectionSetPolicyEntries(policyentrytag: DNS_CONNECTION_POLICY_TAG, ppolicyentrylist: *const DNS_CONNECTION_POLICY_ENTRY_LIST) -> u3226     pub fn DnsConnectionSetPolicyEntries(policyentrytag: DNS_CONNECTION_POLICY_TAG, ppolicyentrylist: *const DNS_CONNECTION_POLICY_ENTRY_LIST) -> u32;
27     #[cfg(feature = "Win32_Foundation")]
DnsConnectionSetProxyInfo(pwszconnectionname: super::super::Foundation::PWSTR, r#type: DNS_CONNECTION_PROXY_TYPE, pproxyinfo: *const DNS_CONNECTION_PROXY_INFO) -> u3228     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")]
DnsConnectionUpdateIfIndexTable(pconnectionifindexentries: *const DNS_CONNECTION_IFINDEX_LIST) -> u3230     pub fn DnsConnectionUpdateIfIndexTable(pconnectionifindexentries: *const DNS_CONNECTION_IFINDEX_LIST) -> u32;
31     #[cfg(feature = "Win32_Foundation")]
DnsExtractRecordsFromMessage_UTF8(pdnsbuffer: *const DNS_MESSAGE_BUFFER, wmessagelength: u16, pprecord: *mut *mut DNS_RECORDA) -> i3232     pub fn DnsExtractRecordsFromMessage_UTF8(pdnsbuffer: *const DNS_MESSAGE_BUFFER, wmessagelength: u16, pprecord: *mut *mut DNS_RECORDA) -> i32;
33     #[cfg(feature = "Win32_Foundation")]
DnsExtractRecordsFromMessage_W(pdnsbuffer: *const DNS_MESSAGE_BUFFER, wmessagelength: u16, pprecord: *mut *mut DNS_RECORDA) -> i3234     pub fn DnsExtractRecordsFromMessage_W(pdnsbuffer: *const DNS_MESSAGE_BUFFER, wmessagelength: u16, pprecord: *mut *mut DNS_RECORDA) -> i32;
DnsFree(pdata: *const ::core::ffi::c_void, freetype: DNS_FREE_TYPE)35     pub fn DnsFree(pdata: *const ::core::ffi::c_void, freetype: DNS_FREE_TYPE);
36     #[cfg(feature = "Win32_Foundation")]
DnsFreeCustomServers(pcservers: *mut u32, ppservers: *mut *mut DNS_CUSTOM_SERVER)37     pub fn DnsFreeCustomServers(pcservers: *mut u32, ppservers: *mut *mut DNS_CUSTOM_SERVER);
38     #[cfg(feature = "Win32_Foundation")]
DnsFreeProxyName(proxyname: super::super::Foundation::PWSTR)39     pub fn DnsFreeProxyName(proxyname: super::super::Foundation::PWSTR);
40     #[cfg(feature = "Win32_Foundation")]
DnsGetApplicationSettings(pcservers: *mut u32, ppdefaultservers: *mut *mut DNS_CUSTOM_SERVER, psettings: *mut DNS_APPLICATION_SETTINGS) -> u3241     pub fn DnsGetApplicationSettings(pcservers: *mut u32, ppdefaultservers: *mut *mut DNS_CUSTOM_SERVER, psettings: *mut DNS_APPLICATION_SETTINGS) -> u32;
42     #[cfg(feature = "Win32_Foundation")]
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) -> u3243     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")]
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) -> i3245     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")]
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) -> i3247     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")]
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) -> i3249     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")]
DnsNameCompare_A(pname1: super::super::Foundation::PSTR, pname2: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL51     pub fn DnsNameCompare_A(pname1: super::super::Foundation::PSTR, pname2: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
52     #[cfg(feature = "Win32_Foundation")]
DnsNameCompare_W(pname1: super::super::Foundation::PWSTR, pname2: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL53     pub fn DnsNameCompare_W(pname1: super::super::Foundation::PWSTR, pname2: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
54     #[cfg(feature = "Win32_Foundation")]
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) -> i3255     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")]
DnsQueryEx(pqueryrequest: *const DNS_QUERY_REQUEST, pqueryresults: *mut DNS_QUERY_RESULT, pcancelhandle: *mut DNS_QUERY_CANCEL) -> i3257     pub fn DnsQueryEx(pqueryrequest: *const DNS_QUERY_REQUEST, pqueryresults: *mut DNS_QUERY_RESULT, pcancelhandle: *mut DNS_QUERY_CANCEL) -> i32;
58     #[cfg(feature = "Win32_Foundation")]
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) -> i3259     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")]
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) -> i3261     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")]
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) -> i3263     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")]
DnsRecordCompare(precord1: *const DNS_RECORDA, precord2: *const DNS_RECORDA) -> super::super::Foundation::BOOL65     pub fn DnsRecordCompare(precord1: *const DNS_RECORDA, precord2: *const DNS_RECORDA) -> super::super::Foundation::BOOL;
66     #[cfg(feature = "Win32_Foundation")]
DnsRecordCopyEx(precord: *const DNS_RECORDA, charsetin: DNS_CHARSET, charsetout: DNS_CHARSET) -> *mut DNS_RECORDA67     pub fn DnsRecordCopyEx(precord: *const DNS_RECORDA, charsetin: DNS_CHARSET, charsetout: DNS_CHARSET) -> *mut DNS_RECORDA;
68     #[cfg(feature = "Win32_Foundation")]
DnsRecordSetCompare(prr1: *mut DNS_RECORDA, prr2: *mut DNS_RECORDA, ppdiff1: *mut *mut DNS_RECORDA, ppdiff2: *mut *mut DNS_RECORDA) -> super::super::Foundation::BOOL69     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")]
DnsRecordSetCopyEx(precordset: *const DNS_RECORDA, charsetin: DNS_CHARSET, charsetout: DNS_CHARSET) -> *mut DNS_RECORDA71     pub fn DnsRecordSetCopyEx(precordset: *const DNS_RECORDA, charsetin: DNS_CHARSET, charsetout: DNS_CHARSET) -> *mut DNS_RECORDA;
72     #[cfg(feature = "Win32_Foundation")]
DnsRecordSetDetach(precordlist: *mut DNS_RECORDA) -> *mut DNS_RECORDA73     pub fn DnsRecordSetDetach(precordlist: *mut DNS_RECORDA) -> *mut DNS_RECORDA;
74     #[cfg(feature = "Win32_Foundation")]
DnsReleaseContextHandle(hcontext: super::super::Foundation::HANDLE)75     pub fn DnsReleaseContextHandle(hcontext: super::super::Foundation::HANDLE);
76     #[cfg(feature = "Win32_Foundation")]
DnsReplaceRecordSetA(preplaceset: *const DNS_RECORDA, options: u32, hcontext: super::super::Foundation::HANDLE, pextrainfo: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i3277     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")]
DnsReplaceRecordSetUTF8(preplaceset: *const DNS_RECORDA, options: u32, hcontext: super::super::Foundation::HANDLE, pextrainfo: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i3279     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")]
DnsReplaceRecordSetW(preplaceset: *const DNS_RECORDA, options: u32, hcontext: super::super::Foundation::HANDLE, pextrainfo: *mut ::core::ffi::c_void, preserved: *mut ::core::ffi::c_void) -> i3281     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")]
DnsServiceBrowse(prequest: *const DNS_SERVICE_BROWSE_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> i3283     pub fn DnsServiceBrowse(prequest: *const DNS_SERVICE_BROWSE_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> i32;
DnsServiceBrowseCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> i3284     pub fn DnsServiceBrowseCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> i32;
85     #[cfg(feature = "Win32_Foundation")]
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_INSTANCE86     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")]
DnsServiceCopyInstance(porig: *const DNS_SERVICE_INSTANCE) -> *mut DNS_SERVICE_INSTANCE88     pub fn DnsServiceCopyInstance(porig: *const DNS_SERVICE_INSTANCE) -> *mut DNS_SERVICE_INSTANCE;
89     #[cfg(feature = "Win32_Foundation")]
DnsServiceDeRegister(prequest: *const DNS_SERVICE_REGISTER_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> u3290     pub fn DnsServiceDeRegister(prequest: *const DNS_SERVICE_REGISTER_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> u32;
91     #[cfg(feature = "Win32_Foundation")]
DnsServiceFreeInstance(pinstance: *const DNS_SERVICE_INSTANCE)92     pub fn DnsServiceFreeInstance(pinstance: *const DNS_SERVICE_INSTANCE);
93     #[cfg(feature = "Win32_Foundation")]
DnsServiceRegister(prequest: *const DNS_SERVICE_REGISTER_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> u3294     pub fn DnsServiceRegister(prequest: *const DNS_SERVICE_REGISTER_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> u32;
DnsServiceRegisterCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> u3295     pub fn DnsServiceRegisterCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> u32;
96     #[cfg(feature = "Win32_Foundation")]
DnsServiceResolve(prequest: *const DNS_SERVICE_RESOLVE_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> i3297     pub fn DnsServiceResolve(prequest: *const DNS_SERVICE_RESOLVE_REQUEST, pcancel: *mut DNS_SERVICE_CANCEL) -> i32;
DnsServiceResolveCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> i3298     pub fn DnsServiceResolveCancel(pcancelhandle: *const DNS_SERVICE_CANCEL) -> i32;
99     #[cfg(feature = "Win32_Foundation")]
DnsSetApplicationSettings(cservers: u32, pservers: *const DNS_CUSTOM_SERVER, psettings: *const DNS_APPLICATION_SETTINGS) -> u32100     pub fn DnsSetApplicationSettings(cservers: u32, pservers: *const DNS_CUSTOM_SERVER, psettings: *const DNS_APPLICATION_SETTINGS) -> u32;
101     #[cfg(feature = "Win32_Foundation")]
DnsStartMulticastQuery(pqueryrequest: *const MDNS_QUERY_REQUEST, phandle: *mut MDNS_QUERY_HANDLE) -> i32102     pub fn DnsStartMulticastQuery(pqueryrequest: *const MDNS_QUERY_REQUEST, phandle: *mut MDNS_QUERY_HANDLE) -> i32;
DnsStopMulticastQuery(phandle: *mut MDNS_QUERY_HANDLE) -> i32103     pub fn DnsStopMulticastQuery(phandle: *mut MDNS_QUERY_HANDLE) -> i32;
104     #[cfg(feature = "Win32_Foundation")]
DnsValidateName_A(pszname: super::super::Foundation::PSTR, format: DNS_NAME_FORMAT) -> i32105     pub fn DnsValidateName_A(pszname: super::super::Foundation::PSTR, format: DNS_NAME_FORMAT) -> i32;
106     #[cfg(feature = "Win32_Foundation")]
DnsValidateName_UTF8(pszname: super::super::Foundation::PSTR, format: DNS_NAME_FORMAT) -> i32107     pub fn DnsValidateName_UTF8(pszname: super::super::Foundation::PSTR, format: DNS_NAME_FORMAT) -> i32;
108     #[cfg(feature = "Win32_Foundation")]
DnsValidateName_W(pszname: super::super::Foundation::PWSTR, format: DNS_NAME_FORMAT) -> i32109     pub fn DnsValidateName_W(pszname: super::super::Foundation::PWSTR, format: DNS_NAME_FORMAT) -> i32;
110     #[cfg(feature = "Win32_Foundation")]
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::BOOL111     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")]
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::BOOL113     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 {
clone(&self) -> Self178     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 {
clone(&self) -> Self192     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 {
clone(&self) -> Self205     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 {
clone(&self) -> Self228     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 {
clone(&self) -> Self240     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 {
clone(&self) -> Self254     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 {
clone(&self) -> Self268     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 {
clone(&self) -> Self317     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 {
clone(&self) -> Self331     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 {
clone(&self) -> Self341     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 {
clone(&self) -> Self352     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 {
clone(&self) -> Self372     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 {
clone(&self) -> Self386     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 {
clone(&self) -> Self405     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 {
clone(&self) -> Self422     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 {
clone(&self) -> Self436     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 {
clone(&self) -> Self454     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 {
clone(&self) -> Self469     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 {
clone(&self) -> Self487     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 {
clone(&self) -> Self513     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 {
clone(&self) -> Self535     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 {
clone(&self) -> Self548     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 {
clone(&self) -> Self561     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 {
clone(&self) -> Self575     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 {
clone(&self) -> Self590     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 {
clone(&self) -> Self610     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 {
clone(&self) -> Self622     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 {
clone(&self) -> Self637     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 {
clone(&self) -> Self653     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 {
clone(&self) -> Self678     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 {
clone(&self) -> Self692     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 {
clone(&self) -> Self706     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 {
clone(&self) -> Self721     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 {
clone(&self) -> Self736     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 {
clone(&self) -> Self762     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 {
clone(&self) -> Self780     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 {
clone(&self) -> Self795     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 {
clone(&self) -> Self811     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 {
clone(&self) -> Self827     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 {
clone(&self) -> Self843     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 {
clone(&self) -> Self854     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 {
clone(&self) -> Self869     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 {
clone(&self) -> Self884     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 {
clone(&self) -> Self902     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 {
clone(&self) -> Self920     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 {
clone(&self) -> Self938     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 {
clone(&self) -> Self951     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 {
clone(&self) -> Self969     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 {
clone(&self) -> Self1001     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 {
clone(&self) -> Self1025     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 {
clone(&self) -> Self1046     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 {
clone(&self) -> Self1101     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 {
clone(&self) -> Self1197     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 {
clone(&self) -> Self1211     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 {
clone(&self) -> Self1231     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 {
clone(&self) -> Self1327     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 {
clone(&self) -> Self1341     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 {
clone(&self) -> Self1351     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 {
clone(&self) -> Self1366     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 {
clone(&self) -> Self1451     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 {
clone(&self) -> Self1465     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 {
clone(&self) -> Self1475     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 {
clone(&self) -> Self1498     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 {
clone(&self) -> Self1517     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 {
clone(&self) -> Self1534     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 {
clone(&self) -> Self1556     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 {
clone(&self) -> Self1578     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 {
clone(&self) -> Self1597     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 {
clone(&self) -> Self1616     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 {
clone(&self) -> Self1633     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 {
clone(&self) -> Self1650     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 {
clone(&self) -> Self1674     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 {
clone(&self) -> Self1698     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 {
clone(&self) -> Self1717     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 {
clone(&self) -> Self1741     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 {
clone(&self) -> Self1765     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 {
clone(&self) -> Self1779     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 {
clone(&self) -> Self1793     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 {
clone(&self) -> Self1870     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 {
clone(&self) -> Self1905     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 {
clone(&self) -> Self1921     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 {
clone(&self) -> Self1935     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 {
clone(&self) -> Self1948     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 {
clone(&self) -> Self1961     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 {
clone(&self) -> Self1973     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 {
clone(&self) -> Self1987     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 {
clone(&self) -> Self2003     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 {
clone(&self) -> Self2018     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 {
clone(&self) -> Self2034     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 {
clone(&self) -> Self2056     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 {
clone(&self) -> Self2088     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 {
clone(&self) -> Self2102     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 {
clone(&self) -> Self2116     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 {
clone(&self) -> Self2137     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 {
clone(&self) -> Self2151     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 {
clone(&self) -> Self2165     fn clone(&self) -> Self {
2166         *self
2167     }
2168 }
2169