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