Author: cwittich
Date: Tue Nov 8 12:27:55 2016
New Revision: 73174
URL:
http://svn.reactos.org/svn/reactos?rev=73174&view=rev
Log:
[PSDK] add some missing DNS structures, add incomplete dnsrslvr.idl
Added:
trunk/reactos/sdk/include/reactos/idl/dnsrslvr.idl (with props)
Modified:
trunk/reactos/sdk/include/psdk/windns.h
Modified: trunk/reactos/sdk/include/psdk/windns.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/psdk/windns.h?…
==============================================================================
--- trunk/reactos/sdk/include/psdk/windns.h [iso-8859-1] (original)
+++ trunk/reactos/sdk/include/psdk/windns.h [iso-8859-1] Tue Nov 8 12:27:55 2016
@@ -104,6 +104,8 @@
#define DNS_ATMA_MAX_ADDR_LENGTH 20
+#define DNS_ADDR_MAX_SOCKADDR_LENGTH 32
+
typedef enum _DNS_CHARSET {
DnsCharSetUnknown,
DnsCharSetUnicode,
@@ -165,6 +167,36 @@
#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 @@
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 @@
#define PDNS_RECORD PDNS_RECORDA
#endif
+#endif
+
typedef struct _DnsRRSet {
PDNS_RECORD pFirstRR;
PDNS_RECORD pLastRR;
@@ -547,6 +663,9 @@
_prrset->pLastRR->pNext = NULL; \
}
+#ifndef __WIDL__
+// HACK
+
DNS_STATUS
WINAPI
DnsAcquireContextHandle_A(
@@ -608,14 +727,14 @@
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 @@
_In_ WORD wType,
_In_ WORD Xid,
_In_ BOOL fRecursionDesired);
+#endif
#ifdef UNICODE
Added: trunk/reactos/sdk/include/reactos/idl/dnsrslvr.idl
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/reactos/idl/dn…
==============================================================================
--- trunk/reactos/sdk/include/reactos/idl/dnsrslvr.idl (added)
+++ trunk/reactos/sdk/include/reactos/idl/dnsrslvr.idl [iso-8859-1] Tue Nov 8 12:27:55
2016
@@ -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 */
+
+}
Propchange: trunk/reactos/sdk/include/reactos/idl/dnsrslvr.idl
------------------------------------------------------------------------------
svn:eol-style = native