mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
4.9 KiB
228 lines
4.9 KiB
/*++
|
|
|
|
Copyright (c) 1987-1992 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
lsrvdata.h
|
|
|
|
Abstract:
|
|
|
|
Netlogon service global variable external and definitions
|
|
|
|
Author:
|
|
|
|
Ported from Lan Man 2.0
|
|
|
|
Revision History:
|
|
|
|
21-May-1991 (cliffv)
|
|
Ported to NT. Converted to NT style.
|
|
|
|
02-Jan-1992 (madana)
|
|
added support for builtin/multidomain replication.
|
|
07-May-1992 JohnRo
|
|
Use net config helpers for NetLogon.
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _LSRVDATA_
|
|
#define _LSRVDATA_
|
|
|
|
|
|
//
|
|
// netlogon.c will #include this file with LSRVDATA_ALLOCATE defined.
|
|
// That will cause each of these variables to be allocated.
|
|
//
|
|
#ifdef LSRVDATA_ALLOCATE
|
|
#define EXTERN
|
|
#else
|
|
#define EXTERN extern
|
|
#endif
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Modifiable Variables: these variables change over time.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
// Global NetStatus of the Netlogon service
|
|
//
|
|
|
|
EXTERN SERVICE_STATUS NlGlobalServiceStatus;
|
|
EXTERN SERVICE_STATUS_HANDLE NlGlobalServiceHandle;
|
|
|
|
//
|
|
// The server name of the current PDC.
|
|
//
|
|
|
|
EXTERN CHAR NlGlobalAnsiPrimaryName[CNLEN+1];
|
|
EXTERN WCHAR NlGlobalUncPrimaryName[UNCLEN+1];
|
|
EXTERN LPWSTR NlGlobalUnicodePrimaryName;
|
|
|
|
//
|
|
// Global SAM Modes.
|
|
//
|
|
// We track these values as SAM tells us that they have changed.
|
|
//
|
|
|
|
EXTERN BOOLEAN NlGlobalUasCompatibilityMode;
|
|
|
|
//
|
|
// Boolean so that we only warn the user once about having too many global
|
|
// groups.
|
|
|
|
EXTERN BOOLEAN NlGlobalTooManyGlobalGroups;
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Read-only variables after initialization.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//
|
|
// Handle to wait on for mailslot reads
|
|
//
|
|
|
|
EXTERN HANDLE NlGlobalMailslotHandle;
|
|
|
|
//
|
|
// Flag to indicate when RPC has been started
|
|
//
|
|
|
|
EXTERN BOOL NlGlobalRpcServerStarted;
|
|
|
|
//
|
|
// Service Termination event.
|
|
//
|
|
|
|
EXTERN HANDLE NlGlobalTerminateEvent;
|
|
EXTERN BOOL NlGlobalTerminate;
|
|
EXTERN HANDLE NlGlobalReplicatorTerminateEvent;
|
|
|
|
//
|
|
// Service Started Event
|
|
//
|
|
|
|
EXTERN HANDLE NlGlobalStartedEvent;
|
|
|
|
//
|
|
// Timers need attention event.
|
|
//
|
|
|
|
EXTERN HANDLE NlGlobalTimerEvent;
|
|
|
|
|
|
|
|
//
|
|
// The computername of the local system.
|
|
//
|
|
|
|
EXTERN LPSTR NlGlobalAnsiComputerName;
|
|
EXTERN LPWSTR NlGlobalUnicodeComputerName;
|
|
EXTERN WCHAR NlGlobalUncUnicodeComputerName[UNCLEN + 1];
|
|
EXTERN UNICODE_STRING NlGlobalUnicodeComputerNameString;
|
|
|
|
//
|
|
// Primary Domain Information:
|
|
//
|
|
// The Domain Name is maintained in Ansi and Unicode.
|
|
//
|
|
EXTERN LPSTR NlGlobalAnsiDomainName;
|
|
EXTERN WCHAR NlGlobalUnicodeDomainName[DNLEN+1];
|
|
EXTERN UNICODE_STRING NlGlobalUnicodeDomainNameString;
|
|
EXTERN PSID NlGlobalPrimaryDomainId;
|
|
|
|
|
|
//
|
|
// Account Domain Information
|
|
//
|
|
EXTERN UNICODE_STRING NlGlobalAccountDomainName;
|
|
|
|
//
|
|
// Global DB Info array
|
|
//
|
|
EXTERN DB_INFO NlGlobalDBInfoArray[NUM_DBS];
|
|
|
|
|
|
|
|
EXTERN SAMPR_HANDLE NlGlobalSamServerHandle; // Handle to Sam Server database
|
|
EXTERN LSAPR_HANDLE NlGlobalPolicyHandle; // Handle to Policy Database
|
|
|
|
typedef enum _NETLOGON_ROLE {
|
|
RolePrimary = 1,
|
|
RoleBackup,
|
|
RoleMemberWorkstation
|
|
} NETLOGON_ROLE, * PNETLOGON_ROLE;
|
|
|
|
EXTERN NETLOGON_ROLE NlGlobalRole;
|
|
|
|
|
|
EXTERN WCHAR NlGlobalUnicodeScriptPath[PATHLEN + 1];
|
|
|
|
|
|
//
|
|
// Command line arguments.
|
|
//
|
|
|
|
EXTERN ULONG NlGlobalPulseParameter;
|
|
EXTERN ULONG NlGlobalPulseMaximumParameter;
|
|
EXTERN ULONG NlGlobalPulseConcurrencyParameter;
|
|
EXTERN ULONG NlGlobalPulseTimeout1Parameter;
|
|
EXTERN ULONG NlGlobalPulseTimeout2Parameter;
|
|
EXTERN ULONG NlGlobalGovernorParameter;
|
|
EXTERN BOOL NlGlobalDisablePasswordChangeParameter;
|
|
EXTERN BOOL NlGlobalRefusePasswordChangeParameter;
|
|
EXTERN ULONG NlGlobalRandomizeParameter;
|
|
EXTERN BOOL NlGlobalSynchronizeParameter;
|
|
EXTERN ULONG NlGlobalMaximumMailslotMessagesParameter;
|
|
EXTERN ULONG NlGlobalMailslotMessageTimeoutParameter;
|
|
EXTERN ULONG NlGlobalMailslotDuplicateTimeoutParameter;
|
|
EXTERN ULONG NlGlobalExpectedDialupDelayParameter;
|
|
EXTERN ULONG NlGlobalScavengeIntervalParameter;
|
|
|
|
|
|
//
|
|
// Parameters represented in 100ns units
|
|
//
|
|
EXTERN LARGE_INTEGER NlGlobalPulseMaximum;
|
|
EXTERN LARGE_INTEGER NlGlobalPulseTimeout1;
|
|
EXTERN LARGE_INTEGER NlGlobalPulseTimeout2;
|
|
EXTERN LARGE_INTEGER NlGlobalMailslotMessageTimeout;
|
|
EXTERN LARGE_INTEGER NlGlobalMailslotDuplicateTimeout;
|
|
EXTERN ULONG NlGlobalShortApiCallPeriod;
|
|
|
|
|
|
//
|
|
// global flags used to pause the netlogon service when the database is
|
|
// full synced first time.
|
|
//
|
|
|
|
EXTERN BOOL NlGlobalFirstTimeFullSync;
|
|
|
|
|
|
//
|
|
// Global variables required for scavenger thread.
|
|
//
|
|
|
|
EXTERN CRITICAL_SECTION NlGlobalScavengerCritSect;
|
|
EXTERN HANDLE NlGlobalScavengerThreadHandle;
|
|
EXTERN BOOL NlGlobalScavengerTerminate;
|
|
|
|
//
|
|
// Variables for cordinating MSV threads running in netlogon.dll
|
|
//
|
|
|
|
EXTERN CRITICAL_SECTION NlGlobalMsvCritSect;
|
|
EXTERN HANDLE NlGlobalMsvTerminateEvent;
|
|
EXTERN BOOL NlGlobalMsvEnabled;
|
|
EXTERN ULONG NlGlobalMsvThreadCount;
|
|
|
|
#undef EXTERN
|
|
|
|
|
|
#endif // _LSRVDATA_
|