summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
blob: dcc4bf7e2749ce029e646d0216c4c0aa703356f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/** @file
  Define IFR NVData structures used by the WiFi Connection Manager.

  Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.<BR>

  SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef _WIFI_NVDATASTRUC_H_
#define _WIFI_NVDATASTRUC_H_

#include <Guid/WifiConnectionManagerConfigHii.h>
#include "WifiConnectionMgrConfigHii.h"

#define MANAGER_VARSTORE_ID  0x0802

#define WIFI_STR_MAX_SIZE            224
#define WIFI_FILENAME_STR_MAX_SIZE   224
#define WIFI_MGR_MAX_MAC_STRING_LEN  96

#define SSID_MIN_LEN       1
#define SSID_MAX_LEN       32
#define SSID_STORAGE_SIZE  33

#define PASSWORD_MIN_LEN       8
#define PASSWORD_MAX_LEN       63
#define PASSWORD_STORAGE_SIZE  65

#define EAP_IDENTITY_LEN   63
#define EAP_IDENTITY_SIZE  64

#define FORMID_NONE_FORM            0
#define FORMID_MAC_SELECTION        1
#define FORMID_WIFI_MAINPAGE        2
#define FORMID_NETWORK_LIST         3
#define FORMID_CONNECT_NETWORK      4
#define FORMID_ENROLL_CERT          5
#define FORMID_CA_LIST              6
#define FORMID_ENROLL_PRIVATE_KEY   7
#define FORMID_PRIVATE_KEY_LIST     8
#define FORMID_WIFI_SETTINGS        9
#define FORMID_HIDDEN_NETWORK_LIST  10

//
// Mac List Form Key
//
#define KEY_MAC_LIST  0x100

//
// Main Form Key
//
#define KEY_REFRESH_TITLE_CONNECTION_STATUS  0x101

//
// Network List Form Key
//
#define KEY_NETWORK_LIST          0x102
#define KEY_REFRESH_NETWORK_LIST  0x103
#define KEY_WIFI_SETTINGS         0x104

//
// Connect Network Form Key
//
#define KEY_PASSWORD_CONNECT_NETWORK            0x201
#define KEY_CONNECT_ACTION                      0x202
#define KEY_REFRESH_CONNECT_CONFIGURATION       0x203
#define KEY_EAP_AUTH_METHOD_CONNECT_NETWORK     0x204
#define KEY_EAP_SEAUTH_METHOD_CONNECT_NETWORK   0x205
#define KEY_ENROLL_CA_CERT_CONNECT_NETWORK      0x206
#define KEY_ENROLL_CLIENT_CERT_CONNECT_NETWORK  0x207
#define KEY_ENROLL_PRIVATE_KEY_CONNECT_NETWORK  0x208
#define KEY_EAP_IDENTITY_CONNECT_NETWORK        0x209
#define KEY_EAP_PASSWORD_CONNECT_NETWORK        0x210

//
// Cert Form And Private Key Form
//
#define KEY_EAP_ENROLL_CERT_FROM_FILE         0x301
#define KEY_EAP_ENROLL_PRIVATE_KEY_FROM_FILE  0x302
#define KEY_SAVE_CERT_TO_MEM                  0x303
#define KEY_NO_SAVE_CERT_TO_MEM               0x304
#define KEY_SAVE_PRIVATE_KEY_TO_MEM           0x305
#define KEY_NO_SAVE_PRIVATE_KEY_TO_MEM        0x306
#define KEY_PRIVATE_KEY_PASSWORD              0x307
#define KEY_ENROLLED_CERT_NAME                0x308
#define KEY_ENROLLED_PRIVATE_KEY_NAME         0x309

//
// Hidden Network Configuration Form
//
#define KEY_HIDDEN_NETWORK         0x401
#define KEY_ADD_HIDDEN_NETWORK     0x402
#define KEY_REMOVE_HIDDEN_NETWORK  0x403

//
// Dynamic Lists
//
#define MAC_LIST_COUNT_MAX  255
#define LABEL_MAC_ENTRY     0x1000
#define KEY_MAC_ENTRY_BASE  0x1100

#define NETWORK_LIST_COUNT_MAX            4095
#define LABEL_NETWORK_LIST_ENTRY          0x2000
#define KEY_AVAILABLE_NETWORK_ENTRY_BASE  0x3000

#define HIDDEN_NETWORK_LIST_COUNT_MAX  255
#define LABEL_HIDDEN_NETWORK_ENTRY     0x4000
#define KEY_HIDDEN_NETWORK_ENTRY_BASE  0x4100

#define LABEL_END  0xffff

//
// Network Security Type
//
#define SECURITY_TYPE_NONE             0
#define SECURITY_TYPE_WPA_ENTERPRISE   1
#define SECURITY_TYPE_WPA2_ENTERPRISE  2
#define SECURITY_TYPE_WPA_PERSONAL     3
#define SECURITY_TYPE_WPA2_PERSONAL    4
#define SECURITY_TYPE_WEP              5
#define SECURITY_TYPE_WPA3_PERSONAL    6
#define SECURITY_TYPE_WPA3_ENTERPRISE  7
#define SECURITY_TYPE_UNKNOWN          8
#define SECURITY_TYPE_MAX              9

#define EAP_AUTH_METHOD_TTLS  0
#define EAP_AUTH_METHOD_PEAP  1
#define EAP_AUTH_METHOD_TLS   2
#define EAP_AUTH_METHOD_MAX   3

#define EAP_SEAUTH_METHOD_MSCHAPV2  0
#define EAP_SEAUTH_METHOD_MAX       1

#define HIDDEN_NETWORK_LIST_VAR_OFFSET  ((UINT16) OFFSET_OF (WIFI_MANAGER_IFR_NVDATA, HiddenNetworkList))

#pragma pack(1)
typedef struct _WIFI_MANAGER_IFR_NVDATA {
  UINT32    ProfileCount;
  CHAR16    SSId[SSID_STORAGE_SIZE];
  CHAR16    Password[PASSWORD_STORAGE_SIZE];
  CHAR16    PrivateKeyPassword[PASSWORD_STORAGE_SIZE];
  CHAR16    EapIdentity[EAP_IDENTITY_SIZE];
  CHAR16    EapPassword[PASSWORD_STORAGE_SIZE];
  UINT8     SecurityType;
  UINT8     EapAuthMethod;
  UINT8     EapSecondAuthMethod;
  UINT8     HiddenNetworkList[HIDDEN_NETWORK_LIST_COUNT_MAX];
} WIFI_MANAGER_IFR_NVDATA;
#pragma pack()

#endif