TianoCore EDK2 master
WiFi.h File Reference
#include <Protocol/WiFi2.h>

Go to the source code of this file.

Data Structures

struct  EFI_80211_ELEMENT_HEADER
 
struct  EFI_80211_ELEMENT_REQ
 
struct  EFI_80211_ELEMENT_SSID
 
struct  EFI_80211_SCAN_DATA
 
struct  EFI_80211_COUNTRY_TRIPLET_SUBBAND
 
struct  EFI_80211_COUNTRY_TRIPLET_OPERATE
 
union  EFI_80211_COUNTRY_TRIPLET
 
struct  EFI_80211_ELEMENT_COUNTRY
 
struct  EFI_80211_ELEMENT_DATA_RSN
 
struct  EFI_80211_ELEMENT_RSN
 
struct  EFI_80211_ELEMENT_EXT_CAP
 
struct  EFI_80211_BSS_DESCRIPTION
 
struct  EFI_80211_SUBELEMENT_INFO
 
struct  EFI_80211_MULTIPLE_BSSID
 
struct  EFI_80211_BSS_DESP_PILOT
 
struct  EFI_80211_SCAN_RESULT
 
struct  EFI_80211_SCAN_DATA_TOKEN
 
struct  EFI_80211_ELEMENT_SUPP_CHANNEL_TUPLE
 
struct  EFI_80211_ELEMENT_SUPP_CHANNEL
 
struct  EFI_80211_ASSOCIATE_DATA
 
struct  EFI_80211_ELEMENT_TIMEOUT_VAL
 
struct  EFI_80211_ASSOCIATE_RESULT
 
struct  EFI_80211_ASSOCIATE_DATA_TOKEN
 
struct  EFI_80211_DISASSOCIATE_DATA
 
struct  EFI_80211_DISASSOCIATE_DATA_TOKEN
 
struct  EFI_80211_AUTHENTICATE_DATA
 
struct  EFI_80211_AUTHENTICATE_RESULT
 
struct  EFI_80211_AUTHENTICATE_DATA_TOKEN
 
struct  EFI_80211_DEAUTHENTICATE_DATA
 
struct  EFI_80211_DEAUTHENTICATE_DATA_TOKEN
 
struct  _EFI_WIRELESS_MAC_CONNECTION_PROTOCOL
 

Macros

#define EFI_WIRELESS_MAC_CONNECTION_PROTOCOL_GUID
 

Typedefs

typedef struct _EFI_WIRELESS_MAC_CONNECTION_PROTOCOL EFI_WIRELESS_MAC_CONNECTION_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_WIRELESS_MAC_CONNECTION_SCAN) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_SCAN_DATA_TOKEN *Data)
 
typedef EFI_STATUS(EFIAPIEFI_WIRELESS_MAC_CONNECTION_ASSOCIATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_ASSOCIATE_DATA_TOKEN *Data)
 
typedef EFI_STATUS(EFIAPIEFI_WIRELESS_MAC_CONNECTION_DISASSOCIATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_DISASSOCIATE_DATA_TOKEN *Data)
 
typedef EFI_STATUS(EFIAPIEFI_WIRELESS_MAC_CONNECTION_AUTHENTICATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_AUTHENTICATE_DATA_TOKEN *Data)
 
typedef EFI_STATUS(EFIAPIEFI_WIRELESS_MAC_CONNECTION_DEAUTHENTICATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_DEAUTHENTICATE_DATA_TOKEN *Data)
 

Enumerations

enum  EFI_80211_ACC_NET_TYPE {
  IeeePrivate = 0 , IeeePrivatewithGuest = 1 , IeeeChargeablePublic = 2 , IeeeFreePublic = 3 ,
  IeeePersonal = 4 , IeeeEmergencyServOnly = 5 , IeeeTestOrExp = 14 , IeeeWildcard = 15
}
 
enum  EFI_80211_ASSOCIATE_RESULT_CODE {
  AssociateSuccess , AssociateRefusedReasonUnspecified , AssociateRefusedCapsMismatch , AssociateRefusedExtReason ,
  AssociateRefusedAPOutOfMemory , AssociateRefusedBasicRatesMismatch , AssociateRejectedEmergencyServicesNotSupported , AssociateRefusedTemporarily
}
 
enum  EFI_80211_SCAN_RESULT_CODE { ScanSuccess , ScanNotSupported }
 
