mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 04:13:35 +00:00
[PSDK] add some missing DNS structures, add incomplete dnsrslvr.idl
svn path=/trunk/; revision=73174
This commit is contained in:
@@ -104,6 +104,8 @@ typedef _Return_type_success_(return == 0) DWORD DNS_STATUS;
|
||||
|
||||
#define DNS_ATMA_MAX_ADDR_LENGTH 20
|
||||
|
||||
#define DNS_ADDR_MAX_SOCKADDR_LENGTH 32
|
||||
|
||||
typedef enum _DNS_CHARSET {
|
||||
DnsCharSetUnknown,
|
||||
DnsCharSetUnicode,
|
||||
@@ -165,6 +167,36 @@ typedef struct {
|
||||
|
||||
#pragma pack(push, 1)
|
||||
|
||||
typedef struct _DnsAddr
|
||||
{
|
||||
CHAR MaxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH];
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
DWORD DnsAddrUserDword[8];
|
||||
#else
|
||||
union {
|
||||
DWORD DnsAddrUserDword[8];
|
||||
} Data;
|
||||
#endif
|
||||
} DNS_ADDR, *PDNS_ADDR;
|
||||
|
||||
typedef struct _DnsAddrArray
|
||||
{
|
||||
DWORD MaxCount;
|
||||
DWORD AddrCount;
|
||||
DWORD Tag;
|
||||
WORD Family;
|
||||
WORD WordReserved;
|
||||
DWORD Flags;
|
||||
DWORD MatchFlag;
|
||||
DWORD Reserved1;
|
||||
DWORD Reserved2;
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
[size_is(AddrCount)] DNS_ADDR AddrArray[];
|
||||
#else
|
||||
DNS_ADDR AddrArray[1];
|
||||
#endif
|
||||
} DNS_ADDR_ARRAY, *PDNS_ADDR_ARRAY;
|
||||
|
||||
typedef struct _DNS_HEADER {
|
||||
WORD Xid;
|
||||
BYTE RecursionDesired:1;
|
||||
@@ -447,6 +479,88 @@ typedef struct {
|
||||
BYTE BitMask[1];
|
||||
} DNS_WKS_DATA, *PDNS_WKS_DATA;
|
||||
|
||||
typedef struct {
|
||||
WORD wKeyTag;
|
||||
BYTE chAlgorithm;
|
||||
BYTE chDigestType;
|
||||
WORD wDigestLength;
|
||||
WORD wPad;
|
||||
BYTE Digest[1];
|
||||
} DNS_DS_DATA;
|
||||
|
||||
typedef struct {
|
||||
LPWSTR pNextDomainName;
|
||||
WORD wTypeBitMapsLength;
|
||||
WORD wPad;
|
||||
BYTE TypeBitMaps[1];
|
||||
} DNS_NSEC_DATAW;
|
||||
|
||||
typedef struct {
|
||||
WORD wFlags;
|
||||
BYTE chProtocol;
|
||||
BYTE chAlgorithm;
|
||||
WORD wKeyLength;
|
||||
WORD wPad;
|
||||
BYTE Key[1];
|
||||
} DNS_DNSKEY_DATA;
|
||||
|
||||
typedef struct {
|
||||
WORD wDataLength;
|
||||
WORD wPad;
|
||||
BYTE Data[1];
|
||||
} DNS_OPT_DATA;
|
||||
|
||||
typedef struct {
|
||||
WORD wTypeCovered;
|
||||
BYTE chAlgorithm;
|
||||
BYTE chLabelCount;
|
||||
DWORD dwOriginalTtl;
|
||||
DWORD dwExpiration;
|
||||
DWORD dwTimeSigned;
|
||||
WORD wKeyTag;
|
||||
WORD Pad;
|
||||
LPWSTR pNameSigner;
|
||||
BYTE Signature[1];
|
||||
} DNS_RRSIG_DATAW;
|
||||
|
||||
#if defined(__midl) || defined(__WIDL__)
|
||||
typedef [switch_type(unsigned short )] union DNS_DATAW {
|
||||
[case(1)] DNS_A_DATA A;
|
||||
[case(6)] DNS_SOA_DATAW SOA;
|
||||
[case(12)] DNS_PTR_DATAW PTR;
|
||||
[case(2)] DNS_PTR_DATAW NS;
|
||||
[case(5)] DNS_PTR_DATAW CNAME;
|
||||
[case(7)] DNS_PTR_DATAW MB;
|
||||
[case(3)] DNS_PTR_DATAW MD;
|
||||
[case(4)] DNS_PTR_DATAW MF;
|
||||
[case(8)] DNS_PTR_DATAW MG;
|
||||
[case(9)] DNS_PTR_DATAW MR;
|
||||
[case(14)] DNS_MINFO_DATAW MINFO;
|
||||
[case(17)] DNS_MINFO_DATAW RP;
|
||||
[case(15)] DNS_MX_DATAW MX;
|
||||
[case(18)] DNS_MX_DATAW AFSDB;
|
||||
[case(21)] DNS_MX_DATAW RT;
|
||||
[case(28)] DNS_AAAA_DATA AAAA;
|
||||
[case(33)] DNS_SRV_DATAW SRV;
|
||||
[case(34)] DNS_ATMA_DATA ATMA;
|
||||
[case(43)] DNS_DS_DATA DS;
|
||||
[case(46)] DNS_RRSIG_DATAW RRSIG;
|
||||
[case(47)] DNS_NSEC_DATAW NSEC;
|
||||
[case(48)] DNS_DNSKEY_DATA DNSKEY;
|
||||
[case(41)] DNS_OPT_DATA OPT;
|
||||
} DNS_DATAW;
|
||||
|
||||
typedef struct _DnsRecordW {
|
||||
[unique]struct _DnsRecordW *pNext;
|
||||
[unique][string] LPWSTR pName;
|
||||
WORD wType;
|
||||
WORD wDataLength;
|
||||
DWORD Flags;
|
||||
DWORD dwTtl;
|
||||
DWORD dwReserved;
|
||||
[switch_is(wType)] DNS_DATAW Data;
|
||||
} _DnsRecordW;
|
||||
#else
|
||||
typedef struct _DnsRecordA {
|
||||
struct _DnsRecordA* pNext;
|
||||
LPSTR pName;
|
||||
@@ -521,6 +635,8 @@ typedef struct _DnsRecordW {
|
||||
#define PDNS_RECORD PDNS_RECORDA
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct _DnsRRSet {
|
||||
PDNS_RECORD pFirstRR;
|
||||
PDNS_RECORD pLastRR;
|
||||
@@ -547,6 +663,9 @@ typedef struct _DnsRRSet {
|
||||
_prrset->pLastRR->pNext = NULL; \
|
||||
}
|
||||
|
||||
#ifndef __WIDL__
|
||||
// HACK
|
||||
|
||||
DNS_STATUS
|
||||
WINAPI
|
||||
DnsAcquireContextHandle_A(
|
||||
@@ -608,14 +727,14 @@ DnsModifyRecordsInSet_UTF8(
|
||||
BOOL
|
||||
WINAPI
|
||||
DnsNameCompare_A(
|
||||
_In_ PCSTR,
|
||||
_In_ PCSTR);
|
||||
_In_ PCSTR pszName1,
|
||||
_In_ PCSTR pszName2);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
DnsNameCompare_W(
|
||||
_In_ PCWSTR,
|
||||
_In_ PCWSTR);
|
||||
_In_ PCWSTR pszwName1,
|
||||
_In_ PCWSTR pszwName2);
|
||||
|
||||
DNS_STATUS
|
||||
WINAPI
|
||||
@@ -765,6 +884,7 @@ DnsWriteQuestionToBuffer_UTF8(
|
||||
_In_ WORD wType,
|
||||
_In_ WORD Xid,
|
||||
_In_ BOOL fRecursionDesired);
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* DNS Resolver Service interface definition
|
||||
*/
|
||||
|
||||
#include <ms-dtyp.idl>
|
||||
#include <sal.h>
|
||||
#include <windns.h>
|
||||
|
||||
typedef [handle, string] LPWSTR DNSRSLVR_HANDLE;
|
||||
|
||||
[
|
||||
uuid(45776b01-5956-4485-9f80-f428f7d60129),
|
||||
version(2.0),
|
||||
pointer_default(unique)
|
||||
#ifndef __midl
|
||||
,explicit_handle
|
||||
#endif
|
||||
]
|
||||
|
||||
interface DnsResolver
|
||||
{
|
||||
/* Function: 0x00 */
|
||||
/* CRrReadCache */
|
||||
|
||||
/* Function: 0x01 */
|
||||
/* CRrReadCacheEntry */
|
||||
|
||||
/* Function: 0x02 */
|
||||
/* CRrGetHashTableStats */
|
||||
|
||||
/* Function: 0x03 */
|
||||
/* R_ResolverGetConfig */
|
||||
|
||||
/* Function: 0x04 */
|
||||
DWORD R_ResolverFlushCache(
|
||||
[in][unique][string] DNSRSLVR_HANDLE pwszServerName);
|
||||
|
||||
/* Function: 0x05 */
|
||||
/* R_ResolverFlushCacheEntry */
|
||||
|
||||
/* Function: 0x06 */
|
||||
/* R_ResolverRegisterCluster */
|
||||
|
||||
/* Function: 0x07 */
|
||||
DWORD R_ResolverQuery(
|
||||
[in][unique][string] DNSRSLVR_HANDLE pwszServerName,
|
||||
[in][unique][string] LPCWSTR pwsName,
|
||||
[in] WORD wType,
|
||||
[in] DWORD Flags,
|
||||
[in][out] DWORD *dwRecords,
|
||||
[out][ref] _DnsRecordW** ppResultRecords);
|
||||
|
||||
/* Function: 0x08 */
|
||||
/* R_ResolverEnumCache */
|
||||
|
||||
/* Function: 0x09 */
|
||||
/* R_ResolverPoke */
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user