- Create KD branch. All debugging support is removed in this branch (no symbols,...
[reactos.git] / reactos / include / psdk / windns.h
1 #ifndef _WINDNS_H
2 #define _WINDNS_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #define DNS_QUERY_STANDARD 0x0
12 #define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x1
13 #define DNS_QUERY_USE_TCP_ONLY 0x2
14 #define DNS_QUERY_NO_RECURSION 0x4
15 #define DNS_QUERY_BYPASS_CACHE 0x8
16 #define DNS_QUERY_NO_WIRE_QUERY 0x10
17 #define DNS_QUERY_NO_LOCAL_NAME 0x20
18 #define DNS_QUERY_NO_HOSTS_FILE 0x40
19 #define DNS_QUERY_NO_NETBT 0x80
20 #define DNS_QUERY_TREAT_AS_FQDN 0x1000
21 #define DNS_QUERY_WIRE_ONLY 0x100
22 #define DNS_QUERY_RETURN_MESSAGE 0x200
23 #define DNS_QUERY_DONT_RESET_TTL_VALUES 0x100000
24 #define DNS_QUERY_RESERVED 0xff000000
25
26 #define DNS_UPDATE_SECURITY_USE_DEFAULT 0x0
27 #define DNS_UPDATE_SECURITY_OFF 0x10
28 #define DNS_UPDATE_SECURITY_ON 0x20
29 #define DNS_UPDATE_SECURITY_ONLY 0x100
30 #define DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x200
31 #define DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x400
32 #define DNS_UPDATE_FORCE_SECURITY_NEGO 0x800
33 #define DNS_UPDATE_RESERVED 0xffff0000
34
35 #ifndef RC_INVOKE
36 typedef DWORD IP4_ADDRESS;
37 typedef DWORD DNS_STATUS;
38 enum {
39 DNS_TYPE_A=1,
40 DNS_TYPE_NS,
41 DNS_TYPE_MD,
42 DNS_TYPE_MF,
43 DNS_TYPE_CNAME,
44 DNS_TYPE_SOA,
45 DNS_TYPE_MB,
46 DNS_TYPE_MG,
47 DNS_TYPE_MR,
48 DNS_TYPE_NULL,
49 DNS_TYPE_WKS,
50 DNS_TYPE_PTR,
51 DNS_TYPE_HINFO,
52 DNS_TYPE_MINFO,
53 DNS_TYPE_MX,
54 DNS_TYPE_TEXT,
55 DNS_TYPE_RP,
56 DNS_TYPE_AFSDB,
57 DNS_TYPE_X25,
58 DNS_TYPE_ISDN,
59 DNS_TYPE_RT,
60 DNS_TYPE_NSAP,
61 DNS_TYPE_NSAPPTR,
62 DNS_TYPE_SIG,
63 DNS_TYPE_KEY,
64 DNS_TYPE_PX,
65 DNS_TYPE_GPOS,
66 DNS_TYPE_AAAA,
67 DNS_TYPE_LOC,
68 DNS_TYPE_NXT,
69 DNS_TYPE_EID,
70 DNS_TYPE_NIMLOC,
71 DNS_TYPE_SRV,
72 DNS_TYPE_ATMA,
73 DNS_TYPE_NAPTR,
74 DNS_TYPE_KX,
75 DNS_TYPE_CERT,
76 DNS_TYPE_A6,
77 DNS_TYPE_DNAME,
78 DNS_TYPE_SINK,
79 DNS_TYPE_OPT,
80 DNS_TYPE_UINFO=100,
81 DNS_TYPE_UID,
82 DNS_TYPE_GID,
83 DNS_TYPE_UNSPEC,
84 DNS_TYPE_ADDRS=248,
85 DNS_TYPE_TKEY,
86 DNS_TYPE_TSIG,
87 DNS_TYPE_IXFR,
88 DNS_TYPE_AXFR,
89 DNS_TYPE_MAILB,
90 DNS_TYPE_MAILA,
91 DNS_TYPE_ALL,
92 DNS_TYPE_ANY=DNS_TYPE_ALL
93 };
94 typedef enum _DNS_CHARSET
95 {
96 DnsCharSetUnknown,
97 DnsCharSetUnicode,
98 DnsCharSetUtf8,
99 DnsCharSetAnsi
100 } DNS_CHARSET;
101 typedef enum
102 {
103 DnsConfigPrimaryDomainName_W,
104 DnsConfigPrimaryDomainName_A,
105 DnsConfigPrimaryDomainName_UTF8,
106 DnsConfigAdapterDomainName_W,
107 DnsConfigAdapterDomainName_A,
108 DnsConfigAdapterDomainName_UTF8,
109 DnsConfigDnsServerList,
110 DnsConfigSearchList,
111 DnsConfigAdapterInfo,
112 DnsConfigPrimaryHostNameRegistrationEnabled,
113 DnsConfigAdapterHostNameRegistrationEnabled,
114 DnsConfigAddressRegistrationMaxCount,
115 DnsConfigHostName_W,
116 DnsConfigHostName_A,
117 DnsConfigHostName_UTF8,
118 DnsConfigFullHostName_W,
119 DnsConfigFullHostName_A,
120 DnsConfigFullHostName_UTF8
121 } DNS_CONFIG_TYPE;
122 typedef enum
123 {
124 DnsFreeFlat = 0,
125 DnsFreeRecordList,
126 DnsFreeParsedMessageFields
127 } DNS_FREE_TYPE;
128 typedef enum _DNS_NAME_FORMAT
129 {
130 DnsNameDomain,
131 DnsNameDomainLabel,
132 DnsNameHostnameFull,
133 DnsNameHostnameLabel,
134 DnsNameWildcard,
135 DnsNameSrvRecord
136 } DNS_NAME_FORMAT;
137 typedef enum
138 {
139 DnsSectionQuestion,
140 DnsSectionAnswer,
141 DnsSectionAuthority,
142 DnsSectionAdditional
143 } DNS_SECTION;
144 typedef struct _IP4_ARRAY {
145 DWORD AddrCount;
146 IP4_ADDRESS AddrArray[1];
147 } IP4_ARRAY, *PIP4_ARRAY;
148 typedef struct {
149 DWORD IP6Dword[4];
150 } IP6_ADDRESS, *PIP6_ADDRESS, DNS_IP6_ADDRESS, *PDNS_IP6_ADDRESS;
151 typedef struct _DNS_HEADER {
152 WORD Xid;
153 BYTE RecursionDesired;
154 BYTE Truncation;
155 BYTE Authoritative;
156 BYTE Opcode;
157 BYTE IsResponse;
158 BYTE ResponseCode;
159 BYTE Reserved;
160 BYTE RecursionAvailable;
161 WORD QuestionCount;
162 WORD AnswerCount;
163 WORD NameServerCount;
164 WORD AdditionalCount;
165 } DNS_HEADER, *PDNS_HEADER;
166 typedef struct _DNS_MESSAGE_BUFFER {
167 DNS_HEADER MessageHead;
168 CHAR MessageBody[1];
169 } DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER;
170 typedef struct _DnsRecordFlags {
171 DWORD Section :2;
172 DWORD Delete :1;
173 DWORD CharSet :2;
174 DWORD Unused :3;
175 DWORD Reserved :24;
176 } DNS_RECORD_FLAGS;
177 typedef struct {
178 IP4_ADDRESS IpAddress;
179 } DNS_A_DATA, *PDNS_A_DATA;
180 typedef struct {
181 DNS_IP6_ADDRESS Ip6Address;
182 } DNS_AAAA_DATA, *PDNS_AAAA_DATA;
183 #define DNS_ATMA_MAX_ADDR_LENGTH 20
184 typedef struct {
185 BYTE AddressType;
186 BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH];
187 } DNS_ATMA_DATA, *PDNS_ATMA_DATA;
188 typedef struct {
189 WORD wFlags;
190 BYTE chProtocol;
191 BYTE chAlgorithm;
192 BYTE Key[1];
193 } DNS_KEY_DATA, *PDNS_KEY_DATA;
194 typedef struct {
195 WORD wVersion;
196 WORD wSize;
197 WORD wHorPrec;
198 WORD wVerPrec;
199 DWORD dwLatitude;
200 DWORD dwLongitude;
201 DWORD dwAltitude;
202 } DNS_LOC_DATA, *PDNS_LOC_DATA;
203 typedef struct {
204 LPSTR pNameMailbox;
205 LPSTR pNameErrorsMailbox;
206 } DNS_MINFO_DATAA, *PDNS_MINFO_DATAA;
207 typedef struct {
208 LPWSTR pNameMailbox;
209 LPWSTR pNameErrorsMailbox;
210 } DNS_MINFO_DATAW, *PDNS_MINFO_DATAW;
211 typedef struct {
212 LPSTR pNameExchange;
213 WORD wPreference;
214 WORD Pad;
215 } DNS_MX_DATAA, *PDNS_MX_DATAA;
216 typedef struct {
217 LPWSTR pNameExchange;
218 WORD wPreference;
219 WORD Pad;
220 } DNS_MX_DATAW, *PDNS_MX_DATAW;
221 typedef struct {
222 DWORD dwByteCount;
223 BYTE Data[1];
224 } DNS_NULL_DATA, *PDNS_NULL_DATA;
225 typedef struct {
226 LPSTR pNameNext;
227 WORD wNumTypes;
228 WORD wTypes[1];
229 } DNS_NXT_DATAA, *PDNS_NXT_DATAA;
230 typedef struct {
231 LPWSTR pNameNext;
232 WORD wNumTypes;
233 WORD wTypes[1];
234 } DNS_NXT_DATAW, *PDNS_NXT_DATAW;
235 typedef struct {
236 LPSTR pNameHost;
237 } DNS_PTR_DATAA, *PDNS_PTR_DATAA;
238 typedef struct {
239 LPWSTR pNameHost;
240 } DNS_PTR_DATAW, *PDNS_PTR_DATAW;
241 typedef struct {
242 LPSTR pNameSigner;
243 WORD wTypeCovered;
244 BYTE chAlgorithm;
245 BYTE chLabelCount;
246 DWORD dwOriginalTtl;
247 DWORD dwExpiration;
248 DWORD dwTimeSigned;
249 WORD wKeyTag;
250 WORD Pad;
251 BYTE Signature[1];
252 } DNS_SIG_DATAA, *PDNS_SIG_DATAA;
253 typedef struct {
254 LPWSTR pNameSigner;
255 WORD wTypeCovered;
256 BYTE chAlgorithm;
257 BYTE chLabelCount;
258 DWORD dwOriginalTtl;
259 DWORD dwExpiration;
260 DWORD dwTimeSigned;
261 WORD wKeyTag;
262 WORD Pad;
263 BYTE Signature[1];
264 } DNS_SIG_DATAW, *PDNS_SIG_DATAW;
265 typedef struct {
266 LPSTR pNamePrimaryServer;
267 LPSTR pNameAdministrator;
268 DWORD dwSerialNo;
269 DWORD dwRefresh;
270 DWORD dwRetry;
271 DWORD dwExpire;
272 DWORD dwDefaultTtl;
273 } DNS_SOA_DATAA, *PDNS_SOA_DATAA;
274 typedef struct {
275 LPWSTR pNamePrimaryServer;
276 LPWSTR pNameAdministrator;
277 DWORD dwSerialNo;
278 DWORD dwRefresh;
279 DWORD dwRetry;
280 DWORD dwExpire;
281 DWORD dwDefaultTtl;
282 } DNS_SOA_DATAW, *PDNS_SOA_DATAW;
283 typedef struct {
284 LPSTR pNameTarget;
285 WORD wPriority;
286 WORD wWeight;
287 WORD wPort;
288 WORD Pad;
289 } DNS_SRV_DATAA, *PDNS_SRV_DATAA;
290 typedef struct {
291 LPWSTR pNameTarget;
292 WORD wPriority;
293 WORD wWeight;
294 WORD wPort;
295 WORD Pad;
296 } DNS_SRV_DATAW, *PDNS_SRV_DATAW;
297 typedef struct {
298 DWORD dwStringCount;
299 LPSTR pStringArray[1];
300 } DNS_TXT_DATAA, *PDNS_TXT_DATAA;
301 typedef struct {
302 DWORD dwStringCount;
303 LPWSTR pStringArray[1];
304 } DNS_TXT_DATAW, *PDNS_TXT_DATAW;
305 typedef struct {
306 LPSTR pNameAlgorithm;
307 PBYTE pAlgorithmPacket;
308 PBYTE pKey;
309 PBYTE pOtherData;
310 DWORD dwCreateTime;
311 DWORD dwExpireTime;
312 WORD wMode;
313 WORD wError;
314 WORD wKeyLength;
315 WORD wOtherLength;
316 UCHAR cAlgNameLength;
317 BOOL bPacketPointers;
318 } DNS_TKEY_DATAA, *PDNS_TKEY_DATAA;
319 typedef struct {
320 LPWSTR pNameAlgorithm;
321 PBYTE pAlgorithmPacket;
322 PBYTE pKey;
323 PBYTE pOtherData;
324 DWORD dwCreateTime;
325 DWORD dwExpireTime;
326 WORD wMode;
327 WORD wError;
328 WORD wKeyLength;
329 WORD wOtherLength;
330 UCHAR cAlgNameLength;
331 BOOL bPacketPointers;
332 } DNS_TKEY_DATAW, *PDNS_TKEY_DATAW;
333 typedef struct {
334 LPSTR pNameAlgorithm;
335 PBYTE pAlgorithmPacket;
336 PBYTE pSignature;
337 PBYTE pOtherData;
338 LONGLONG i64CreateTime;
339 WORD wFudgeTime;
340 WORD wOriginalXid;
341 WORD wError;
342 WORD wSigLength;
343 WORD wOtherLength;
344 UCHAR cAlgNameLength;
345 BOOL bPacketPointers;
346 } DNS_TSIG_DATAA, *PDNS_TSIG_DATAA;
347 typedef struct {
348 LPWSTR pNameAlgorithm;
349 PBYTE pAlgorithmPacket;
350 PBYTE pSignature;
351 PBYTE pOtherData;
352 LONGLONG i64CreateTime;
353 WORD wFudgeTime;
354 WORD wOriginalXid;
355 WORD wError;
356 WORD wSigLength;
357 WORD wOtherLength;
358 UCHAR cAlgNameLength;
359 BOOL bPacketPointers;
360 } DNS_TSIG_DATAW, *PDNS_TSIG_DATAW;
361 typedef struct {
362 DWORD dwMappingFlag;
363 DWORD dwLookupTimeout;
364 DWORD dwCacheTimeout;
365 DWORD cWinsServerCount;
366 IP4_ADDRESS WinsServers[1];
367 } DNS_WINS_DATA, *PDNS_WINS_DATA;
368 typedef struct {
369 DWORD dwMappingFlag;
370 DWORD dwLookupTimeout;
371 DWORD dwCacheTimeout;
372 LPSTR pNameResultDomain;
373 } DNS_WINSR_DATAA, *PDNS_WINSR_DATAA;
374 typedef struct {
375 DWORD dwMappingFlag;
376 DWORD dwLookupTimeout;
377 DWORD dwCacheTimeout;
378 LPWSTR pNameResultDomain;
379 } DNS_WINSR_DATAW, *PDNS_WINSR_DATAW;
380 typedef struct _DNS_WIRE_QUESTION {
381 WORD QuestionType;
382 WORD QuestionClass;
383 } DNS_WIRE_QUESTION, *PDNS_WIRE_QUESTION;
384 typedef struct _DNS_WIRE_RECORD {
385 WORD RecordType;
386 WORD RecordClass;
387 DWORD TimeToLive;
388 WORD DataLength;
389 } DNS_WIRE_RECORD, *PDNS_WIRE_RECORD;
390 typedef struct {
391 IP4_ADDRESS IpAddress;
392 UCHAR chProtocol;
393 BYTE BitMask[1];
394 } DNS_WKS_DATA, *PDNS_WKS_DATA;
395 typedef struct _DnsRecordA {
396 struct _DnsRecordA* pNext;
397 LPSTR pName;
398 WORD wType;
399 WORD wDataLength;
400 union {
401 DWORD DW;
402 DNS_RECORD_FLAGS S;
403 } Flags;
404 DWORD dwTtl;
405 DWORD dwReserved;
406 union {
407 DNS_A_DATA A;
408 DNS_SOA_DATAA SOA, Soa;
409 DNS_PTR_DATAA PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb,
410 MD, Md, MF, Mf, MG, Mg, MR, Mr;
411 DNS_MINFO_DATAA MINFO, Minfo, RP, Rp;
412 DNS_MX_DATAA MX, Mx, AFSDB, Afsdb, RT, Rt;
413 DNS_TXT_DATAA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
414 DNS_NULL_DATA Null;
415 DNS_WKS_DATA WKS, Wks;
416 DNS_AAAA_DATA AAAA;
417 DNS_KEY_DATA KEY, Key;
418 DNS_SIG_DATAA SIG, Sig;
419 DNS_ATMA_DATA ATMA, Atma;
420 DNS_NXT_DATAA NXT, Nxt;
421 DNS_SRV_DATAA SRV, Srv;
422 DNS_TKEY_DATAA TKEY, Tkey;
423 DNS_TSIG_DATAA TSIG, Tsig;
424 DNS_WINS_DATA WINS, Wins;
425 DNS_WINSR_DATAA WINSR, WinsR, NBSTAT, Nbstat;
426 } Data;
427 } DNS_RECORDA, *PDNS_RECORDA;
428 typedef struct _DnsRecordW {
429 struct _DnsRecordW* pNext;
430 LPWSTR pName;
431 WORD wType;
432 WORD wDataLength;
433 union {
434 DWORD DW;
435 DNS_RECORD_FLAGS S;
436 } Flags;
437 DWORD dwTtl;
438 DWORD dwReserved;
439 union {
440 DNS_A_DATA A;
441 DNS_SOA_DATAW SOA, Soa;
442 DNS_PTR_DATAW PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb,
443 MD, Md, MF, Mf, MG, Mg, MR, Mr;
444 DNS_MINFO_DATAW MINFO, Minfo, RP, Rp;
445 DNS_MX_DATAW MX, Mx, AFSDB, Afsdb, RT, Rt;
446 DNS_TXT_DATAW HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
447 DNS_NULL_DATA Null;
448 DNS_WKS_DATA WKS, Wks;
449 DNS_AAAA_DATA AAAA;
450 DNS_KEY_DATA KEY, Key;
451 DNS_SIG_DATAW SIG, Sig;
452 DNS_ATMA_DATA ATMA, Atma;
453 DNS_NXT_DATAW NXT, Nxt;
454 DNS_SRV_DATAW SRV, Srv;
455 DNS_TKEY_DATAW TKEY, Tkey;
456 DNS_TSIG_DATAW TSIG, Tsig;
457 DNS_WINS_DATA WINS, Wins;
458 DNS_WINSR_DATAW WINSR, WinsR, NBSTAT, Nbstat;
459 } Data;
460 } DNS_RECORDW, *PDNS_RECORDW;
461
462 #ifdef UNICODE
463 #define DNS_RECORD DNS_RECORDW
464 #define PDNS_RECORD PDNS_RECORDW
465 #else
466 #define DNS_RECORD DNS_RECORDA
467 #define PDNS_RECORD PDNS_RECORDA
468 #endif
469
470 typedef struct _DnsRRSet {
471 PDNS_RECORD pFirstRR;
472 PDNS_RECORD pLastRR;
473 } DNS_RRSET, *PDNS_RRSET;
474
475 DNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD,PVOID,HANDLE*);
476 DNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD,PVOID,HANDLE*);
477 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
478 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
479 DNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
480 DNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
481 DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
482 BOOL WINAPI DnsNameCompare_A(LPSTR,LPSTR);
483 BOOL WINAPI DnsNameCompare_W(LPWSTR,LPWSTR);
484 DNS_STATUS WINAPI DnsQuery_A(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
485 DNS_STATUS WINAPI DnsQuery_W(PCWSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
486 DNS_STATUS WINAPI DnsQuery_UTF8(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
487 DNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE,DWORD,PWSTR,PVOID,PVOID,PDWORD);
488 BOOL WINAPI DnsRecordCompare(PDNS_RECORD,PDNS_RECORD);
489 PDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
490 void WINAPI DnsRecordListFree(PDNS_RECORD,DNS_FREE_TYPE);
491 BOOL WINAPI DnsRecordSetCompare(PDNS_RECORD,PDNS_RECORD,PDNS_RECORD*,PDNS_RECORD*);
492 PDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
493 PDNS_RECORD WINAPI DnsRecordSetDetach(PDNS_RECORD);
494 void WINAPI DnsReleaseContextHandle(HANDLE);
495 DNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
496 DNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
497 DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
498 DNS_STATUS WINAPI DnsValidateName_A(LPCSTR,DNS_NAME_FORMAT);
499 DNS_STATUS WINAPI DnsValidateName_W(LPCWSTR, DNS_NAME_FORMAT);
500 DNS_STATUS WINAPI DnsValidateName_UTF8(LPCSTR,DNS_NAME_FORMAT);
501 BOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,LPDWORD,LPWSTR,WORD,WORD,BOOL);
502 BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,LPDWORD,LPSTR,WORD,WORD,BOOL);
503
504 #ifdef UNICODE
505 #define DNS_MINFO_DATA DNS_MINFO_DATAW
506 #define PDNS_MINFO_DATA PDNS_MINFO_DATAW
507 #define DNS_MX_DATA DNS_MX_DATAW
508 #define PDNS_MX_DATA PDNS_MX_DATAW
509 #define DNS_NXT_DATA DNS_NXT_DATAW
510 #define PDNS_NXT_DATA PDNS_NXT_DATAW
511 #define DNS_PTR_DATA DNS_PTR_DATAW
512 #define PDNS_PTR_DATA PDNS_PTR_DATAW
513 #define DNS_SIG_DATA DNS_SIG_DATAW
514 #define PDNS_SIG_DATA PDNS_SIG_DATAW
515 #define DNS_SOA_DATA DNS_SOA_DATAW
516 #define PDNS_SOA_DATA PDNS_SOA_DATAW
517 #define DNS_TXT_DATA DNS_TXT_DATAW
518 #define PDNS_TXT_DATA PDNS_TXT_DATAW
519 #define DNS_TKEY_DATA DNS_TKEY_DATAW
520 #define PDNS_TKEY_DATA PDNS_TKEY_DATAW
521 #define DNS_WINSR_DATA DNS_WINSR_DATAW
522 #define PDNS_WINSR_DATA PDNS_WINSR_DATAW
523 #define DnsAcquireContextHandle DnsAcquireContextHandle_W
524 #define DnsModifyRecordsInSet DnsModifyRecordsInSet_W
525 #define DnsNameCompare DnsNameCompare_W
526 #define DnsQuery DnsQuery_W
527 #define DnsReplaceRecordSet DnsReplaceRecordSetW
528 #define DnsValidateName DnsValidateName_W
529 #else
530 #define DNS_MINFO_DATA DNS_MINFO_DATAA
531 #define PDNS_MINFO_DATA PDNS_MINFO_DATAA
532 #define DNS_MX_DATA DNS_MX_DATAA
533 #define PDNS_MX_DATA PDNS_MX_DATAA
534 #define DNS_NXT_DATA DNS_NXT_DATAA
535 #define PDNS_NXT_DATA PDNS_NXT_DATAA
536 #define DNS_PTR_DATA DNS_PTR_DATAA
537 #define PDNS_PTR_DATA PDNS_PTR_DATAA
538 #define DNS_SIG_DATA DNS_SIG_DATAA
539 #define PDNS_SIG_DATA PDNS_SIG_DATAA
540 #define DNS_SOA_DATA DNS_SOA_DATAA
541 #define PDNS_SOA_DATA PDNS_SOA_DATAA
542 #define DNS_TXT_DATA DNS_TXT_DATAA
543 #define PDNS_TXT_DATA PDNS_TXT_DATAA
544 #define DNS_TKEY_DATA DNS_TKEY_DATAA
545 #define PDNS_TKEY_DATA PDNS_TKEY_DATAA
546 #define DNS_WINSR_DATA DNS_WINSR_DATAA
547 #define PDNS_WINSR_DATA PDNS_WINSR_DATAA
548 #define DnsAcquireContextHandle DnsAcquireContextHandle_A
549 #define DnsModifyRecordsInSet DnsModifyRecordsInSet_A
550 #define DnsNameCompare DnsNameCompare_A
551 #define DnsQuery DnsQuery_A
552 #define DnsReplaceRecordSet DnsReplaceRecordSetA
553 #define DnsValidateName DnsValidateName_A
554 #endif
555
556 #endif /* RC_INVOKED */
557
558 #ifdef __cplusplus
559 }
560 #endif
561
562 #endif /* _WINDNS_H */