windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/logonsrv/server/nldns.h
2020-09-26 16:20:57 +08:00

135 lines
2.3 KiB
C

/*++
Copyright (c) 1996-1997 Microsoft Corporation
Module Name:
nldns.h
Abstract:
Header for routines to register DNS names.
Author:
Cliff Van Dyke (CliffV) 28-May-1996
Revision History:
--*/
//
// Log file of all names registered in DNS
//
#define NL_DNS_LOG_FILE L"\\system32\\config\\netlogon.dns"
#define NL_DNS_BINARY_LOG_FILE L"\\system32\\config\\netlogon.dnb"
// NL_MAX_DNS_LENGTH for each DNS name plus some slop
#define NL_DNS_RECORD_STRING_SIZE (NL_MAX_DNS_LENGTH*3+30 + 1)
#define NL_DNS_A_RR_VALUE_1 " IN A "
#define NL_DNS_CNAME_RR_VALUE_1 " IN CNAME "
#define NL_DNS_SRV_RR_VALUE_1 " IN SRV "
#define NL_DNS_RR_EOL "\r\n"
//
// Registry key where private data is stored across boots
//
// (This key does NOT have a change notify registered.)
//
#define NL_PRIVATE_KEY "SYSTEM\\CurrentControlSet\\Services\\Netlogon\\Private"
//
// Procedure Forwards for dns.c
//
HKEY
NlOpenNetlogonKey(
LPSTR KeyName
);
NET_API_STATUS
NlGetConfiguredDnsDomainName(
OUT LPWSTR *DnsDomainName
);
NET_API_STATUS
NlDnsInitialize(
VOID
);
VOID
NlDnsScavenge(
IN LPVOID ScavengerParam
);
VOID
NlDnsPnp(
BOOL TransportChanged
);
BOOLEAN
NlDnsHasDnsServers(
VOID
);
NTSTATUS
NlDnsNtdsDsaDeletion (
IN LPWSTR DnsDomainName,
IN GUID *DomainGuid,
IN GUID *DsaGuid,
IN LPWSTR DnsHostName
);
BOOL
NlDnsCheckLastStatus(
VOID
);
//
// Flags for NlDnsRegisterDomain(OnPnp)
//
#define NL_DNSPNP_SITECOV_CHANGE_ONLY 0x01 // Register only if site coverage changes
#define NL_DNSPNP_FORCE_REREGISTER 0x02 // Force re-registration of all previously registered records
NET_API_STATUS
NlDnsRegisterDomain(
IN PDOMAIN_INFO DomainInfo,
IN ULONG Flags
);
NET_API_STATUS
NlDnsRegisterDomainOnPnp(
IN PDOMAIN_INFO DomainInfo,
IN PULONG Flags
);
VOID
NlDnsShutdown(
VOID
);
NET_API_STATUS
NlSetDnsForestName(
PUNICODE_STRING DnsForestName OPTIONAL,
PBOOLEAN DnsForestNameChanged OPTIONAL
);
VOID
NlCaptureDnsForestName(
OUT WCHAR DnsForestName[NL_MAX_DNS_LENGTH+1]
);
BOOL
NlDnsSetAvoidRegisterNameParam(
IN LPTSTR_ARRAY NewDnsAvoidRegisterRecords
);
BOOL
NetpEqualTStrArrays(
LPTSTR_ARRAY TStrArray1 OPTIONAL,
LPTSTR_ARRAY TStrArray2 OPTIONAL
);