/** @file The Mac Connection2 Protocol adapter functions for WiFi Connection Manager. Copyright (c) 2019, Intel Corporation. All rights reserved.
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