TianoCore EDK2 master
|
#include <Protocol/WiFi2.h>
Go to the source code of this file.
Data Structures | |
struct | EFI_SUPPLICANT_KEY_REFRESH |
struct | EFI_SUPPLICANT_KEY |
struct | EFI_SUPPLICANT_GTK_LIST |
struct | EFI_SUPPLICANT_FRAGMENT_DATA |
struct | _EFI_SUPPLICANT_PROTOCOL |
Macros | |
#define | EFI_SUPPLICANT_SERVICE_BINDING_PROTOCOL_GUID |
#define | EFI_SUPPLICANT_PROTOCOL_GUID |
#define | EFI_MAX_KEY_LEN 64 |
Typedefs | |
typedef struct _EFI_SUPPLICANT_PROTOCOL | EFI_SUPPLICANT_PROTOCOL |
typedef EFI_STATUS(EFIAPI * | EFI_SUPPLICANT_BUILD_RESPONSE_PACKET) (IN EFI_SUPPLICANT_PROTOCOL *This, IN UINT8 *RequestBuffer OPTIONAL, IN UINTN RequestBufferSize OPTIONAL, OUT UINT8 *Buffer, IN OUT UINTN *BufferSize) |
typedef EFI_STATUS(EFIAPI * | EFI_SUPPLICANT_PROCESS_PACKET) (IN EFI_SUPPLICANT_PROTOCOL *This, IN OUT EFI_SUPPLICANT_FRAGMENT_DATA **FragmentTable, IN UINT32 *FragmentCount, IN EFI_SUPPLICANT_CRYPT_MODE CryptMode) |
typedef EFI_STATUS(EFIAPI * | EFI_SUPPLICANT_SET_DATA) (IN EFI_SUPPLICANT_PROTOCOL *This, IN EFI_SUPPLICANT_DATA_TYPE DataType, IN VOID *Data, IN UINTN DataSize) |
typedef EFI_STATUS(EFIAPI * | EFI_SUPPLICANT_GET_DATA) (IN EFI_SUPPLICANT_PROTOCOL *This, IN EFI_SUPPLICANT_DATA_TYPE DataType, OUT UINT8 *Data OPTIONAL, IN OUT UINTN *DataSize) |
Enumerations | |
enum | EFI_SUPPLICANT_CRYPT_MODE { EfiSupplicantEncrypt , EfiSupplicantDecrypt } |
enum | EFI_SUPPLICANT_DATA_TYPE { EfiSupplicant80211AKMSuite , EfiSupplicant80211GroupDataCipherSuite , EfiSupplicant80211PairwiseCipherSuite , EfiSupplicant80211PskPassword , EfiSupplicant80211TargetSSIDName , EfiSupplicant80211StationMac , EfiSupplicant80211TargetSSIDMac , EfiSupplicant80211PTK , EfiSupplicant80211GTK , EfiSupplicantState , EfiSupplicant80211LinkState , EfiSupplicantKeyRefresh , EfiSupplicant80211SupportedAKMSuites , EfiSupplicant80211SupportedSoftwareCipherSuites , EfiSupplicant80211SupportedHardwareCipherSuites , EfiSupplicant80211IGTK , EfiSupplicant80211PMK , EfiSupplicantDataTypeMaximum } |
enum | EFI_80211_LINK_STATE { Ieee80211UnauthenticatedUnassociated , Ieee80211AuthenticatedUnassociated , Ieee80211PendingRSNAuthentication , Ieee80211AuthenticatedAssociated } |
enum | EFI_SUPPLICANT_KEY_TYPE { Group , Pairwise , PeerKey , IGTK } |
enum | EFI_SUPPLICANT_KEY_DIRECTION { Receive , Transmit , Both } |
Variables | |
EFI_GUID | gEfiSupplicantServiceBindingProtocolGuid |
EFI_GUID | gEfiSupplicantProtocolGuid |
This file defines the EFI Supplicant Protocol.
Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Supplicant.h.
#define EFI_MAX_KEY_LEN 64 |
Definition at line 218 of file Supplicant.h.
#define EFI_SUPPLICANT_PROTOCOL_GUID |
The EFI Supplicant protocol provides services to process authentication and data encryption/decryption for security management.
Definition at line 31 of file Supplicant.h.
#define EFI_SUPPLICANT_SERVICE_BINDING_PROTOCOL_GUID |
The EFI Supplicant Service Binding Protocol is used to locate EFI Supplicant Protocol drivers to create and destroy child of the driver to communicate with other host using Supplicant protocol.
Definition at line 22 of file Supplicant.h.
typedef EFI_STATUS(EFIAPI * EFI_SUPPLICANT_BUILD_RESPONSE_PACKET) (IN EFI_SUPPLICANT_PROTOCOL *This, IN UINT8 *RequestBuffer OPTIONAL, IN UINTN RequestBufferSize OPTIONAL, OUT UINT8 *Buffer, IN OUT UINTN *BufferSize) |
BuildResponsePacket() is called during STA and AP authentication is in progress. Supplicant derives the PTK or session keys depend on type of authentication is being employed.
[in] | This | Pointer to the EFI_SUPPLICANT_PROTOCOL instance. |
[in] | RequestBuffer | Pointer to the most recently received EAPOL packet. NULL means the supplicant need initiate the EAP authentication session and send EAPOL-Start message. |
[in] | RequestBufferSize | Packet size in bytes for the most recently received EAPOL packet. 0 is only valid when RequestBuffer is NULL. |
[out] | Buffer | Pointer to the buffer to hold the built packet. |
[in,out] | BufferSize | Pointer to the buffer size in bytes. On input, it is the buffer size provided by the caller. On output, it is the buffer size in fact needed to contain the packet. |
EFI_SUCCESS | The required EAPOL packet is built successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE: RequestBuffer is NULL, but RequestSize is NOT 0. RequestBufferSize is 0. Buffer is NULL, but RequestBuffer is NOT 0. BufferSize is NULL. |
EFI_BUFFER_TOO_SMALL | BufferSize is too small to hold the response packet. |
EFI_NOT_READY | Current EAPOL session state is NOT ready to build ResponsePacket. |
Definition at line 335 of file Supplicant.h.
typedef EFI_STATUS(EFIAPI * EFI_SUPPLICANT_GET_DATA) (IN EFI_SUPPLICANT_PROTOCOL *This, IN EFI_SUPPLICANT_DATA_TYPE DataType, OUT UINT8 *Data OPTIONAL, IN OUT UINTN *DataSize) |
Get Supplicant configuration data.
[in] | This | Pointer to the EFI_SUPPLICANT_PROTOCOL instance. |
[in] | DataType | The type of data. |
[out] | Data | Pointer to the buffer to hold the data. Ignored if DataSize is 0. |
[in,out] | DataSize | Pointer to the buffer size in bytes. On input, it is the buffer size provided by the caller. On output, it is the buffer size in fact needed to contain the packet. |
EFI_SUCCESS | The Supplicant configuration data is got successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE: This is NULL. DataSize is NULL. Data is NULL if *DataSize is not zero. |
EFI_UNSUPPORTED | The DataType is unsupported. |
EFI_NOT_FOUND | The Supplicant configuration data is not found. |
EFI_BUFFER_TOO_SMALL | The size of Data is too small for the specified configuration data and the required size is returned in DataSize. |
Definition at line 434 of file Supplicant.h.
typedef EFI_STATUS(EFIAPI * EFI_SUPPLICANT_PROCESS_PACKET) (IN EFI_SUPPLICANT_PROTOCOL *This, IN OUT EFI_SUPPLICANT_FRAGMENT_DATA **FragmentTable, IN UINT32 *FragmentCount, IN EFI_SUPPLICANT_CRYPT_MODE CryptMode) |
ProcessPacket() is called to Supplicant driver to encrypt or decrypt the data depending type of authentication type.
[in] | This | Pointer to the EFI_SUPPLICANT_PROTOCOL instance. |
[in,out] | FragmentTable | Pointer to a list of fragment. The caller will take responsible to handle the original FragmentTable while it may be reallocated in Supplicant driver. |
[in] | FragmentCount | Number of fragment. |
[in] | CryptMode | Crypt mode. |
EFI_SUCCESS | The operation completed successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE: FragmentTable is NULL. FragmentCount is NULL. CryptMode is invalid. |
EFI_NOT_READY | Current supplicant state is NOT Authenticated. |
EFI_ABORTED | Something wrong decryption the message. |
EFI_UNSUPPORTED | This API is not supported. |
Definition at line 369 of file Supplicant.h.
typedef struct _EFI_SUPPLICANT_PROTOCOL EFI_SUPPLICANT_PROTOCOL |
Definition at line 36 of file Supplicant.h.
typedef EFI_STATUS(EFIAPI * EFI_SUPPLICANT_SET_DATA) (IN EFI_SUPPLICANT_PROTOCOL *This, IN EFI_SUPPLICANT_DATA_TYPE DataType, IN VOID *Data, IN UINTN DataSize) |
Set Supplicant configuration data.
[in] | This | Pointer to the EFI_SUPPLICANT_PROTOCOL instance. |
[in] | DataType | The type of data. |
[in] | Data | Pointer to the buffer to hold the data. |
[in] | DataSize | Pointer to the buffer size in bytes. |
EFI_SUCCESS | The Supplicant configuration data is set successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE: Data is NULL. DataSize is 0. |
EFI_UNSUPPORTED | The DataType is unsupported. |
EFI_OUT_OF_RESOURCES | Required system resources could not be allocated. |
Definition at line 397 of file Supplicant.h.
enum EFI_80211_LINK_STATE |
EFI_80211_LINK_STATE
Definition at line 159 of file Supplicant.h.
EFI_SUPPLICANT_CRYPT_MODE
Definition at line 41 of file Supplicant.h.
EFI_SUPPLICANT_DATA_TYPE
Definition at line 55 of file Supplicant.h.
EFI_SUPPLICANT_KEY_DIRECTION (IEEE Std 802.11 Section 6.3.19.1.2)
Definition at line 191 of file Supplicant.h.
EFI_SUPPLICANT_KEY_TYPE (IEEE Std 802.11 Section 6.3.19.1.2)
Definition at line 181 of file Supplicant.h.