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.

164 lines
3.6 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 threads alive
  13. LONG g_lWorkerThreads;
  14. // Current contexts alive
  15. LONG g_lPCBContextsAlive;
  16. // Current count of allocated PCBs
  17. ULONG g_MaxPorts;
  18. // Global read-write lock for PCB Hash bucket list
  19. READ_WRITE_LOCK g_PCBLock;
  20. // Structure used to define hash-table entities
  21. typedef struct _PCB_BUCKET
  22. {
  23. EAPOL_PCB *pPorts;
  24. } PCB_BUCKET, *PPCB_BUCKET;
  25. typedef struct _PCB_TABLE
  26. {
  27. PCB_BUCKET *pPCBBuckets;
  28. DWORD dwNumPCBBuckets;
  29. } PCB_TABLE, *PPCB_TABLE;
  30. // EAPOL PCB table
  31. PCB_TABLE g_PCBTable;
  32. // Handle to event log
  33. HANDLE g_hLogEvents;
  34. // Identifier of trace output
  35. DWORD g_dwTraceId;
  36. // Pool of reusable read-write locks
  37. PDYNAMIC_LOCKS_STORE g_dlsDynamicLockStore;
  38. // Global indication as to whether user has logged on
  39. BOOLEAN g_fUserLoggedOn;
  40. // Global indication as to which session is currently being/authenticated
  41. DWORD g_dwCurrentSessionId;
  42. // Global flag to indicate tray icon ready for notification
  43. BOOLEAN g_fTrayIconReady;
  44. // Global timer queue for queueing timers using thread pool
  45. HANDLE g_hTimerQueue;
  46. // Device notification registration handle
  47. HANDLE g_hDeviceNotification;
  48. //
  49. // EAPOL globals
  50. //
  51. // Max number of EAPOL_STARTs that can be sent out without response
  52. DWORD g_dwmaxStart;
  53. // Default time interval in secs between two EAPOL_STARTs
  54. DWORD g_dwstartPeriod;
  55. // Default time interval in secs between sending EAP_Resp/Id and not
  56. // receiving any authenticator packet
  57. DWORD g_dwauthPeriod;
  58. // Default time in secs held in case of received EAP_Failure
  59. DWORD g_dwheldPeriod;
  60. // Supplicant modes of operation
  61. DWORD g_dwSupplicantMode;
  62. // Supplicant modes of operation
  63. DWORD g_dwEAPOLAuthMode;
  64. // Global read-write lock for EAPOL configuration
  65. READ_WRITE_LOCK g_EAPOLConfig;
  66. // 802.1X Ethertype
  67. extern BYTE g_bEtherType8021X[SIZE_ETHERNET_TYPE];
  68. //
  69. // EAP Globals
  70. //
  71. // Table containing pointer to functions of different EAP dlls
  72. EAP_INFO *g_pEapTable;
  73. // Number of EAP protocols for which DLLs are loaded
  74. DWORD g_dwNumEapProtocols;
  75. // Global UI transaction Id counter
  76. DWORD g_dwEAPUIInvocationId;
  77. // Certificate authority root name
  78. BYTE *g_pbCARootHash;
  79. // Read-write lock for Policy parameters
  80. READ_WRITE_LOCK g_PolicyLock;
  81. // Global Policy setting
  82. EAPOL_POLICY_LIST *g_pEAPOLPolicyList;
  83. //
  84. // EAPOL service globals
  85. //
  86. // Event to exit main service thread
  87. HANDLE g_hStopService;
  88. // Event to indicate shutdown of EAPOL module and cleanup threads
  89. HANDLE g_hEventTerminateEAPOL;
  90. SERVICE_STATUS_HANDLE g_hServiceStatus;
  91. SERVICE_STATUS g_ServiceStatus;
  92. DWORD g_dwModulesStarted;
  93. // Global values for NLA
  94. HANDLE g_hNLA_LPC_Port;
  95. PORT_VIEW g_ClientView;
  96. READ_WRITE_LOCK g_NLALock;
  97. // Global table for UI Response function
  98. EAPOLUIRESPFUNCMAP EapolUIRespFuncMap[NUM_EAPOL_DLG_MSGS];
  99. // Default SSID value
  100. extern BYTE g_bDefaultSSID[MAX_SSID_LEN];
  101. #endif // _EAPOL_GLOBALS_H_