summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/EFI/Firmware/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.h')
-rw-r--r--src/VBox/Devices/EFI/Firmware/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.h b/src/VBox/Devices/EFI/Firmware/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.h
new file mode 100644
index 00000000..bcac7f80
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrImpl.h
@@ -0,0 +1,99 @@
+/** @file
+ The Mac Connection2 Protocol adapter functions for WiFi Connection Manager.
+
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __EFI_WIFI_IMPL__
+#define __EFI_WIFI_IMPL__
+
+/**
+ Start scan operation, and send out a token to collect available networks.
+
+ @param[in] Nic Pointer to the device data of the selected NIC.
+
+ @retval EFI_SUCCESS The operation is completed.
+ @retval EFI_ALREADY_STARTED A former scan operation is already ongoing.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
+ @retval Other Errors Return errors when getting networks from low layer.
+
+**/
+EFI_STATUS
+WifiMgrStartScan (
+ IN WIFI_MGR_DEVICE_DATA *Nic
+ );
+
+/**
+ Get current link state from low layer.
+
+ @param[in] Nic Pointer to the device data of the selected NIC.
+ @param[out] LinkState The pointer to buffer to retrieve link state.
+
+ @retval EFI_SUCCESS The operation is completed.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+ @retval EFI_UNSUPPORTED Adapter information protocol is not supported.
+ @retval Other Errors Returned errors when retrieving link state from low layer.
+
+**/
+EFI_STATUS
+WifiMgrGetLinkState (
+ IN WIFI_MGR_DEVICE_DATA *Nic,
+ OUT EFI_ADAPTER_INFO_MEDIA_STATE *LinkState
+ );
+
+/**
+ Start connect operation, and send out a token to connect to a target network.
+
+ @param[in] Nic Pointer to the device data of the selected NIC.
+ @param[in] Profile The target network to be connected.
+
+ @retval EFI_SUCCESS The operation is completed.
+ @retval EFI_ALREADY_STARTED Already in "connected" state, need to perform a disconnect
+ operation first.
+ @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
+ @retval Other Errors Return errors when connecting network on low layer.
+
+**/
+EFI_STATUS
+WifiMgrConnectToNetwork (
+ IN WIFI_MGR_DEVICE_DATA *Nic,
+ IN WIFI_MGR_NETWORK_PROFILE *Profile
+ );
+
+/**
+ Start disconnect operation, and send out a token to disconnect from current connected
+ network.
+
+ @param[in] Nic Pointer to the device data of the selected NIC.
+
+ @retval EFI_SUCCESS The operation is completed.
+ @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
+ @retval Other Errors Return errors when disconnecting a network on low layer.
+
+**/
+EFI_STATUS
+WifiMgrDisconnectToNetwork (
+ IN WIFI_MGR_DEVICE_DATA *Nic
+ );
+
+/**
+ The state machine of the connection manager, periodically check the state and
+ perform a corresponding operation.
+
+ @param[in] Event The timer event to be triggered.
+ @param[in] Context The context of the Nic device data.
+
+**/
+VOID
+EFIAPI
+WifiMgrOnTimerTick (
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ );
+
+#endif