ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

windns.h
Go to the documentation of this file.
00001 #ifndef _WINDNS_H
00002 #define _WINDNS_H
00003 
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007 
00008 #define DNS_QUERY_STANDARD 0x0
00009 #define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x1
00010 #define DNS_QUERY_USE_TCP_ONLY 0x2
00011 #define DNS_QUERY_NO_RECURSION 0x4
00012 #define DNS_QUERY_BYPASS_CACHE 0x8
00013 #define DNS_QUERY_NO_WIRE_QUERY 0x10
00014 #define DNS_QUERY_NO_LOCAL_NAME 0x20
00015 #define DNS_QUERY_NO_HOSTS_FILE 0x40
00016 #define DNS_QUERY_NO_NETBT 0x80
00017 #define DNS_QUERY_TREAT_AS_FQDN 0x1000
00018 #define DNS_QUERY_WIRE_ONLY 0x100
00019 #define DNS_QUERY_RETURN_MESSAGE 0x200
00020 #define DNS_QUERY_DONT_RESET_TTL_VALUES 0x100000
00021 #define DNS_QUERY_RESERVED 0xff000000
00022 
00023 #define DNS_UPDATE_SECURITY_USE_DEFAULT 0x0
00024 #define DNS_UPDATE_SECURITY_OFF 0x10
00025 #define DNS_UPDATE_SECURITY_ON 0x20
00026 #define DNS_UPDATE_SECURITY_ONLY 0x100
00027 #define DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x200
00028 #define DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x400
00029 #define DNS_UPDATE_FORCE_SECURITY_NEGO 0x800
00030 #define DNS_UPDATE_RESERVED 0xffff0000
00031 
00032 #define DNS_CONFIG_FLAG_ALLOC TRUE
00033 
00034 #ifndef RC_INVOKE
00035 typedef DWORD IP4_ADDRESS;
00036 typedef DWORD DNS_STATUS;
00037 #define DNS_TYPE_ZERO       0x0000
00038 
00039 #define DNS_TYPE_A          0x0001
00040 #define DNS_TYPE_NS         0x0002
00041 #define DNS_TYPE_MD         0x0003
00042 #define DNS_TYPE_MF         0x0004
00043 #define DNS_TYPE_CNAME      0x0005
00044 #define DNS_TYPE_SOA        0x0006
00045 #define DNS_TYPE_MB         0x0007
00046 #define DNS_TYPE_MG         0x0008
00047 #define DNS_TYPE_MR         0x0009
00048 #define DNS_TYPE_NULL       0x000a
00049 #define DNS_TYPE_WKS        0x000b
00050 #define DNS_TYPE_PTR        0x000c
00051 #define DNS_TYPE_HINFO      0x000d
00052 #define DNS_TYPE_MINFO      0x000e
00053 #define DNS_TYPE_MX         0x000f
00054 #define DNS_TYPE_TEXT       0x0010
00055 #define DNS_TYPE_RP         0x0011
00056 #define DNS_TYPE_AFSDB      0x0012
00057 #define DNS_TYPE_X25        0x0013
00058 #define DNS_TYPE_ISDN       0x0014
00059 #define DNS_TYPE_RT         0x0015
00060 #define DNS_TYPE_NSAP       0x0016
00061 #define DNS_TYPE_NSAPPTR    0x0017
00062 #define DNS_TYPE_SIG        0x0018
00063 #define DNS_TYPE_KEY        0x0019
00064 #define DNS_TYPE_PX         0x001a
00065 #define DNS_TYPE_GPOS       0x001b
00066 #define DNS_TYPE_AAAA       0x001c
00067 #define DNS_TYPE_LOC        0x001d
00068 #define DNS_TYPE_NXT        0x001e
00069 #define DNS_TYPE_EID        0x001f
00070 #define DNS_TYPE_NIMLOC     0x0020
00071 #define DNS_TYPE_SRV        0x0021
00072 #define DNS_TYPE_ATMA       0x0022
00073 #define DNS_TYPE_NAPTR      0x0023
00074 #define DNS_TYPE_KX         0x0024
00075 #define DNS_TYPE_CERT       0x0025
00076 #define DNS_TYPE_A6         0x0026
00077 #define DNS_TYPE_DNAME      0x0027
00078 #define DNS_TYPE_SINK       0x0028
00079 #define DNS_TYPE_OPT        0x0029
00080 #define DNS_TYPE_UINFO      0x0064
00081 #define DNS_TYPE_UID        0x0065
00082 #define DNS_TYPE_GID        0x0066
00083 #define DNS_TYPE_UNSPEC     0x0067
00084 #define DNS_TYPE_ADDRS      0x00f8
00085 #define DNS_TYPE_TKEY       0x00f9
00086 #define DNS_TYPE_TSIG       0x00fa
00087 #define DNS_TYPE_IXFR       0x00fb
00088 #define DNS_TYPE_AXFR       0x00fc
00089 #define DNS_TYPE_MAILB      0x00fd
00090 #define DNS_TYPE_MAILA      0x00fe
00091 #define DNS_TYPE_ALL        0x00ff
00092 #define DNS_TYPE_ANY        0x00ff
00093 
00094 #define DNS_TYPE_WINS       0xff01
00095 #define DNS_TYPE_WINSR      0xff02
00096 #define DNS_TYPE_NBSTAT     (DNS_TYPE_WINSR)
00097 
00098 typedef enum _DNS_CHARSET
00099 {
00100     DnsCharSetUnknown,
00101     DnsCharSetUnicode,
00102     DnsCharSetUtf8,
00103     DnsCharSetAnsi
00104 } DNS_CHARSET;
00105 typedef enum
00106 {
00107     DnsConfigPrimaryDomainName_W,
00108     DnsConfigPrimaryDomainName_A,
00109     DnsConfigPrimaryDomainName_UTF8,
00110     DnsConfigAdapterDomainName_W,
00111     DnsConfigAdapterDomainName_A,
00112     DnsConfigAdapterDomainName_UTF8,
00113     DnsConfigDnsServerList,
00114     DnsConfigSearchList,
00115     DnsConfigAdapterInfo,
00116     DnsConfigPrimaryHostNameRegistrationEnabled,
00117     DnsConfigAdapterHostNameRegistrationEnabled,
00118     DnsConfigAddressRegistrationMaxCount,
00119     DnsConfigHostName_W,
00120     DnsConfigHostName_A,
00121     DnsConfigHostName_UTF8,
00122     DnsConfigFullHostName_W,
00123     DnsConfigFullHostName_A,
00124     DnsConfigFullHostName_UTF8
00125 } DNS_CONFIG_TYPE;
00126 typedef enum
00127 {
00128     DnsFreeFlat = 0,
00129     DnsFreeRecordList,
00130     DnsFreeParsedMessageFields
00131 } DNS_FREE_TYPE;
00132 typedef enum _DNS_NAME_FORMAT
00133 {
00134     DnsNameDomain,
00135     DnsNameDomainLabel,
00136     DnsNameHostnameFull,
00137     DnsNameHostnameLabel,
00138     DnsNameWildcard,
00139     DnsNameSrvRecord
00140 } DNS_NAME_FORMAT;
00141 typedef enum
00142 {
00143     DnsSectionQuestion,
00144     DnsSectionAnswer,
00145     DnsSectionAuthority,
00146     DnsSectionAdditional
00147 } DNS_SECTION;
00148 typedef struct _IP4_ARRAY {
00149     DWORD AddrCount;
00150     IP4_ADDRESS AddrArray[1];
00151 } IP4_ARRAY, *PIP4_ARRAY;
00152 typedef struct {
00153     DWORD IP6Dword[4];
00154 } IP6_ADDRESS, *PIP6_ADDRESS, DNS_IP6_ADDRESS, *PDNS_IP6_ADDRESS;
00155 typedef struct _DNS_HEADER {
00156     WORD Xid;
00157     BYTE RecursionDesired;
00158     BYTE Truncation;
00159     BYTE Authoritative;
00160     BYTE Opcode;
00161     BYTE IsResponse;
00162     BYTE ResponseCode;
00163     BYTE Reserved;
00164     BYTE RecursionAvailable;
00165     WORD QuestionCount;
00166     WORD AnswerCount;
00167     WORD NameServerCount;
00168     WORD AdditionalCount;
00169 } DNS_HEADER, *PDNS_HEADER;
00170 typedef struct _DNS_MESSAGE_BUFFER {
00171     DNS_HEADER MessageHead;
00172     CHAR MessageBody[1];
00173 } DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER;
00174 typedef struct _DnsRecordFlags {
00175     DWORD Section   :2;
00176     DWORD Delete    :1;
00177     DWORD CharSet   :2;
00178     DWORD Unused    :3;
00179     DWORD Reserved  :24;
00180 } DNS_RECORD_FLAGS;
00181 #define DNSREC_QUESTION 0
00182 #define DNSREC_ANSWER 1
00183 #define DNSREC_AUTHORITY 2
00184 #define DNSREC_ADDITIONAL 3
00185 typedef struct {
00186     IP4_ADDRESS IpAddress;
00187 } DNS_A_DATA, *PDNS_A_DATA;
00188 typedef struct {
00189     DNS_IP6_ADDRESS Ip6Address;
00190 } DNS_AAAA_DATA, *PDNS_AAAA_DATA;
00191 #define DNS_ATMA_MAX_ADDR_LENGTH 20
00192 typedef struct {
00193     BYTE AddressType;
00194     BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH];
00195 } DNS_ATMA_DATA, *PDNS_ATMA_DATA;
00196 typedef struct {
00197     WORD wFlags;
00198     BYTE chProtocol;
00199     BYTE chAlgorithm;
00200     BYTE Key[1];
00201 } DNS_KEY_DATA, *PDNS_KEY_DATA;
00202 typedef struct {
00203     WORD wVersion;
00204     WORD wSize;
00205     WORD wHorPrec;
00206     WORD wVerPrec;
00207     DWORD dwLatitude;
00208     DWORD dwLongitude;
00209     DWORD dwAltitude;
00210 } DNS_LOC_DATA, *PDNS_LOC_DATA;
00211 typedef struct {
00212     LPSTR pNameMailbox;
00213     LPSTR pNameErrorsMailbox;
00214 } DNS_MINFO_DATAA, *PDNS_MINFO_DATAA;
00215 typedef struct {
00216     LPWSTR pNameMailbox;
00217     LPWSTR pNameErrorsMailbox;
00218 } DNS_MINFO_DATAW, *PDNS_MINFO_DATAW;
00219 typedef struct {
00220     LPSTR pNameExchange;
00221     WORD wPreference;
00222     WORD Pad;
00223 } DNS_MX_DATAA, *PDNS_MX_DATAA;
00224 typedef struct {
00225     LPWSTR pNameExchange;
00226     WORD wPreference;
00227     WORD Pad;
00228 } DNS_MX_DATAW, *PDNS_MX_DATAW;
00229 typedef struct {
00230     DWORD dwByteCount;
00231     BYTE Data[1];
00232 } DNS_NULL_DATA, *PDNS_NULL_DATA;
00233 typedef struct {
00234     LPSTR pNameNext;
00235     WORD wNumTypes;
00236     WORD wTypes[1];
00237 } DNS_NXT_DATAA, *PDNS_NXT_DATAA;
00238 typedef struct {
00239     LPWSTR pNameNext;
00240     WORD wNumTypes;
00241     WORD wTypes[1];
00242 } DNS_NXT_DATAW, *PDNS_NXT_DATAW;
00243 typedef struct {
00244     LPSTR pNameHost;
00245 } DNS_PTR_DATAA, *PDNS_PTR_DATAA;
00246 typedef struct {
00247     LPWSTR pNameHost;
00248 } DNS_PTR_DATAW, *PDNS_PTR_DATAW;
00249 typedef struct {
00250     LPSTR pNameSigner;
00251     WORD wTypeCovered;
00252     BYTE chAlgorithm;
00253     BYTE chLabelCount;
00254     DWORD dwOriginalTtl;
00255     DWORD dwExpiration;
00256     DWORD dwTimeSigned;
00257     WORD wKeyTag;
00258     WORD Pad;
00259     BYTE Signature[1];
00260 } DNS_SIG_DATAA, *PDNS_SIG_DATAA;
00261 typedef struct {
00262     LPWSTR pNameSigner;
00263     WORD wTypeCovered;
00264     BYTE chAlgorithm;
00265     BYTE chLabelCount;
00266     DWORD dwOriginalTtl;
00267     DWORD dwExpiration;
00268     DWORD dwTimeSigned;
00269     WORD wKeyTag;
00270     WORD Pad;
00271     BYTE Signature[1];
00272 } DNS_SIG_DATAW, *PDNS_SIG_DATAW;
00273 typedef struct {
00274     LPSTR pNamePrimaryServer;
00275     LPSTR pNameAdministrator;
00276     DWORD dwSerialNo;
00277     DWORD dwRefresh;
00278     DWORD dwRetry;
00279     DWORD dwExpire;
00280     DWORD dwDefaultTtl;
00281 } DNS_SOA_DATAA, *PDNS_SOA_DATAA;
00282 typedef struct {
00283     LPWSTR pNamePrimaryServer;
00284     LPWSTR pNameAdministrator;
00285     DWORD dwSerialNo;
00286     DWORD dwRefresh;
00287     DWORD dwRetry;
00288     DWORD dwExpire;
00289     DWORD dwDefaultTtl;
00290 } DNS_SOA_DATAW, *PDNS_SOA_DATAW;
00291 typedef struct {
00292     LPSTR pNameTarget;
00293     WORD wPriority;
00294     WORD wWeight;
00295     WORD wPort;
00296     WORD Pad;
00297 } DNS_SRV_DATAA, *PDNS_SRV_DATAA;
00298 typedef struct {
00299     LPWSTR pNameTarget;
00300     WORD wPriority;
00301     WORD wWeight;
00302     WORD wPort;
00303     WORD Pad;
00304 } DNS_SRV_DATAW, *PDNS_SRV_DATAW;
00305 typedef struct {
00306     DWORD dwStringCount;
00307     LPSTR pStringArray[1];
00308 } DNS_TXT_DATAA, *PDNS_TXT_DATAA;
00309 typedef struct {
00310     DWORD dwStringCount;
00311     LPWSTR pStringArray[1];
00312 } DNS_TXT_DATAW, *PDNS_TXT_DATAW;
00313 typedef struct {
00314     LPSTR pNameAlgorithm;
00315     PBYTE pAlgorithmPacket;
00316     PBYTE pKey;
00317     PBYTE pOtherData;
00318     DWORD dwCreateTime;
00319     DWORD dwExpireTime;
00320     WORD wMode;
00321     WORD wError;
00322     WORD wKeyLength;
00323     WORD wOtherLength;
00324     UCHAR cAlgNameLength;
00325     BOOL bPacketPointers;
00326 } DNS_TKEY_DATAA, *PDNS_TKEY_DATAA;
00327 typedef struct {
00328     LPWSTR pNameAlgorithm;
00329     PBYTE pAlgorithmPacket;
00330     PBYTE pKey;
00331     PBYTE pOtherData;
00332     DWORD dwCreateTime;
00333     DWORD dwExpireTime;
00334     WORD wMode;
00335     WORD wError;
00336     WORD wKeyLength;
00337     WORD wOtherLength;
00338     UCHAR cAlgNameLength;
00339     BOOL bPacketPointers;
00340 } DNS_TKEY_DATAW, *PDNS_TKEY_DATAW;
00341 typedef struct {
00342     LPSTR pNameAlgorithm;
00343     PBYTE pAlgorithmPacket;
00344     PBYTE pSignature;
00345     PBYTE pOtherData;
00346     LONGLONG i64CreateTime;
00347     WORD wFudgeTime;
00348     WORD wOriginalXid;
00349     WORD wError;
00350     WORD wSigLength;
00351     WORD wOtherLength;
00352     UCHAR cAlgNameLength;
00353     BOOL bPacketPointers;
00354 } DNS_TSIG_DATAA, *PDNS_TSIG_DATAA;
00355 typedef struct {
00356     LPWSTR pNameAlgorithm;
00357     PBYTE pAlgorithmPacket;
00358     PBYTE pSignature;
00359     PBYTE pOtherData;
00360     LONGLONG i64CreateTime;
00361     WORD wFudgeTime;
00362     WORD wOriginalXid;
00363     WORD wError;
00364     WORD wSigLength;
00365     WORD wOtherLength;
00366     UCHAR cAlgNameLength;
00367     BOOL bPacketPointers;
00368 } DNS_TSIG_DATAW, *PDNS_TSIG_DATAW;
00369 typedef struct {
00370     DWORD dwMappingFlag;
00371     DWORD dwLookupTimeout;
00372     DWORD dwCacheTimeout;
00373     DWORD cWinsServerCount;
00374     IP4_ADDRESS WinsServers[1];
00375 } DNS_WINS_DATA, *PDNS_WINS_DATA;
00376 typedef struct {
00377     DWORD dwMappingFlag;
00378     DWORD dwLookupTimeout;
00379     DWORD dwCacheTimeout;
00380     LPSTR pNameResultDomain;
00381 } DNS_WINSR_DATAA, *PDNS_WINSR_DATAA;
00382 typedef struct {
00383     DWORD dwMappingFlag;
00384     DWORD dwLookupTimeout;
00385     DWORD dwCacheTimeout;
00386     LPWSTR pNameResultDomain;
00387 } DNS_WINSR_DATAW, *PDNS_WINSR_DATAW;
00388 typedef struct _DNS_WIRE_QUESTION {
00389     WORD QuestionType;
00390     WORD QuestionClass;
00391 } DNS_WIRE_QUESTION, *PDNS_WIRE_QUESTION;
00392 typedef struct _DNS_WIRE_RECORD {
00393     WORD RecordType;
00394     WORD RecordClass;
00395     DWORD TimeToLive;
00396     WORD DataLength;
00397 } DNS_WIRE_RECORD, *PDNS_WIRE_RECORD;
00398 typedef struct {
00399     IP4_ADDRESS IpAddress;
00400     UCHAR chProtocol;
00401     BYTE BitMask[1];
00402 } DNS_WKS_DATA, *PDNS_WKS_DATA;
00403 typedef struct _DnsRecordA {
00404     struct _DnsRecordA* pNext;
00405     LPSTR pName;
00406     WORD wType;
00407     WORD wDataLength;
00408     union {
00409         DWORD DW;
00410         DNS_RECORD_FLAGS S;
00411     } Flags;
00412     DWORD dwTtl;
00413     DWORD dwReserved;
00414     union {
00415         DNS_A_DATA A;
00416         DNS_SOA_DATAA SOA, Soa;
00417         DNS_PTR_DATAA PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb,
00418                   MD, Md, MF, Mf, MG, Mg, MR, Mr;
00419         DNS_MINFO_DATAA MINFO, Minfo, RP, Rp;
00420         DNS_MX_DATAA MX, Mx, AFSDB, Afsdb, RT, Rt;
00421         DNS_TXT_DATAA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
00422         DNS_NULL_DATA Null;
00423         DNS_WKS_DATA WKS, Wks;
00424         DNS_AAAA_DATA AAAA;
00425         DNS_KEY_DATA KEY, Key;
00426         DNS_SIG_DATAA SIG, Sig;
00427         DNS_ATMA_DATA ATMA, Atma;
00428         DNS_NXT_DATAA NXT, Nxt;
00429         DNS_SRV_DATAA SRV, Srv;
00430         DNS_TKEY_DATAA TKEY, Tkey;
00431         DNS_TSIG_DATAA TSIG, Tsig;
00432         DNS_WINS_DATA WINS, Wins;
00433         DNS_WINSR_DATAA WINSR, WinsR, NBSTAT, Nbstat;
00434     } Data;
00435 } DNS_RECORDA, *PDNS_RECORDA;
00436 typedef struct _DnsRecordW {
00437     struct _DnsRecordW* pNext;
00438     LPWSTR pName;
00439     WORD wType;
00440     WORD wDataLength;
00441     union {
00442         DWORD DW;
00443         DNS_RECORD_FLAGS S;
00444     } Flags;
00445     DWORD dwTtl;
00446     DWORD dwReserved;
00447     union {
00448         DNS_A_DATA A;
00449         DNS_SOA_DATAW SOA, Soa;
00450         DNS_PTR_DATAW PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb,
00451                   MD, Md, MF, Mf, MG, Mg, MR, Mr;
00452         DNS_MINFO_DATAW MINFO, Minfo, RP, Rp;
00453         DNS_MX_DATAW MX, Mx, AFSDB, Afsdb, RT, Rt;
00454         DNS_TXT_DATAW HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
00455         DNS_NULL_DATA Null;
00456         DNS_WKS_DATA WKS, Wks;
00457         DNS_AAAA_DATA AAAA;
00458         DNS_KEY_DATA KEY, Key;
00459         DNS_SIG_DATAW SIG, Sig;
00460         DNS_ATMA_DATA ATMA, Atma;
00461         DNS_NXT_DATAW NXT, Nxt;
00462         DNS_SRV_DATAW SRV, Srv;
00463         DNS_TKEY_DATAW TKEY, Tkey;
00464         DNS_TSIG_DATAW TSIG, Tsig;
00465         DNS_WINS_DATA WINS, Wins;
00466         DNS_WINSR_DATAW WINSR, WinsR, NBSTAT, Nbstat;
00467     } Data;
00468 } DNS_RECORDW, *PDNS_RECORDW;
00469 
00470 #ifdef UNICODE
00471 #define DNS_RECORD DNS_RECORDW
00472 #define PDNS_RECORD PDNS_RECORDW
00473 #else
00474 #define DNS_RECORD DNS_RECORDA
00475 #define PDNS_RECORD PDNS_RECORDA
00476 #endif
00477 
00478 typedef struct _DnsRRSet {
00479     PDNS_RECORD pFirstRR;
00480     PDNS_RECORD pLastRR;
00481 } DNS_RRSET, *PDNS_RRSET;
00482 
00483 #define DNS_RRSET_INIT( rrset )                          \
00484 {                                                        \
00485     PDNS_RRSET  _prrset = &(rrset);                      \
00486     _prrset->pFirstRR = NULL;                            \
00487     _prrset->pLastRR = (PDNS_RECORD) &_prrset->pFirstRR; \
00488 }
00489 
00490 #define DNS_RRSET_ADD( rrset, pnewRR ) \
00491 {                                      \
00492     PDNS_RRSET  _prrset = &(rrset);    \
00493     PDNS_RECORD _prrnew = (pnewRR);    \
00494     _prrset->pLastRR->pNext = _prrnew; \
00495     _prrset->pLastRR = _prrnew;        \
00496 }
00497 
00498 #define DNS_RRSET_TERMINATE( rrset ) \
00499 {                                    \
00500     PDNS_RRSET  _prrset = &(rrset);  \
00501     _prrset->pLastRR->pNext = NULL;  \
00502 }
00503 
00504 DNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD,PVOID,HANDLE*);
00505 DNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD,PVOID,HANDLE*);
00506 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
00507 DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
00508 DNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
00509 DNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
00510 DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
00511 BOOL WINAPI DnsNameCompare_A(PCSTR,PCSTR);
00512 BOOL WINAPI DnsNameCompare_W(PCWSTR,PCWSTR);
00513 DNS_STATUS WINAPI DnsQuery_A(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
00514 DNS_STATUS WINAPI DnsQuery_W(PCWSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
00515 DNS_STATUS WINAPI DnsQuery_UTF8(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
00516 DNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE,DWORD,PWSTR,PVOID,PVOID,PDWORD);
00517 BOOL WINAPI DnsRecordCompare(PDNS_RECORD,PDNS_RECORD);
00518 PDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
00519 void WINAPI DnsRecordListFree(PDNS_RECORD,DNS_FREE_TYPE);
00520 BOOL WINAPI DnsRecordSetCompare(PDNS_RECORD,PDNS_RECORD,PDNS_RECORD*,PDNS_RECORD*);
00521 PDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
00522 PDNS_RECORD WINAPI DnsRecordSetDetach(PDNS_RECORD);
00523 void WINAPI DnsReleaseContextHandle(HANDLE);
00524 DNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
00525 DNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
00526 DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
00527 DNS_STATUS WINAPI DnsValidateName_A(LPCSTR,DNS_NAME_FORMAT);
00528 DNS_STATUS WINAPI DnsValidateName_W(LPCWSTR, DNS_NAME_FORMAT);
00529 DNS_STATUS WINAPI DnsValidateName_UTF8(LPCSTR,DNS_NAME_FORMAT);
00530 BOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,LPDWORD,LPWSTR,WORD,WORD,BOOL);
00531 BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,LPDWORD,LPSTR,WORD,WORD,BOOL);
00532 
00533 #ifdef UNICODE
00534 #define DNS_MINFO_DATA DNS_MINFO_DATAW
00535 #define PDNS_MINFO_DATA PDNS_MINFO_DATAW
00536 #define DNS_MX_DATA DNS_MX_DATAW
00537 #define PDNS_MX_DATA PDNS_MX_DATAW
00538 #define DNS_NXT_DATA DNS_NXT_DATAW
00539 #define PDNS_NXT_DATA PDNS_NXT_DATAW
00540 #define DNS_PTR_DATA DNS_PTR_DATAW
00541 #define PDNS_PTR_DATA PDNS_PTR_DATAW
00542 #define DNS_SIG_DATA DNS_SIG_DATAW
00543 #define PDNS_SIG_DATA PDNS_SIG_DATAW
00544 #define DNS_SOA_DATA DNS_SOA_DATAW
00545 #define PDNS_SOA_DATA PDNS_SOA_DATAW
00546 #define DNS_TXT_DATA DNS_TXT_DATAW
00547 #define PDNS_TXT_DATA PDNS_TXT_DATAW
00548 #define DNS_TKEY_DATA DNS_TKEY_DATAW
00549 #define PDNS_TKEY_DATA PDNS_TKEY_DATAW
00550 #define DNS_WINSR_DATA DNS_WINSR_DATAW
00551 #define PDNS_WINSR_DATA PDNS_WINSR_DATAW
00552 #define DnsAcquireContextHandle DnsAcquireContextHandle_W
00553 #define DnsModifyRecordsInSet DnsModifyRecordsInSet_W
00554 #define DnsNameCompare DnsNameCompare_W
00555 #define DnsQuery DnsQuery_W
00556 #define DnsReplaceRecordSet DnsReplaceRecordSetW
00557 #define DnsValidateName DnsValidateName_W
00558 #else
00559 #define DNS_MINFO_DATA DNS_MINFO_DATAA
00560 #define PDNS_MINFO_DATA PDNS_MINFO_DATAA
00561 #define DNS_MX_DATA DNS_MX_DATAA
00562 #define PDNS_MX_DATA PDNS_MX_DATAA
00563 #define DNS_NXT_DATA DNS_NXT_DATAA
00564 #define PDNS_NXT_DATA PDNS_NXT_DATAA
00565 #define DNS_PTR_DATA DNS_PTR_DATAA
00566 #define PDNS_PTR_DATA PDNS_PTR_DATAA
00567 #define DNS_SIG_DATA DNS_SIG_DATAA
00568 #define PDNS_SIG_DATA PDNS_SIG_DATAA
00569 #define DNS_SOA_DATA DNS_SOA_DATAA
00570 #define PDNS_SOA_DATA PDNS_SOA_DATAA
00571 #define DNS_TXT_DATA DNS_TXT_DATAA
00572 #define PDNS_TXT_DATA PDNS_TXT_DATAA
00573 #define DNS_TKEY_DATA DNS_TKEY_DATAA
00574 #define PDNS_TKEY_DATA PDNS_TKEY_DATAA
00575 #define DNS_WINSR_DATA DNS_WINSR_DATAA
00576 #define PDNS_WINSR_DATA PDNS_WINSR_DATAA
00577 #define DnsAcquireContextHandle DnsAcquireContextHandle_A
00578 #define DnsModifyRecordsInSet DnsModifyRecordsInSet_A
00579 #define DnsNameCompare DnsNameCompare_A
00580 #define DnsQuery DnsQuery_A
00581 #define DnsReplaceRecordSet DnsReplaceRecordSetA
00582 #define DnsValidateName DnsValidateName_A
00583 #endif
00584 
00585 #endif /* RC_INVOKED */
00586 
00587 #ifdef __cplusplus
00588 }
00589 #endif
00590 
00591 #endif /* _WINDNS_H */

Generated on Sun May 27 2012 04:23:31 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.