WifiConnectionMgrConfigNVDataStruct.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /** @file
  2. Define IFR NVData structures used by the WiFi Connection Manager.
  3. Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef _WIFI_NVDATASTRUC_H_
  7. #define _WIFI_NVDATASTRUC_H_
  8. #include <Guid/WifiConnectionManagerConfigHii.h>
  9. #include "WifiConnectionMgrConfigHii.h"
  10. #define MANAGER_VARSTORE_ID 0x0802
  11. #define WIFI_STR_MAX_SIZE 224
  12. #define WIFI_FILENAME_STR_MAX_SIZE 224
  13. #define WIFI_MGR_MAX_MAC_STRING_LEN 96
  14. #define SSID_MIN_LEN 1
  15. #define SSID_MAX_LEN 32
  16. #define SSID_STORAGE_SIZE 33
  17. #define PASSWORD_MIN_LEN 8
  18. #define PASSWORD_MAX_LEN 63
  19. #define PASSWORD_STORAGE_SIZE 65
  20. #define EAP_IDENTITY_LEN 63
  21. #define EAP_IDENTITY_SIZE 64
  22. #define FORMID_NONE_FORM 0
  23. #define FORMID_MAC_SELECTION 1
  24. #define FORMID_WIFI_MAINPAGE 2
  25. #define FORMID_NETWORK_LIST 3
  26. #define FORMID_CONNECT_NETWORK 4
  27. #define FORMID_ENROLL_CERT 5
  28. #define FORMID_CA_LIST 6
  29. #define FORMID_ENROLL_PRIVATE_KEY 7
  30. #define FORMID_PRIVATE_KEY_LIST 8
  31. #define FORMID_WIFI_SETTINGS 9
  32. #define FORMID_HIDDEN_NETWORK_LIST 10
  33. //
  34. // Mac List Form Key
  35. //
  36. #define KEY_MAC_LIST 0x100
  37. //
  38. // Main Form Key
  39. //
  40. #define KEY_REFRESH_TITLE_CONNECTION_STATUS 0x101
  41. //
  42. // Network List Form Key
  43. //
  44. #define KEY_NETWORK_LIST 0x102
  45. #define KEY_REFRESH_NETWORK_LIST 0x103
  46. #define KEY_WIFI_SETTINGS 0x104
  47. //
  48. // Connect Network Form Key
  49. //
  50. #define KEY_PASSWORD_CONNECT_NETWORK 0x201
  51. #define KEY_CONNECT_ACTION 0x202
  52. #define KEY_REFRESH_CONNECT_CONFIGURATION 0x203
  53. #define KEY_EAP_AUTH_METHOD_CONNECT_NETWORK 0x204
  54. #define KEY_EAP_SEAUTH_METHOD_CONNECT_NETWORK 0x205
  55. #define KEY_ENROLL_CA_CERT_CONNECT_NETWORK 0x206
  56. #define KEY_ENROLL_CLIENT_CERT_CONNECT_NETWORK 0x207
  57. #define KEY_ENROLL_PRIVATE_KEY_CONNECT_NETWORK 0x208
  58. #define KEY_EAP_IDENTITY_CONNECT_NETWORK 0x209
  59. #define KEY_EAP_PASSWORD_CONNECT_NETWORK 0x210
  60. //
  61. // Cert Form And Private Key Form
  62. //
  63. #define KEY_EAP_ENROLL_CERT_FROM_FILE 0x301
  64. #define KEY_EAP_ENROLL_PRIVATE_KEY_FROM_FILE 0x302
  65. #define KEY_SAVE_CERT_TO_MEM 0x303
  66. #define KEY_NO_SAVE_CERT_TO_MEM 0x304
  67. #define KEY_SAVE_PRIVATE_KEY_TO_MEM 0x305
  68. #define KEY_NO_SAVE_PRIVATE_KEY_TO_MEM 0x306
  69. #define KEY_PRIVATE_KEY_PASSWORD 0x307
  70. #define KEY_ENROLLED_CERT_NAME 0x308
  71. #define KEY_ENROLLED_PRIVATE_KEY_NAME 0x309
  72. //
  73. // Hidden Network Configuration Form
  74. //
  75. #define KEY_HIDDEN_NETWORK 0x401
  76. #define KEY_ADD_HIDDEN_NETWORK 0x402
  77. #define KEY_REMOVE_HIDDEN_NETWORK 0x403
  78. //
  79. // Dynamic Lists
  80. //
  81. #define MAC_LIST_COUNT_MAX 255
  82. #define LABEL_MAC_ENTRY 0x1000
  83. #define KEY_MAC_ENTRY_BASE 0x1100
  84. #define NETWORK_LIST_COUNT_MAX 4095
  85. #define LABEL_NETWORK_LIST_ENTRY 0x2000
  86. #define KEY_AVAILABLE_NETWORK_ENTRY_BASE 0x3000
  87. #define HIDDEN_NETWORK_LIST_COUNT_MAX 255
  88. #define LABEL_HIDDEN_NETWORK_ENTRY 0x4000
  89. #define KEY_HIDDEN_NETWORK_ENTRY_BASE 0x4100
  90. #define LABEL_END 0xffff
  91. //
  92. // Network Security Type
  93. //
  94. #define SECURITY_TYPE_NONE 0
  95. #define SECURITY_TYPE_WPA_ENTERPRISE 1
  96. #define SECURITY_TYPE_WPA2_ENTERPRISE 2
  97. #define SECURITY_TYPE_WPA_PERSONAL 3
  98. #define SECURITY_TYPE_WPA2_PERSONAL 4
  99. #define SECURITY_TYPE_WEP 5
  100. #define SECURITY_TYPE_WPA3_PERSONAL 6
  101. #define SECURITY_TYPE_WPA3_ENTERPRISE 7
  102. #define SECURITY_TYPE_UNKNOWN 8
  103. #define SECURITY_TYPE_MAX 9
  104. #define EAP_AUTH_METHOD_TTLS 0
  105. #define EAP_AUTH_METHOD_PEAP 1
  106. #define EAP_AUTH_METHOD_TLS 2
  107. #define EAP_AUTH_METHOD_MAX 3
  108. #define EAP_SEAUTH_METHOD_MSCHAPV2 0
  109. #define EAP_SEAUTH_METHOD_MAX 1
  110. #define HIDDEN_NETWORK_LIST_VAR_OFFSET ((UINT16) OFFSET_OF (WIFI_MANAGER_IFR_NVDATA, HiddenNetworkList))
  111. #pragma pack(1)
  112. typedef struct _WIFI_MANAGER_IFR_NVDATA {
  113. UINT32 ProfileCount;
  114. CHAR16 SSId[SSID_STORAGE_SIZE];
  115. CHAR16 Password[PASSWORD_STORAGE_SIZE];
  116. CHAR16 PrivateKeyPassword[PASSWORD_STORAGE_SIZE];
  117. CHAR16 EapIdentity[EAP_IDENTITY_SIZE];
  118. CHAR16 EapPassword[PASSWORD_STORAGE_SIZE];
  119. UINT8 SecurityType;
  120. UINT8 EapAuthMethod;
  121. UINT8 EapSecondAuthMethod;
  122. UINT8 HiddenNetworkList[HIDDEN_NETWORK_LIST_COUNT_MAX];
  123. } WIFI_MANAGER_IFR_NVDATA;
  124. #pragma pack()
  125. #endif