windns.h revision b955672b950093ff7416d1269dd4d3b69983bd8f
/*
* DNS support
*
* Copyright (C) 2006 Matthew Kehrer
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Sun elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_WINDNS_H
#define __WINE_WINDNS_H
#ifdef __cplusplus
extern "C" {
#endif
#define DNS_TYPE_ZERO 0x0000
#define DNS_TYPE_A 0x0001
#define DNS_TYPE_NS 0x0002
#define DNS_TYPE_MD 0x0003
#define DNS_TYPE_MF 0x0004
#define DNS_TYPE_CNAME 0x0005
#define DNS_TYPE_SOA 0x0006
#define DNS_TYPE_MB 0x0007
#define DNS_TYPE_MG 0x0008
#define DNS_TYPE_MR 0x0009
#define DNS_TYPE_NULL 0x000a
#define DNS_TYPE_WKS 0x000b
#define DNS_TYPE_PTR 0x000c
#define DNS_TYPE_HINFO 0x000d
#define DNS_TYPE_MINFO 0x000e
#define DNS_TYPE_MX 0x000f
#define DNS_TYPE_TEXT 0x0010
#define DNS_TYPE_RP 0x0011
#define DNS_TYPE_AFSDB 0x0012
#define DNS_TYPE_X25 0x0013
#define DNS_TYPE_ISDN 0x0014
#define DNS_TYPE_RT 0x0015
#define DNS_TYPE_NSAP 0x0016
#define DNS_TYPE_NSAPPTR 0x0017
#define DNS_TYPE_SIG 0x0018
#define DNS_TYPE_KEY 0x0019
#define DNS_TYPE_PX 0x001a
#define DNS_TYPE_GPOS 0x001b
#define DNS_TYPE_AAAA 0x001c
#define DNS_TYPE_LOC 0x001d
#define DNS_TYPE_NXT 0x001e
#define DNS_TYPE_EID 0x001f
#define DNS_TYPE_NIMLOC 0x0020
#define DNS_TYPE_SRV 0x0021
#define DNS_TYPE_ATMA 0x0022
#define DNS_TYPE_NAPTR 0x0023
#define DNS_TYPE_KX 0x0024
#define DNS_TYPE_CERT 0x0025
#define DNS_TYPE_A6 0x0026
#define DNS_TYPE_DNAME 0x0027
#define DNS_TYPE_SINK 0x0028
#define DNS_TYPE_OPT 0x0029
#define DNS_TYPE_UINFO 0x0064
#define DNS_TYPE_UID 0x0065
#define DNS_TYPE_GID 0x0066
#define DNS_TYPE_UNSPEC 0x0067
#define DNS_TYPE_ADDRS 0x00f8
#define DNS_TYPE_TKEY 0x00f9
#define DNS_TYPE_TSIG 0x00fa
#define DNS_TYPE_IXFR 0x00fb
#define DNS_TYPE_AXFR 0x00fc
#define DNS_TYPE_MAILB 0x00fd
#define DNS_TYPE_MAILA 0x00fe
#define DNS_TYPE_ALL 0x00ff
#define DNS_TYPE_ANY 0x00ff
#define DNS_TYPE_WINS 0xff01
#define DNS_TYPE_WINSR 0xff02
#define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR)
#define DNS_QUERY_STANDARD 0x00000000
#define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001
#define DNS_QUERY_USE_TCP_ONLY 0x00000002
#define DNS_QUERY_NO_RECURSION 0x00000004
#define DNS_QUERY_BYPASS_CACHE 0x00000008
#define DNS_QUERY_NO_WIRE_QUERY 0x00000010
#define DNS_QUERY_NO_LOCAL_NAME 0x00000020
#define DNS_QUERY_NO_HOSTS_FILE 0x00000040
#define DNS_QUERY_NO_NETBT 0x00000080
#define DNS_QUERY_WIRE_ONLY 0x00000100
#define DNS_QUERY_RETURN_MESSAGE 0x00000200
#define DNS_QUERY_TREAT_AS_FQDN 0x00001000
#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000
#define DNS_QUERY_RESERVED 0xff000000
typedef enum _DNS_NAME_FORMAT
{
typedef enum _DNS_FREE_TYPE
{
typedef enum _DNS_CHARSET
{
} DNS_CHARSET;
typedef enum _DNS_CONFIG_TYPE
{
typedef enum _DnsSection
{
DnsSectionAddtional /* Not a typo, as per Microsoft's headers */
} DNS_SECTION;
typedef struct
{
#define SIZEOF_IP4_ADDRESS 4
#define IP4_ADDRESS_STRING_LENGTH 16
#define IP6_ADDRESS_STRING_LENGTH 65
typedef struct _IP4_ARRAY
{
} IP4_ARRAY, *PIP4_ARRAY;
typedef struct _DNS_HEADER
{
} DNS_HEADER, *PDNS_HEADER;
typedef struct _DNS_MESSAGE_BUFFER
{
typedef struct
{
} DNS_A_DATA, *PDNS_A_DATA;
typedef struct _DnsRecordFlags
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
#define DNS_ATMA_MAX_ADDR_LENGTH 20
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct
{
typedef struct _DnsRecordA
{
struct _DnsRecordA *pNext;
union
{
} Flags;
union
{
DNS_A_DATA A;
} Data;
} DNS_RECORDA, *PDNS_RECORDA;
typedef struct _DnsRecordW
{
struct _DnsRecordW *pNext;
union
{
} Flags;
union
{
DNS_A_DATA A;
} Data;
} DNS_RECORDW, *PDNS_RECORDW;
#if defined(__WINESRC__) || defined(UNICODE)
typedef DNS_RECORDW DNS_RECORD;
typedef PDNS_RECORDW PDNS_RECORD;
#else
typedef DNS_RECORDA DNS_RECORD;
typedef PDNS_RECORDA PDNS_RECORD;
#endif
typedef struct _DnsRRSet
{
} DNS_RRSET, *PDNS_RRSET;
#define DNS_RRSET_INIT( rrset ) \
{ \
}
{ \
}
#define DNS_RRSET_TERMINATE( rrset ) \
{ \
}
#ifdef __cplusplus
}
#endif
#endif