Source code of Windows XP (NT5)
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.

135 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 1999, Microsoft Corporation
  3. Module Name:
  4. elglobals.h
  5. Abstract:
  6. This module contains declaration of global variables
  7. Revision History:
  8. sachins, Apr 23 2000, Created
  9. --*/
  10. #ifndef _EAPOL_GLOBALS_H_
  11. #define _EAPOL_GLOBALS_H_
  12. // Current count of allocated PCBs
  13. ULONG g_MaxPorts;
  14. // Global read-write lock for PCB Hash bucket list
  15. READ_WRITE_LOCK g_PCBLock;
  16. // Structure used to define hash-table entities
  17. typedef struct _PCB_BUCKET
  18. {
  19. EAPOL_PCB *pPorts;
  20. } PCB_BUCKET, *PPCB_BUCKET;
  21. typedef struct _PCB_TABLE
  22. {
  23. PCB_BUCKET *pPCBBuckets;
  24. DWORD dwNumPCBBuckets;
  25. } PCB_TABLE, *PPCB_TABLE;
  26. // EAPOL PCB table
  27. PCB_TABLE g_PCBTable;
  28. // Handle to event log
  29. HANDLE g_hLogEvents;
  30. // Identifier of trace output
  31. DWORD g_dwTraceId;
  32. // Service Control Manager handle
  33. SC_HANDLE g_hServiceCM;
  34. // NDISUIO service handle
  35. SC_HANDLE g_hNDISUIOService;
  36. // Global Heap from which memory will be allocated
  37. HANDLE g_hGlobalHeap;
  38. // Pool of reusable read-write locks
  39. PDYNAMIC_LOCKS_STORE g_dlsDynamicLockStore;
  40. // Global indication as to whether user has logged on
  41. ULONG g_fUserLoggedOn;
  42. // Global indication as to whether netman is autostart and thereby
  43. // machine auth supported or not
  44. DWORD g_dwMachineAuthEnabled;
  45. // Global timer queue for queueing timers using thread pool
  46. HANDLE g_hTimerQueue;
  47. //
  48. // EAPOL globals
  49. //
  50. // Max number of EAPOL_STARTs that can be sent out without response
  51. DWORD g_dwmaxStart;
  52. // Default time interval in secs between two EAPOL_STARTs
  53. DWORD g_dwstartPeriod;
  54. // Default time interval in secs between sending EAP_Resp/Id and not
  55. // receiving any authenticator packet
  56. DWORD g_dwauthPeriod;
  57. // Default time in secs held in case of received EAP_Failure
  58. DWORD g_dwheldPeriod;
  59. // Global read-write lock for EAPOL configuration
  60. READ_WRITE_LOCK g_EAPOLConfig;
  61. //
  62. // EAP Globals
  63. //
  64. // Table containing pointer to functions of different EAP dlls
  65. EAP_INFO *g_pEapTable;
  66. // Number of EAP protocols for which DLLs are loaded
  67. DWORD g_dwNumEapProtocols;
  68. DWORD g_dwGuid;
  69. //
  70. // EAPOL service globals
  71. //
  72. // Event to exit main service thread
  73. HANDLE g_hStopService;
  74. // Event to indicate shutdown of EAPOL module and cleanup threads
  75. HANDLE g_hEventTerminateEAPOL;
  76. SERVICE_STATUS_HANDLE g_hServiceStatus;
  77. SERVICE_STATUS g_ServiceStatus;
  78. DWORD g_dwModulesStarted;
  79. // Global values for NLA
  80. HANDLE g_hNLA_LPC_Port;
  81. PORT_VIEW g_ClientView;
  82. READ_WRITE_LOCK g_NLALock;
  83. #endif // _EAPOL_GLOBALS_H_