]> git.proxmox.com Git - mirror_edk2.git/blob - NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
NetworkPkg: Add WiFi Connection Manager to NetworkPkg
[mirror_edk2.git] / NetworkPkg / WifiConnectionManagerDxe / WifiConnectionMgrConfigNVDataStruct.h
1 /** @file
2 Define IFR NVData structures used by the WiFi Connection Manager.
3
4 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
5
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.
10
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.
13
14 **/
15
16 #ifndef _WIFI_NVDATASTRUC_H_
17 #define _WIFI_NVDATASTRUC_H_
18
19 #include <Guid/WifiConnectionManagerConfigHii.h>
20 #include "WifiConnectionMgrConfigHii.h"
21
22 #define MANAGER_VARSTORE_ID 0x0802
23
24 #define WIFI_STR_MAX_SIZE 224
25 #define WIFI_FILENAME_STR_MAX_SIZE 224
26 #define WIFI_MGR_MAX_MAC_STRING_LEN 96
27
28 #define SSID_MIN_LEN 1
29 #define SSID_MAX_LEN 32
30 #define SSID_STORAGE_SIZE 33
31
32 #define PASSWORD_MIN_LEN 8
33 #define PASSWORD_MAX_LEN 63
34 #define PASSWORD_STORAGE_SIZE 64
35
36 #define EAP_IDENTITY_LEN 63
37 #define EAP_IDENTITY_SIZE 64
38
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
50
51 //
52 // Mac List Form Key
53 //
54 #define KEY_MAC_LIST 0x100
55
56 //
57 // Main Form Key
58 //
59 #define KEY_REFRESH_TITLE_CONNECTION_STATUS 0x101
60
61 //
62 // Network List Form Key
63 //
64 #define KEY_NETWORK_LIST 0x102
65 #define KEY_REFRESH_NETWORK_LIST 0x103
66 #define KEY_WIFI_SETTINGS 0x104
67
68 //
69 // Connect Network Form Key
70 //
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
81
82 //
83 //Cert Form And Private Key Form
84 //
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
94
95 //
96 // Hidden Network Configuration Form
97 //
98 #define KEY_HIDDEN_NETWORK 0x401
99 #define KEY_ADD_HIDDEN_NETWORK 0x402
100 #define KEY_REMOVE_HIDDEN_NETWORK 0x403
101
102 //
103 // Dynamic Lists
104 //
105 #define MAC_LIST_COUNT_MAX 255
106 #define LABEL_MAC_ENTRY 0x1000
107 #define KEY_MAC_ENTRY_BASE 0x1100
108
109 #define NETWORK_LIST_COUNT_MAX 4095
110 #define LABEL_NETWORK_LIST_ENTRY 0x2000
111 #define KEY_AVAILABLE_NETWORK_ENTRY_BASE 0x3000
112
113 #define HIDDEN_NETWORK_LIST_COUNT_MAX 255
114 #define LABEL_HIDDEN_NETWORK_ENTRY 0x4000
115 #define KEY_HIDDEN_NETWORK_ENTRY_BASE 0x4100
116
117 #define LABEL_END 0xffff
118
119 //
120 // Network Security Type
121 //
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
130
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
135
136 #define EAP_SEAUTH_METHOD_MSCHAPV2 0
137 #define EAP_SEAUTH_METHOD_MAX 1
138
139 #define HIDDEN_NETWORK_LIST_VAR_OFFSET ((UINT16) OFFSET_OF (WIFI_MANAGER_IFR_NVDATA, HiddenNetworkList))
140
141 #pragma pack(1)
142 typedef struct _WIFI_MANAGER_IFR_NVDATA {
143
144 UINT32 ProfileCount;
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];
150 UINT8 SecurityType;
151 UINT8 EapAuthMethod;
152 UINT8 EapSecondAuthMethod;
153 UINT8 HiddenNetworkList[HIDDEN_NETWORK_LIST_COUNT_MAX];
154
155 } WIFI_MANAGER_IFR_NVDATA;
156 #pragma pack()
157
158 #endif