enum  EFI_80211_REASON_CODE {
  Ieee80211UnspecifiedReason = 1 , Ieee80211PreviousAuthenticateInvalid = 2 , Ieee80211DeauthenticatedSinceLeaving = 3 , Ieee80211DisassociatedDueToInactive = 4 ,
  Ieee80211DisassociatedSinceApUnable = 5 , Ieee80211Class2FrameNonauthenticated = 6 , Ieee80211Class3FrameNonassociated = 7 , Ieee80211DisassociatedSinceLeaving = 8
}
 
enum  EFI_80211_DISASSOCIATE_RESULT_CODE { DisassociateSuccess , DisassociateInvalidParameters }
 
enum  EFI_80211_AUTHENTICATION_TYPE { OpenSystem , SharedKey , FastBSSTransition , SAE }
 
enum  EFI_80211_AUTHENTICATE_RESULT_CODE {
  AuthenticateSuccess , AuthenticateRefused , AuthenticateAnticLoggingTokenRequired , AuthenticateFiniteCyclicGroupNotSupported ,
  AuthenticationRejected , AuthenticateInvalidParameter
}
 

Variables

EFI_GUID gEfiWiFiProtocolGuid
 

Detailed Description

This file provides management service interfaces of 802.11 MAC layer. It is used by network applications (and drivers) to establish wireless connection with an access point (AP).

Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This Protocol is introduced in UEFI Specification 2.5

Definition in file WiFi.h.

Macro Definition Documentation

◆ EFI_WIRELESS_MAC_CONNECTION_PROTOCOL_GUID

#define EFI_WIRELESS_MAC_CONNECTION_PROTOCOL_GUID
Value:
{ \
0xda55bc9, 0x45f8, 0x4bb4, {0x87, 0x19, 0x52, 0x24, 0xf1, 0x8a, 0x4d, 0x45 } \
}

Definition at line 19 of file WiFi.h.

Typedef Documentation

◆ EFI_WIRELESS_MAC_CONNECTION_ASSOCIATE

typedef EFI_STATUS(EFIAPI * EFI_WIRELESS_MAC_CONNECTION_ASSOCIATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_ASSOCIATE_DATA_TOKEN *Data)

Request an association with a specified peer MAC entity that is within an AP.

The Associate() function provides the capability for MAC layer to become associated with an AP.

Parameters
[in]ThisPointer to the EFI_WIRELESS_MAC_CONNECTION_PROTOCOL instance.
[in]DataPointer to the association token.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. Data is NULL. Data->Data is NULL.
EFI_UNSUPPORTEDOne or more of the input parameters are not supported by this implementation.
EFI_ALREADY_STARTEDThe association process is already started.
EFI_NOT_READYAuthentication is not performed before this association process.
EFI_NOT_FOUNDThe specified peer MAC entity is not found.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.

Definition at line 1014 of file WiFi.h.

◆ EFI_WIRELESS_MAC_CONNECTION_AUTHENTICATE

typedef EFI_STATUS(EFIAPI * EFI_WIRELESS_MAC_CONNECTION_AUTHENTICATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_AUTHENTICATE_DATA_TOKEN *Data)

Request the process of establishing an authentication relationship with a peer MAC entity.

The Authenticate() function requests authentication with a specified peer MAC entity. This service might be time-consuming thus is designed to be invoked independently of the association service.

Parameters
[in]ThisPointer to the EFI_WIRELESS_MAC_CONNECTION_PROTOCOL instance.
[in]DataPointer to the authentication token.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. Data is NULL. Data.Data is NULL.
EFI_UNSUPPORTEDOne or more of the input parameters are not supported by this implementation.
EFI_ALREADY_STARTEDThe authentication process is already started.
EFI_NOT_FOUNDThe specified peer MAC entity is not found.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.

Definition at line 1072 of file WiFi.h.

◆ EFI_WIRELESS_MAC_CONNECTION_DEAUTHENTICATE

typedef EFI_STATUS(EFIAPI * EFI_WIRELESS_MAC_CONNECTION_DEAUTHENTICATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_DEAUTHENTICATE_DATA_TOKEN *Data)

Invalidate the authentication relationship with a peer MAC entity.

The Deauthenticate() function requests that the authentication relationship with a specified peer MAC entity be invalidated. Deauthentication is a notification and when it is sent out the association at the transmitting station is terminated.

