3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * DNS support
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 2006 Matthew Kehrer
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_WINDNS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_WINDNS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_ZERO 0x0000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_A 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NS 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MD 0x0003
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MF 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_CNAME 0x0005
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_SOA 0x0006
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MB 0x0007
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MG 0x0008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MR 0x0009
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NULL 0x000a
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_WKS 0x000b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_PTR 0x000c
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_HINFO 0x000d
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MINFO 0x000e
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MX 0x000f
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_TEXT 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_RP 0x0011
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_AFSDB 0x0012
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_X25 0x0013
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_ISDN 0x0014
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_RT 0x0015
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NSAP 0x0016
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NSAPPTR 0x0017
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_SIG 0x0018
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_KEY 0x0019
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_PX 0x001a
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_GPOS 0x001b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_AAAA 0x001c
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_LOC 0x001d
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NXT 0x001e
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_EID 0x001f
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NIMLOC 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_SRV 0x0021
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_ATMA 0x0022
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NAPTR 0x0023
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_KX 0x0024
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_CERT 0x0025
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_A6 0x0026
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_DNAME 0x0027
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_SINK 0x0028
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_OPT 0x0029
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_UINFO 0x0064
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_UID 0x0065
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_GID 0x0066
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_UNSPEC 0x0067
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_ADDRS 0x00f8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_TKEY 0x00f9
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_TSIG 0x00fa
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_IXFR 0x00fb
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_AXFR 0x00fc
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MAILB 0x00fd
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_MAILA 0x00fe
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_ALL 0x00ff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_ANY 0x00ff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_WINS 0xff01
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_WINSR 0xff02
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_STANDARD 0x00000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_USE_TCP_ONLY 0x00000002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_NO_RECURSION 0x00000004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_BYPASS_CACHE 0x00000008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_NO_WIRE_QUERY 0x00000010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_NO_LOCAL_NAME 0x00000020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_NO_HOSTS_FILE 0x00000040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_NO_NETBT 0x00000080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_WIRE_ONLY 0x00000100
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_RETURN_MESSAGE 0x00000200
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_TREAT_AS_FQDN 0x00001000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_QUERY_RESERVED 0xff000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DNS_NAME_FORMAT
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsNameDomain,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsNameDomainLabel,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsNameHostnameFull,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsNameHostnameLabel,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsNameWildcard,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsNameSrvRecord
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_NAME_FORMAT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DNS_FREE_TYPE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsFreeFlat,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsFreeRecordList,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsFreeParsedMessageFields
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_FREE_TYPE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DNS_CHARSET
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsCharSetUnknown,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsCharSetUnicode,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsCharSetUtf8,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsCharSetAnsi
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_CHARSET;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DNS_CONFIG_TYPE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigPrimaryDomainName_W,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigPrimaryDomainName_A,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigPrimaryDomainName_UTF8,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigAdapterDomainName_W,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigAdapterDomainName_A,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigAdapterDomainName_UTF8,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigDnsServerList,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigSearchList,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigAdapterInfo,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigPrimaryHostNameRegistrationEnabled,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigAdapterHostNameRegistrationEnabled,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigAddressRegistrationMaxCount,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigHostName_W,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigHostName_A,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigHostName_UTF8,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigFullHostName_W,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigFullHostName_A,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsConfigFullHostName_UTF8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_CONFIG_TYPE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _DnsSection
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsSectionQuestion,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsSectionAnswer,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsSectionAuthority,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DnsSectionAddtional /* Not a typo, as per Microsoft's headers */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SECTION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef LONG DNS_STATUS, *PDNS_STATUS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD IP4_ADDRESS, *PIP4_ADDRESS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD IP6Dword[4];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} IP6_ADDRESS, *PIP6_ADDRESS, DNS_IP6_ADDRESS, *PDNS_IP6_ADDRESS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SIZEOF_IP4_ADDRESS 4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IP4_ADDRESS_STRING_LENGTH 16
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IP6_ADDRESS_STRING_LENGTH 65
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_ADDRESS_STRING_LENGTH IP6_ADDRESS_STRING_LENGTH
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IP4_ADDRESS_STRING_BUFFER_LENGTH IP4_ADDRESS_STRING_LENGTH
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IP6_ADDRESS_STRING_BUFFER_LENGTH IP6_ADDRESS_STRING_LENGTH
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _IP4_ARRAY
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD AddrCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync IP4_ADDRESS AddrArray[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} IP4_ARRAY, *PIP4_ARRAY;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DNS_HEADER
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Xid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE RecursionDesired;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Truncation;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Authoritative;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Opcode;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE IsResponse;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE ResponseCode;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Reserved;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE RecursionAvailable;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD QuestionCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD AnswerCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD NameServerCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD AdditionalCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_HEADER, *PDNS_HEADER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DNS_MESSAGE_BUFFER
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_HEADER MessageHead;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CHAR MessageBody[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync IP4_ADDRESS IpAddress;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_A_DATA, *PDNS_A_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DnsRecordFlags
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Section :2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Delete :1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD CharSet :2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Unused :3;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Reserved :24;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_RECORD_FLAGS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNamePrimaryServer;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameAdministrator;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSerialNo;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwRefresh;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwRetry;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExpire;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwDefaultTtl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SOA_DATAA, *PDNS_SOA_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNamePrimaryServer;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameAdministrator;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSerialNo;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwRefresh;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwRetry;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExpire;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwDefaultTtl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SOA_DATAW, *PDNS_SOA_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_SOA_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_SOA_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameHost;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_PTR_DATAA, *PDNS_PTR_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameHost;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_PTR_DATAW, *PDNS_PTR_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_PTR_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_PTR_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameMailbox;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameErrorsMailbox;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_MINFO_DATAA, *PDNS_MINFO_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameMailbox;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameErrorsMailbox;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_MINFO_DATAW, *PDNS_MINFO_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_MINFO_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_MINFO_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameExchange;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wPreference;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Pad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_MX_DATAA, *PDNS_MX_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameExchange;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wPreference;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Pad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_MX_DATAW, *PDNS_MX_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_MX_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_MX_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwStringCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pStringArray[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_TXT_DATAA, *PDNS_TXT_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwStringCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pStringArray[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_TXT_DATAW, *PDNS_TXT_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_TXT_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_TXT_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwByteCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Data[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_NULL_DATA, *PDNS_NULL_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync IP4_ADDRESS IpAddress;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR chProtocol;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE BitMask[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_WKS_DATA, *PDNS_WKS_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_IP6_ADDRESS Ip6Address;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_AAAA_DATA, *PDNS_AAAA_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE chProtocol;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE chAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Key[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_KEY_DATA, *PDNS_KEY_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wHorPrec;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wVerPrec;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLatitude;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLongitude;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwAltitude;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_LOC_DATA, *PDNS_LOC_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameSigner;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wTypeCovered;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE chAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE chLabelCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwOriginalTtl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExpiration;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwTimeSigned;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wKeyTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Pad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Signature[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SIG_DATAA, *PDNS_SIG_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameSigner;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wTypeCovered;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE chAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE chLabelCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwOriginalTtl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExpiration;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwTimeSigned;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wKeyTag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Pad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Signature[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SIG_DATAW, *PDNS_SIG_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_SIG_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_SIG_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_ATMA_MAX_ADDR_LENGTH 20
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE AddressType;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_ATMA_DATA, *PDNS_ATMA_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameNext;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wNumTypes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wTypes[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_NXT_DATAA, *PDNS_NXT_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameNext;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wNumTypes;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wTypes[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_NXT_DATAW, *PDNS_NXT_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_NXT_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_NXT_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameTarget;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wPriority;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wWeight;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wPort;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Pad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SRV_DATAA, *PDNS_SRV_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameTarget;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wPriority;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wWeight;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wPort;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD Pad;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_SRV_DATAW, *PDNS_SRV_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_SRV_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_SRV_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pAlgorithmPacket;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pKey;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pOtherData;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCreateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExpireTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wMode;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wKeyLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wOtherLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR cAlgNameLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BOOL bPacketPointers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_TKEY_DATAA, *PDNS_TKEY_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pAlgorithmPacket;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pKey;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pOtherData;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCreateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExpireTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wMode;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wKeyLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wOtherLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR cAlgNameLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BOOL bPacketPointers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_TKEY_DATAW, *PDNS_TKEY_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_TKEY_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_TKEY_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pAlgorithmPacket;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pSignature;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pOtherData;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONGLONG i64CreateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wFudgeTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wOriginalXid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wSigLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wOtherLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR cAlgNameLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BOOL bPacketPointers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_TSIG_DATAA, *PDNS_TSIG_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameAlgorithm;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pAlgorithmPacket;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pSignature;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE pOtherData;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LONGLONG i64CreateTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wFudgeTime;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wOriginalXid;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wError;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wSigLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wOtherLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR cAlgNameLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BOOL bPacketPointers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_TSIG_DATAW, *PDNS_TSIG_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMappingFlag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLookupTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCacheTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cWinsServerCount;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync IP4_ADDRESS WinsServers[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_WINS_DATA, *PDNS_WINS_DATA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMappingFlag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLookupTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCacheTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pNameResultDomain;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_WINSR_DATAA, *PDNS_WINSR_DATAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMappingFlag;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwLookupTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCacheTimeout;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pNameResultDomain;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_WINSR_DATAW, *PDNS_WINSR_DATAW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DNS_WINSR_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(PDNS_WINSR_DATA)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DnsRecordA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync struct _DnsRecordA *pNext;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSTR pName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wType;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wDataLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD DW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_RECORD_FLAGS S;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } Flags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwTtl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwReserved;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_A_DATA A;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_SOA_DATAA SOA, Soa;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_PTR_DATAA PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb, MD, Md, MF, Mf, MG, Mg, MR, Mr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_MINFO_DATAA MINFO, Minfo, RP, Rp;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_MX_DATAA MX, Mx, AFSDB, Afsdb, RT, Rt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_TXT_DATAA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_NULL_DATA Null;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_WKS_DATA WKS, Wks;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_AAAA_DATA AAAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_KEY_DATA KEY, Key;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_SIG_DATAA SIG, Sig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_ATMA_DATA ATMA, Atma;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_NXT_DATAA NXT, Nxt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_SRV_DATAA SRV, Srv;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_TKEY_DATAA TKEY, Tkey;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_TSIG_DATAA TSIG, Tsig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_WINS_DATA WINS, Wins;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_WINSR_DATAA WINSR, WinsR, NBSTAT, Nbstat;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } Data;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_RECORDA, *PDNS_RECORDA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DnsRecordW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync struct _DnsRecordW *pNext;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PWSTR pName;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wType;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WORD wDataLength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD DW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_RECORD_FLAGS S;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } Flags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwTtl;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwReserved;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_A_DATA A;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_SOA_DATAW SOA, Soa;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_PTR_DATAW PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb, MD, Md, MF, Mf, MG, Mg, MR, Mr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_MINFO_DATAW MINFO, Minfo, RP, Rp;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_MX_DATAW MX, Mx, AFSDB, Afsdb, RT, Rt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_TXT_DATAW HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_NULL_DATA Null;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_WKS_DATA WKS, Wks;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_AAAA_DATA AAAA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_KEY_DATA KEY, Key;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_SIG_DATAW SIG, Sig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_ATMA_DATA ATMA, Atma;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_NXT_DATAW NXT, Nxt;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_SRV_DATAW SRV, Srv;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_TKEY_DATAW TKEY, Tkey;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_TSIG_DATAW TSIG, Tsig;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_WINS_DATA WINS, Wins;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DNS_WINSR_DATAW WINSR, WinsR, NBSTAT, Nbstat;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } Data;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_RECORDW, *PDNS_RECORDW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__WINESRC__) || defined(UNICODE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DNS_RECORDW DNS_RECORD;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef PDNS_RECORDW PDNS_RECORD;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DNS_RECORDA DNS_RECORD;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef PDNS_RECORDA PDNS_RECORD;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DnsRRSet
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDNS_RECORD pFirstRR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDNS_RECORD pLastRR;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DNS_RRSET, *PDNS_RRSET;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_RRSET_INIT( rrset ) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{ \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDNS_RRSET _prrset = &(rrset); \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync _prrset->pFirstRR = NULL; \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync _prrset->pLastRR = (PDNS_RECORD) &_prrset->pFirstRR; \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_RRSET_ADD( rrset, pnewRR ) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{ \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDNS_RRSET _prrset = &(rrset); \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDNS_RECORD _prrnew = (pnewRR); \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync _prrset->pLastRR->pNext = _prrnew; \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync _prrset->pLastRR = _prrnew; \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DNS_RRSET_TERMINATE( rrset ) \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{ \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDNS_RRSET _prrset = &(rrset); \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync _prrset->pLastRR->pNext = NULL; \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD,PVOID,PHANDLE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD,PVOID,PHANDLE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DnsAcquireContextHandle WINELIB_NAME_AW(DnsAcquireContextHandle_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORDW*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORDA*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncVOID WINAPI DnsFree(PVOID,DNS_FREE_TYPE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORDA,PDNS_RECORDA,DWORD,HANDLE,PVOID,PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORDW,PDNS_RECORDW,DWORD,HANDLE,PVOID,PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORDA,PDNS_RECORDA,DWORD,HANDLE,PVOID,PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DnsModifyRecordsInSet WINELIB_NAME_AW(DnsModifyRecordsInSet_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI DnsNameCompare_A(PCSTR,PCSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI DnsNameCompare_W(PCWSTR,PCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DnsNameCompare WINELIB_NAME_AW(DnsNameCompare_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsQuery_A(PCSTR,WORD,DWORD,PVOID,PDNS_RECORDA*,PVOID*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsQuery_W(PCWSTR,WORD,DWORD,PVOID,PDNS_RECORDW*,PVOID*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsQuery_UTF8(PCSTR,WORD,DWORD,PVOID,PDNS_RECORDA*,PVOID*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DnsQuery WINELIB_NAME_AW(DnsQuery_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE,DWORD,PCWSTR,PVOID,PVOID,PDWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI DnsRecordCompare(PDNS_RECORD,PDNS_RECORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncPDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncVOID WINAPI DnsRecordListFree(PDNS_RECORD,DNS_FREE_TYPE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI DnsRecordSetCompare(PDNS_RECORD,PDNS_RECORD,PDNS_RECORD*,PDNS_RECORD*);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncPDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncPDNS_RECORD WINAPI DnsRecordSetDetach(PDNS_RECORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncvoid WINAPI DnsReleaseContextHandle(HANDLE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORDA,DWORD,HANDLE,PVOID,PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORDW,DWORD,HANDLE,PVOID,PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORDA,DWORD,HANDLE,PVOID,PVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DnsReplaceRecordSet WINELIB_NAME_AW(DnsReplaceRecordSet)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsValidateName_A(PCSTR,DNS_NAME_FORMAT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsValidateName_W(PCWSTR, DNS_NAME_FORMAT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDNS_STATUS WINAPI DnsValidateName_UTF8(PCSTR,DNS_NAME_FORMAT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DnsValidateName WINELIB_NAME_AW(DnsValidateName_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,PDWORD,PCWSTR,WORD,WORD,BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,PDWORD,PCSTR,WORD,WORD,BOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif