summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h
diff options
context:
space:
mode:
authorWang Fan <fan.wang@intel.com>2019-02-22 15:48:25 +0800
committerLiming Gao <liming.gao@intel.com>2019-02-28 09:47:09 +0800
commit90b24889f9ced53c18b73266d507e45fbd94fab0 (patch)
treed57a487b436b4694afae03ae84e9dd7a3485b991 /NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h
parent3eb69b081c683f9d825930d0c511e43c0485e5d2 (diff)
downloadedk2-90b24889f9ced53c18b73266d507e45fbd94fab0.tar.gz
edk2-90b24889f9ced53c18b73266d507e45fbd94fab0.tar.bz2
edk2-90b24889f9ced53c18b73266d507e45fbd94fab0.zip
NetworkPkg: Add WiFi Connection Manager to NetworkPkg
* V2 * Remove Arch dependency in Inf file * Add a global guid for WiFi formset and set other guids to module levels * Open supplicant and EapConfig by BY_DRIVER * Remove token free function to avoid potential NULL reference * Update WifiMgrUpdateConnectMessage() to only display message for Current Nic * Fix the potential NULL reference in AIP call * REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1492 Add WiFi Connection Manager in NetworkPkg to provide UI for users to scan networks, connect or disconnect to networks. This connection manager won't include the UNDI driver, supplicant driver, or other device specific drivers and is therefor not a complete solution stack for UEFI Wi-Fi, users can seek help for Wireless card vendors. Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Wu Jiaxin <jiaxin.wu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Wang Fan <fan.wang@intel.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
Diffstat (limited to 'NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h')
-rw-r--r--NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h
new file mode 100644
index 0000000000..f179fbc4ef
--- /dev/null
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfig.h
@@ -0,0 +1,74 @@
+/** @file
+ Define network structure used by the WiFi Connection Manager.
+
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _WIFI_MGR_CONFIG_H_
+#define _WIFI_MGR_CONFIG_H_
+
+#include "WifiConnectionMgrConfigNVDataStruct.h"
+
+extern UINT8 WifiConnectionManagerDxeBin[];
+extern UINT8 WifiConnectionManagerDxeStrings[];
+
+typedef struct {
+ UINT32 Signature;
+
+ //
+ // Link to the current profile list in NIC device data (WIFI_MGR_DEVICE_DATA)
+ //
+ LIST_ENTRY Link;
+
+ UINT32 NicIndex;
+ UINT32 ProfileIndex; // The unique identifier for network profile, starts from 1
+ CHAR16 SSId[SSID_STORAGE_SIZE];
+ CHAR16 Password[PASSWORD_STORAGE_SIZE];
+
+ UINT8 SecurityType;
+ UINT8 EapAuthMethod;
+
+ CHAR16 CACertName[WIFI_FILENAME_STR_MAX_SIZE];
+ VOID *CACertData;
+ UINTN CACertSize;
+ CHAR16 ClientCertName[WIFI_FILENAME_STR_MAX_SIZE];
+ VOID *ClientCertData;
+ UINTN ClientCertSize;
+ CHAR16 PrivateKeyName[WIFI_FILENAME_STR_MAX_SIZE];
+ VOID *PrivateKeyData;
+ UINTN PrivateKeyDataSize;
+ CHAR16 PrivateKeyPassword[PASSWORD_STORAGE_SIZE]; //Password to protect private key file
+ CHAR16 EapIdentity[EAP_IDENTITY_SIZE];
+ CHAR16 EapPassword[PASSWORD_STORAGE_SIZE];
+ UINT8 EapSecondAuthMethod;
+
+ BOOLEAN AKMSuiteSupported;
+ BOOLEAN CipherSuiteSupported;
+ BOOLEAN IsAvailable;
+ EFI_80211_NETWORK Network;
+ UINT8 NetworkQuality;
+ EFI_STRING_ID TitleToken;
+} WIFI_MGR_NETWORK_PROFILE;
+
+#define WIFI_MGR_PROFILE_SIGNATURE SIGNATURE_32 ('W','M','N','P')
+
+#pragma pack(1)
+///
+/// HII specific Vendor Device Path definition.
+///
+typedef struct {
+ VENDOR_DEVICE_PATH VendorDevicePath;
+ EFI_DEVICE_PATH_PROTOCOL End;
+} HII_VENDOR_DEVICE_PATH;
+#pragma pack()
+
+#endif