Parameters
[in]ThisPointer to the EFI_WIRELESS_MAC_CONNECTION_PROTOCOL instance.
[in]DataPointer to the deauthentication token.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. Data is NULL. Data.Data is NULL.
EFI_ALREADY_STARTEDThe deauthentication process is already started.
EFI_NOT_READYThe deauthentication service is invoked to a nonexistent association or authentication relationship.
EFI_NOT_FOUNDThe specified peer MAC entity is not found.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.

Definition at line 1101 of file WiFi.h.

◆ EFI_WIRELESS_MAC_CONNECTION_DISASSOCIATE

typedef EFI_STATUS(EFIAPI * EFI_WIRELESS_MAC_CONNECTION_DISASSOCIATE) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_DISASSOCIATE_DATA_TOKEN *Data)

Request a disassociation with a specified peer MAC entity.

The Disassociate() function is invoked to terminate an existing association. Disassociation is a notification and cannot be refused by the receiving peer except when management frame protection is negotiated and the message integrity check fails.

Parameters
[in]ThisPointer to the EFI_WIRELESS_MAC_CONNECTION_PROTOCOL instance.
[in]DataPointer to the disassociation token.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. Data is NULL.
EFI_ALREADY_STARTEDThe disassociation process is already started.
EFI_NOT_READYThe disassociation service is invoked to a nonexistent association relationship.
EFI_NOT_FOUNDThe specified peer MAC entity is not found.
EFI_OUT_OF_RESOURCESRequired system resources could not be allocated.

Definition at line 1042 of file WiFi.h.

◆ EFI_WIRELESS_MAC_CONNECTION_PROTOCOL

◆ EFI_WIRELESS_MAC_CONNECTION_SCAN

typedef EFI_STATUS(EFIAPI * EFI_WIRELESS_MAC_CONNECTION_SCAN) (IN EFI_WIRELESS_MAC_CONNECTION_PROTOCOL *This, IN EFI_80211_SCAN_DATA_TOKEN *Data)

Request a survey of potential BSSs that administrator can later elect to try to join.

The Scan() function returns the description of the set of BSSs detected by the scan process. Passive scan operation is performed by default.

Parameters
[in]ThisPointer to the EFI_WIRELESS_MAC_CONNECTION_PROTOCOL instance.
[in]DataPointer to the scan token.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETEROne or more of the following conditions is TRUE: This is NULL. Data is NULL. Data->Data is NULL.
EFI_UNSUPPORTEDOne or more of the input parameters are not supported by this implementation.
EFI_ALREADY_STARTEDThe scan operation is already started.

Definition at line 984 of file WiFi.h.

Enumeration Type Documentation

◆ EFI_80211_ACC_NET_TYPE

EFI_80211_ACC_NET_TYPE

Definition at line 29 of file WiFi.h.

◆ EFI_80211_ASSOCIATE_RESULT_CODE

EFI_80211_ASSOCIATE_RESULT_CODE

Definition at line 43 of file WiFi.h.

◆ EFI_80211_AUTHENTICATE_RESULT_CODE

EFI_80211_AUTHENTICATION_RESULT_CODE

Definition at line 125 of file WiFi.h.

◆ EFI_80211_AUTHENTICATION_TYPE

EFI_80211_AUTHENTICATION_TYPE

Enumerator
OpenSystem 

Open system authentication, admits any STA to the DS.

SharedKey 

Shared Key authentication relies on WEP to demonstrate knowledge of a WEP encryption key.

FastBSSTransition 

FT authentication relies on keys derived during the initial mobility domain association to authenticate the stations.

SAE 

SAE authentication uses finite field cryptography to prove knowledge of a shared password.

Definition at line 100 of file WiFi.h.

◆ EFI_80211_DISASSOCIATE_RESULT_CODE

EFI_80211_DISASSOCIATE_RESULT_CODE

Enumerator
DisassociateSuccess 

Disassociation process completed successfully.

DisassociateInvalidParameters 

Disassociation failed due to any input parameter is invalid.

Definition at line 86 of file WiFi.h.

◆ EFI_80211_REASON_CODE

EFI_80211_REASON_CODE

Definition at line 71 of file WiFi.h.

◆ EFI_80211_SCAN_RESULT_CODE

EFI_80211_SCAN_RESULT_CODE

Enumerator
ScanSuccess 

The scan operation finished successfully.

ScanNotSupported 

The scan operation is not supported in current implementation.

Definition at line 57 of file WiFi.h.