/** @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 |