Windows NT 4.0 source code leak
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

/*++
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_