2019-02-22 08:48:25 +01:00
|
|
|
/** @file
|
|
|
|
The Mac Connection2 Protocol adapter functions for WiFi Connection Manager.
|
|
|
|
|
|
|
|
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
|
|
|
|
2019-04-04 01:06:13 +02:00
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
2019-02-22 08:48:25 +01:00
|
|
|
|
|
|
|
**/
|
|
|
|
|
|
|
|
#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
|