2 Define IFR NVData structures used by the WiFi Connection Manager.
4 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef _WIFI_NVDATASTRUC_H_
17 #define _WIFI_NVDATASTRUC_H_
19 #include <Guid/WifiConnectionManagerConfigHii.h>
20 #include "WifiConnectionMgrConfigHii.h"
22 #define MANAGER_VARSTORE_ID 0x0802
24 #define WIFI_STR_MAX_SIZE 224
25 #define WIFI_FILENAME_STR_MAX_SIZE 224
26 #define WIFI_MGR_MAX_MAC_STRING_LEN 96
28 #define SSID_MIN_LEN 1
29 #define SSID_MAX_LEN 32
30 #define SSID_STORAGE_SIZE 33
32 #define PASSWORD_MIN_LEN 8
33 #define PASSWORD_MAX_LEN 63
34 #define PASSWORD_STORAGE_SIZE 64
36 #define EAP_IDENTITY_LEN 63
37 #define EAP_IDENTITY_SIZE 64
39 #define FORMID_NONE_FORM 0
40 #define FORMID_MAC_SELECTION 1
41 #define FORMID_WIFI_MAINPAGE 2
42 #define FORMID_NETWORK_LIST 3
43 #define FORMID_CONNECT_NETWORK 4
44 #define FORMID_ENROLL_CERT 5
45 #define FORMID_CA_LIST 6
46 #define FORMID_ENROLL_PRIVATE_KEY 7
47 #define FORMID_PRIVATE_KEY_LIST 8
48 #define FORMID_WIFI_SETTINGS 9
49 #define FORMID_HIDDEN_NETWORK_LIST 10
54 #define KEY_MAC_LIST 0x100
59 #define KEY_REFRESH_TITLE_CONNECTION_STATUS 0x101
62 // Network List Form Key
64 #define KEY_NETWORK_LIST 0x102
65 #define KEY_REFRESH_NETWORK_LIST 0x103
66 #define KEY_WIFI_SETTINGS 0x104
69 // Connect Network Form Key
71 #define KEY_PASSWORD_CONNECT_NETWORK 0x201
72 #define KEY_CONNECT_ACTION 0x202
73 #define KEY_REFRESH_CONNECT_CONFIGURATION 0x203
74 #define KEY_EAP_AUTH_METHOD_CONNECT_NETWORK 0x204
75 #define KEY_EAP_SEAUTH_METHOD_CONNECT_NETWORK 0x205
76 #define KEY_ENROLL_CA_CERT_CONNECT_NETWORK 0x206
77 #define KEY_ENROLL_CLIENT_CERT_CONNECT_NETWORK 0x207
78 #define KEY_ENROLL_PRIVATE_KEY_CONNECT_NETWORK 0x208
79 #define KEY_EAP_IDENTITY_CONNECT_NETWORK 0x209
80 #define KEY_EAP_PASSWORD_CONNECT_NETWORK 0x210
83 //Cert Form And Private Key Form
85 #define KEY_EAP_ENROLL_CERT_FROM_FILE 0x301
86 #define KEY_EAP_ENROLL_PRIVATE_KEY_FROM_FILE 0x302
87 #define KEY_SAVE_CERT_TO_MEM 0x303
88 #define KEY_NO_SAVE_CERT_TO_MEM 0x304
89 #define KEY_SAVE_PRIVATE_KEY_TO_MEM 0x305
90 #define KEY_NO_SAVE_PRIVATE_KEY_TO_MEM 0x306
91 #define KEY_PRIVATE_KEY_PASSWORD 0x307
92 #define KEY_ENROLLED_CERT_NAME 0x308
93 #define KEY_ENROLLED_PRIVATE_KEY_NAME 0x309
96 // Hidden Network Configuration Form
98 #define KEY_HIDDEN_NETWORK 0x401
99 #define KEY_ADD_HIDDEN_NETWORK 0x402
100 #define KEY_REMOVE_HIDDEN_NETWORK 0x403
105 #define MAC_LIST_COUNT_MAX 255
106 #define LABEL_MAC_ENTRY 0x1000
107 #define KEY_MAC_ENTRY_BASE 0x1100
109 #define NETWORK_LIST_COUNT_MAX 4095
110 #define LABEL_NETWORK_LIST_ENTRY 0x2000
111 #define KEY_AVAILABLE_NETWORK_ENTRY_BASE 0x3000
113 #define HIDDEN_NETWORK_LIST_COUNT_MAX 255
114 #define LABEL_HIDDEN_NETWORK_ENTRY 0x4000
115 #define KEY_HIDDEN_NETWORK_ENTRY_BASE 0x4100
117 #define LABEL_END 0xffff
120 // Network Security Type
122 #define SECURITY_TYPE_NONE 0
123 #define SECURITY_TYPE_WPA_ENTERPRISE 1
124 #define SECURITY_TYPE_WPA2_ENTERPRISE 2
125 #define SECURITY_TYPE_WPA_PERSONAL 3
126 #define SECURITY_TYPE_WPA2_PERSONAL 4
127 #define SECURITY_TYPE_WEP 5
128 #define SECURITY_TYPE_UNKNOWN 6
129 #define SECURITY_TYPE_MAX 7
131 #define EAP_AUTH_METHOD_TTLS 0
132 #define EAP_AUTH_METHOD_PEAP 1
133 #define EAP_AUTH_METHOD_TLS 2
134 #define EAP_AUTH_METHOD_MAX 3
136 #define EAP_SEAUTH_METHOD_MSCHAPV2 0
137 #define EAP_SEAUTH_METHOD_MAX 1
139 #define HIDDEN_NETWORK_LIST_VAR_OFFSET ((UINT16) OFFSET_OF (WIFI_MANAGER_IFR_NVDATA, HiddenNetworkList))
142 typedef struct _WIFI_MANAGER_IFR_NVDATA
{
145 CHAR16 SSId
[SSID_STORAGE_SIZE
];
146 CHAR16 Password
[PASSWORD_STORAGE_SIZE
];
147 CHAR16 PrivateKeyPassword
[PASSWORD_STORAGE_SIZE
];
148 CHAR16 EapIdentity
[EAP_IDENTITY_SIZE
];
149 CHAR16 EapPassword
[PASSWORD_STORAGE_SIZE
];
152 UINT8 EapSecondAuthMethod
;
153 UINT8 HiddenNetworkList
[HIDDEN_NETWORK_LIST_COUNT_MAX
];
155 } WIFI_MANAGER_IFR_NVDATA
;