LIBRARY DNSAPI

EXPORTS

;
;  *** SDK -- windns.h
;

;
;  Update
;
DnsAcquireContextHandle_A
DnsAcquireContextHandle_W
DnsReleaseContextHandle

DnsModifyRecordsInSet_UTF8
DnsModifyRecordsInSet_A
DnsModifyRecordsInSet_W
DnsReplaceRecordSetUTF8
DnsReplaceRecordSetA
DnsReplaceRecordSetW

;
;  Query
;
DnsQuery_UTF8
DnsQuery_A
DnsQuery_W
DnsQueryExW
DnsQueryExA
DnsQueryExUTF8

;
;  Record utilities
;
DnsRecordCopyEx
DnsRecordSetCopyEx
DnsRecordCompare
DnsRecordSetCompare
DnsRecordSetDetach
DnsRecordListFree

;
;   Packet utilities
;
DnsWriteQuestionToBuffer_W
DnsWriteQuestionToBuffer_UTF8
DnsExtractRecordsFromMessage_W
DnsExtractRecordsFromMessage_UTF8

;
;   Names
;
DnsNameCompare_W
DnsNameCompare_A
DnsValidateName_UTF8
DnsValidateName_W
DnsValidateName_A

;
;  Config
;
DnsQueryConfig

;
;  General
;
DnsFree


;
;  *** System Public -- DnsApi.h
;

;
;  DHCP
;
DnsAsyncRegisterHostAddrs
DnsAsyncRegisterInit
DnsAsyncRegisterTerm
DnsRemoveRegistrations

DnsDhcpSrvRegisterInit
DnsDhcpSrvRegisterInitialize
DnsDhcpSrvRegisterTerm
DnsDhcpSrvRegisterHostName

;
;  Update
;
DnsUpdateTest_UTF8
DnsUpdateTest_A
DnsUpdateTest_W
DnsGetLastFailedUpdateInfo

;
;  Resolver
;
DnsNotifyResolver
DnsNotifyResolverEx
DnsRegisterClusterAddress
DnsFlushResolverCache
DnsFlushResolverCacheEntry_UTF8
DnsFlushResolverCacheEntry_A
DnsFlushResolverCacheEntry_W
DnsGetCacheDataTable

;
;  Names
;
DnsNameCompare_UTF8
DnsNameCompareEx_W
DnsNameCompareEx_A
DnsNameCompareEx_UTF8

;
;   ICS
;

Dns_BuildPacket
Dns_ParseMessage

;
;   Config
;

DnsQueryConfigAllocEx
DnsFreeConfigStructure
DnsQueryConfigDword
DnsSetConfigDword

;
;   Memory
;

DnsApiHeapReset
DnsApiAlloc
DnsApiRealloc
DnsApiFree

DnsApiSetDebugGlobals


;
;  *** Should NOT be System Public *** -- dnsapip.h
;


;
;  *** Private -- dnsapip.h
;
;  DCR:  Determine what routines should be system public.
;  Note:  lots of this is exposed in dnsapi.h currently.
;  Need to triage.
;

;
;  Test
;
DnsAddRecordSet_UTF8
DnsAddRecordSet_A
DnsAddRecordSet_W
DnsModifyRecordSet_UTF8
DnsModifyRecordSet_A
DnsModifyRecordSet_W
DnsUpdate

;  FAZ may be in netdiag also
DnsFindAuthoritativeZone


;
;  Netdiag
;

NetInfo_IsForUpdate


;
;  Resolver
;
;  query

Query_Main
CombineRecordsInBlob
BreakRecordsIntoBlob
GetRecordsForLocalName

Dns_OpenHostFile
Dns_CloseHostFile
Dns_ReadHostFileLine

;   config netinfo

DnsGlobals

Reg_ReadGlobalsEx
Dns_GetIpAddresses
Dns_InitQueryTimeouts

NetInfo_Copy
NetInfo_Free
NetInfo_Build
NetInfo_Clean
NetInfo_ResetServerPriorities

;   sockets

Dns_InitializeWinsock
Dns_CleanupWinsock
Dns_CacheSocketInit
Dns_CacheSocketCleanup
Dns_CreateSocket
Dns_CreateSocketEx
Dns_CreateMulticastSocket

Dns_UpdateLib
Dns_FindAuthoritativeZoneLib
Dns_PingAdapterServers
Dns_ResetNetworkInfo


;
;   Resolver (mcast)
;   ICS
;
Dns_AddRecordsToMessage
Dns_ReadPacketName
Dns_AllocateMsgBuf


;
;   dnsup.exe
;
QueryDirectEx
Dns_UpdateLibEx

;
;   dnslib.lib
;       -- mainly these let us keep security.c
;       in dnslib which saves memory as server
;       side used only in server
;
;   ICS also has some of this -- must clean up
;
Dns_CloseConnection
Dns_RecvTcp
Dns_OpenTcpConnectionAndSend
Dns_CloseSocket
Dns_SendEx
Dns_InitializeMsgRemoteSockaddr
Dns_SendAndRecvUdp
Dns_WriteRecordStructureToPacketEx
Dns_WriteDottedNameToPacket
Dns_SkipToRecord
Dns_SetRecordDatalength
Dns_ParsePacketRecord
Dns_ReadRecordStructureFromPacket
Dns_ReadPacketNameAllocate
Dns_GetRandomXid
Dns_WriteQuestionToMessage
Dns_SkipPacketName


;
;  Record utilities
;
DnsAllocateRecord
DnsRecordBuild_UTF8
DnsRecordBuild_W

;
;  General utilities
;
GetCurrentTimeInSeconds


;
;  REMOVE exports
;

;
;  General utilities
;       exposed in dnsapi.h -- should remove
;

DnsStatusString
DnsMapRcodeToStatus
DnsIsStatusRcode
DnsGetDomainName

DnsRecordTypeForName
DnsRecordStringForType
DnsRecordStringForWritableType
DnsIsStringCountValidForTextType
DnsIsAMailboxType

DnsUnicodeToUtf8
DnsDowncaseDnsNameLabel
DnsUtf8ToUnicode
DnsCreateStandardDnsNameCopy
DnsValidateUtf8Byte

DnsNameCopy
DnsNameCopyAllocate
DnsCreateStringCopy
DnsGetBufferLengthForStringCopy
DnsCopyStringEx
DnsStringCopyAllocateEx


;  should replace by exposed straddr routines
;       str-address could come from Rtl
;       reverse must come from us
;
;       (in dnsapi.h)
;
DnsWriteReverseNameStringForIpAddress
DnsCreateReverseNameStringForIpAddress

DnsIpv6StringToAddress
DnsIpv6AddressToString


;
;  remove all IP exports
;
;  Called by some DHCP routine
;       otherwise internal to dll
DnsGetIpAddressInfoList

;
;   DNS server (dns.exe)
;
Dns_GetLocalIpAddressArray

;
;  Network Info
;
DnsGetLocalAddrArray
DnsGetLocalAddrArrayDirect


;  old cluster routine
;       still in use \cluster\resdll\ipaddr\ipaddr.c

DnsNotifyResolverClusterIp


;
;       DEAD -- macro'd away
;

;
;       Somehow some net code is using these entry points and
;       ignoring the macros defining them in dnsapi.h
;

DnsGetPrimaryDomainName_A
DnsGetDnsServerList