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?r... ============================================================================== --- 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/dns... ============================================================================== --- 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