136 lines
2.9 KiB
C
136 lines
2.9 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1999, Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
elglobals.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module contains declaration of global variables
|
||
|
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
sachins, Apr 23 2000, Created
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#ifndef _EAPOL_GLOBALS_H_
|
||
|
#define _EAPOL_GLOBALS_H_
|
||
|
|
||
|
// Current count of allocated PCBs
|
||
|
ULONG g_MaxPorts;
|
||
|
|
||
|
// Global read-write lock for PCB Hash bucket list
|
||
|
READ_WRITE_LOCK g_PCBLock;
|
||
|
|
||
|
// Structure used to define hash-table entities
|
||
|
typedef struct _PCB_BUCKET
|
||
|
{
|
||
|
EAPOL_PCB *pPorts;
|
||
|
} PCB_BUCKET, *PPCB_BUCKET;
|
||
|
|
||
|
typedef struct _PCB_TABLE
|
||
|
{
|
||
|
PCB_BUCKET *pPCBBuckets;
|
||
|
DWORD dwNumPCBBuckets;
|
||
|
} PCB_TABLE, *PPCB_TABLE;
|
||
|
|
||
|
|
||
|
// EAPOL PCB table
|
||
|
PCB_TABLE g_PCBTable;
|
||
|
|
||
|
// Handle to event log
|
||
|
HANDLE g_hLogEvents;
|
||
|
|
||
|
// Identifier of trace output
|
||
|
DWORD g_dwTraceId;
|
||
|
|
||
|
// Service Control Manager handle
|
||
|
SC_HANDLE g_hServiceCM;
|
||
|
|
||
|
// NDISUIO service handle
|
||
|
SC_HANDLE g_hNDISUIOService;
|
||
|
|
||
|
// Global Heap from which memory will be allocated
|
||
|
HANDLE g_hGlobalHeap;
|
||
|
|
||
|
// Pool of reusable read-write locks
|
||
|
PDYNAMIC_LOCKS_STORE g_dlsDynamicLockStore;
|
||
|
|
||
|
|
||
|
// Global indication as to whether user has logged on
|
||
|
ULONG g_fUserLoggedOn;
|
||
|
|
||
|
// Global indication as to whether netman is autostart and thereby
|
||
|
// machine auth supported or not
|
||
|
DWORD g_dwMachineAuthEnabled;
|
||
|
|
||
|
// Global timer queue for queueing timers using thread pool
|
||
|
HANDLE g_hTimerQueue;
|
||
|
|
||
|
|
||
|
//
|
||
|
// EAPOL globals
|
||
|
//
|
||
|
|
||
|
// Max number of EAPOL_STARTs that can be sent out without response
|
||
|
DWORD g_dwmaxStart;
|
||
|
|
||
|
// Default time interval in secs between two EAPOL_STARTs
|
||
|
DWORD g_dwstartPeriod;
|
||
|
|
||
|
// Default time interval in secs between sending EAP_Resp/Id and not
|
||
|
// receiving any authenticator packet
|
||
|
DWORD g_dwauthPeriod;
|
||
|
|
||
|
// Default time in secs held in case of received EAP_Failure
|
||
|
DWORD g_dwheldPeriod;
|
||
|
|
||
|
// Global read-write lock for EAPOL configuration
|
||
|
READ_WRITE_LOCK g_EAPOLConfig;
|
||
|
|
||
|
|
||
|
//
|
||
|
// EAP Globals
|
||
|
//
|
||
|
|
||
|
// Table containing pointer to functions of different EAP dlls
|
||
|
EAP_INFO *g_pEapTable;
|
||
|
|
||
|
// Number of EAP protocols for which DLLs are loaded
|
||
|
DWORD g_dwNumEapProtocols;
|
||
|
|
||
|
DWORD g_dwGuid;
|
||
|
|
||
|
|
||
|
//
|
||
|
// EAPOL service globals
|
||
|
//
|
||
|
|
||
|
// Event to exit main service thread
|
||
|
HANDLE g_hStopService;
|
||
|
|
||
|
// Event to indicate shutdown of EAPOL module and cleanup threads
|
||
|
HANDLE g_hEventTerminateEAPOL;
|
||
|
|
||
|
SERVICE_STATUS_HANDLE g_hServiceStatus;
|
||
|
|
||
|
SERVICE_STATUS g_ServiceStatus;
|
||
|
|
||
|
DWORD g_dwModulesStarted;
|
||
|
|
||
|
// Global values for NLA
|
||
|
|
||
|
HANDLE g_hNLA_LPC_Port;
|
||
|
|
||
|
PORT_VIEW g_ClientView;
|
||
|
|
||
|
READ_WRITE_LOCK g_NLALock;
|
||
|
|
||
|
|
||
|
#endif // _EAPOL_GLOBALS_H_
|