123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- /** @file
- The Miscellaneous Routines for WiFi Connection Manager.
- Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __EFI_WIFI_MGR_MISC_H__
- #define __EFI_WIFI_MGR_MISC_H__
- /**
- Empty function for event process function.
- @param[in] Event The Event needs to be processed
- @param[in] Context The context of the event
- **/
- VOID
- EFIAPI
- WifiMgrInternalEmptyFunction (
- IN EFI_EVENT Event,
- IN VOID *Context
- );
- /**
- Convert the mac address into a hexadecimal encoded ":" seperated string.
- @param[in] Mac The mac address
- @param[in] StrSize The size, in bytes, of the output buffer specified by Str
- @param[out] Str The storage to return the mac string
- **/
- VOID
- WifiMgrMacAddrToStr (
- IN EFI_80211_MAC_ADDRESS *Mac,
- IN UINT32 StrSize,
- OUT CHAR16 *Str
- );
- /**
- Read private key file to buffer.
- @param[in] FileContext The file context of private key file.
- @param[out] PrivateKeyDataAddr The buffer address to restore private key file, should be
- freed by caller.
- @param[out] PrivateKeyDataSize The size of read private key file.
- @retval EFI_SUCCESS Successfully read the private key file.
- @retval EFI_INVALID_PARAMETER One or more of the parameters is invalid.
- **/
- EFI_STATUS
- WifiMgrReadFileToBuffer (
- IN WIFI_MGR_FILE_CONTEXT *FileContext,
- OUT VOID **PrivateKeyDataAddr,
- OUT UINTN *PrivateKeyDataSize
- );
- /**
- Get the Nic data by the NicIndex.
- @param[in] Private The pointer to the global private data structure.
- @param[in] NicIndex The index indicates the position of wireless NIC.
- @return Pointer to the Nic data, or NULL if not found.
- **/
- WIFI_MGR_DEVICE_DATA *
- WifiMgrGetNicByIndex (
- IN WIFI_MGR_PRIVATE_DATA *Private,
- IN UINT32 NicIndex
- );
- /**
- Find a network profile through its' SSId and securit type, and the SSId is an unicode string.
- @param[in] SSId The target network's SSId.
- @param[in] SecurityType The target network's security type.
- @param[in] ProfileList The profile list on a Nic.
- @return Pointer to a network profile, or NULL if not found.
- **/
- WIFI_MGR_NETWORK_PROFILE *
- WifiMgrGetProfileByUnicodeSSId (
- IN CHAR16 *SSId,
- IN UINT8 SecurityType,
- IN LIST_ENTRY *ProfileList
- );
- /**
- Find a network profile through its' SSId and securit type, and the SSId is an ascii string.
- @param[in] SSId The target network's SSId.
- @param[in] SecurityType The target network's security type.
- @param[in] ProfileList The profile list on a Nic.
- @return Pointer to a network profile, or NULL if not found.
- **/
- WIFI_MGR_NETWORK_PROFILE *
- WifiMgrGetProfileByAsciiSSId (
- IN CHAR8 *SSId,
- IN UINT8 SecurityType,
- IN LIST_ENTRY *ProfileList
- );
- /**
- Find a network profile through its' profile index.
- @param[in] ProfileIndex The target network's profile index.
- @param[in] ProfileList The profile list on a Nic.
- @return Pointer to a network profile, or NULL if not found.
- **/
- WIFI_MGR_NETWORK_PROFILE *
- WifiMgrGetProfileByProfileIndex (
- IN UINT32 ProfileIndex,
- IN LIST_ENTRY *ProfileList
- );
- /**
- To test if the AKMSuite is in supported AKMSuite list.
- @param[in] SupportedAKMSuiteCount The count of the supported AKMSuites.
- @param[in] SupportedAKMSuiteList The supported AKMSuite list.
- @param[in] AKMSuite The AKMSuite to be tested.
- @return True if this AKMSuite is supported, or False if not.
- **/
- BOOLEAN
- WifiMgrSupportAKMSuite (
- IN UINT16 SupportedAKMSuiteCount,
- IN UINT32 *SupportedAKMSuiteList,
- IN UINT32 *AKMSuite
- );
- /**
- To check if the CipherSuite is in supported CipherSuite list.
- @param[in] SupportedCipherSuiteCount The count of the supported CipherSuites.
- @param[in] SupportedCipherSuiteList The supported CipherSuite list.
- @param[in] CipherSuite The CipherSuite to be tested.
- @return True if this CipherSuite is supported, or False if not.
- **/
- BOOLEAN
- WifiMgrSupportCipherSuite (
- IN UINT16 SupportedCipherSuiteCount,
- IN UINT32 *SupportedCipherSuiteList,
- IN UINT32 *CipherSuite
- );
- /**
- Check an AKM suite list and a Cipher suite list to see if one or more AKM suites or Cipher suites
- are supported and find the matchable security type.
- @param[in] AKMList The target AKM suite list to be checked.
- @param[in] CipherList The target Cipher suite list to be checked
- @param[in] Nic The Nic to operate, contains the supported AKMSuite list
- and supported CipherSuite list
- @param[out] SecurityType To identify a security type from the AKM suite list and
- Cipher suite list
- @param[out] AKMSuiteSupported To identify if this security type is supported. If it is
- NULL, overcome this field
- @param[out] CipherSuiteSupported To identify if this security type is supported. If it is
- NULL, overcome this field
- @retval EFI_SUCCESS This operation has completed successfully.
- @retval EFI_INVALID_PARAMETER No Nic found or the suite list is null.
- **/
- EFI_STATUS
- WifiMgrCheckRSN (
- IN EFI_80211_AKM_SUITE_SELECTOR *AKMList,
- IN EFI_80211_CIPHER_SUITE_SELECTOR *CipherList,
- IN WIFI_MGR_DEVICE_DATA *Nic,
- OUT UINT8 *SecurityType,
- OUT BOOLEAN *AKMSuiteSupported,
- OUT BOOLEAN *CipherSuiteSupported
- );
- /**
- To get the security type for a certain AKMSuite and CipherSuite.
- @param[in] AKMSuite An certain AKMSuite.
- @param[in] CipherSuite An certain CipherSuite.
- @return a security type if found, or SECURITY_TYPE_UNKNOWN.
- **/
- UINT8
- WifiMgrGetSecurityType (
- IN UINT32 *AKMSuite,
- IN UINT32 *CipherSuite
- );
- /**
- Get supported AKMSuites and CipherSuites from supplicant.
- @param[in] Nic The Nic to operate.
- @retval EFI_SUCCESS Get the supported suite list successfully.
- @retval EFI_INVALID_PARAMETER No Nic found or supplicant is NULL.
- **/
- EFI_STATUS
- WifiMgrGetSupportedSuites (
- IN WIFI_MGR_DEVICE_DATA *Nic
- );
- /**
- Clean secrets from a network profile.
- @param[in] Profile The profile to be cleanned.
- **/
- VOID
- WifiMgrCleanProfileSecrets (
- IN WIFI_MGR_NETWORK_PROFILE *Profile
- );
- /**
- Free all network profiles in a profile list.
- @param[in] ProfileList The profile list to be freed.
- **/
- VOID
- WifiMgrFreeProfileList (
- IN LIST_ENTRY *ProfileList
- );
- /**
- Free user configured hidden network list.
- @param[in] HiddenList The hidden network list to be freed.
- **/
- VOID
- WifiMgrFreeHiddenList (
- IN LIST_ENTRY *HiddenList
- );
- /**
- Free the resources of a config token.
- @param[in] ConfigToken The config token to be freed.
- **/
- VOID
- WifiMgrFreeToken (
- IN WIFI_MGR_MAC_CONFIG_TOKEN *ConfigToken
- );
- #endif
|