Google is committed to advancing racial equity for Black communities. See how.

ddk.hw.wlan.ieee80211

This header contains structs and enums derived from the IEEE 802.11 specification, in particular IEEE Std 802.11-2016. Accordingly:

  • All uses of declarations from 802.11-2016 should be placed in this file.
  • This file should not contain anything that is not explicitly defined in 802.11-2016.

STRUCTS

Ieee80211HtCapabilities

Defined in ddk.hw.wlan.ieee80211/ieee80211.fidl

The HT capabilities element, as defined in 9.4.2.56.

FieldTypeDescriptionDefault
ht_capability_info uint16 No default
ampdu_params uint8 No default
supported_mcs_set Ieee80211HtCapabilitiesSupportedMcsSet No default
ht_ext_capabilities uint16 No default
tx_beamforming_capabilities uint32 No default
asel_capabilities uint8 No default

Ieee80211HtCapabilitiesSupportedMcsSetFields

Defined in ddk.hw.wlan.ieee80211/ieee80211.fidl

Bitfields in the HT Capabilities element "Supported MCS Set" field. These are approximately as defined in 9.4.2.56.4.

FieldTypeDescriptionDefault
rx_mcs_head uint64 No default
rx_mcs_tail uint32 No default
tx_mcs uint32 No default

Ieee80211VhtCapabilities

Defined in ddk.hw.wlan.ieee80211/ieee80211.fidl

The VHT capabilities element, as defined in 9.4.2.158.

FieldTypeDescriptionDefault
vht_capability_info uint32 No default
supported_vht_mcs_and_nss_set uint64 No default

ENUMS

ReasonCode strict

Type: uint16

Defined in ddk.hw.wlan.ieee80211/ieee80211.fidl

802.11 reason codes. These values are common throughout the standard. IEEE Std 802.11-2016, 9.4.1.7, Table 9-45

NameValueDescription
UNSPECIFIED_REASON 1

0 reserved.

INVALID_AUTHENTICATION 2
LEAVING_NETWORK_DEAUTH 3
REASON_INACTIVITY 4
NO_MORE_STAS 5
INVALID_CLASS2_FRAME 6
INVALID_CLASS3_FRAME 7
LEAVING_NETWORK_DISASSOC 8
NOT_AUTHENTICATED 9
UNACCEPTABLE_POWER_CAPABILITY 10
UNACCEPTABLE_SUPPORTED_CHANNELS 11
BSS_TRANSITION_DISASSOC 12
REASON_INVALID_ELEMENT 13
MIC_FAILURE 14
FOURWAY_HANDSHAKE_TIMEOUT 15

15 is named "4WAY_HANDSHAKE_TIMEOUT" in 802.11-2016.

GK_HANDSHAKE_TIMEOUT 16
HANDSHAKE_ELEMENT_MISMATCH 17
REASON_INVALID_GROUP_CIPHER 18
REASON_INVALID_PAIRWISE_CIPHER 19
REASON_INVALID_AKMP 20
UNSUPPORTED_RSNE_VERSION 21
INVALID_RSNE_CAPABILITIES 22
IEEE802_1_X_AUTH_FAILED 23

23 is named "802_1_X_AUTH_FAILED" in 802.11-2016.

REASON_CIPHER_OUT_OF_POLICY 24
TDLS_PEER_UNREACHABLE 25
TDLS_UNSPECIFIED_REASON 26
SSP_REQUESTED_DISASSOC 27
NO_SSP_ROAMING_AGREEMENT 28
BAD_CIPHER_OR_AKM 29
NOT_AUTHORIZED_THIS_LOCATION 30
SERVICE_CHANGE_PRECLUDES_TS 31
UNSPECIFIED_QOS_REASON 32
NOT_ENOUGH_BANDWIDTH 33
MISSING_ACKS 34
EXCEEDED_TXOP 35
STA_LEAVING 36
END_TS_BA_DLS 37

37 is assigned to multiple names "END_TS", "END_BA", and "END_DLS" in 802.11-2016.

UNKNOWN_TS_BA 38

38 is assigned to multiple names "UNKNOWN_TS" and "UNKNOWN_BA" in 802.11-2016.

TIMEOUT 39
PEERKEY_MISMATCH 45
PEER_INITIATED 46
AP_INITIATED 47
REASON_INVALID_FT_ACTION_FRAME_COUNT 48
REASON_INVALID_PMKID 49
REASON_INVALID_MDE 50
REASON_INVALID_FTE 51
MESH_PEERING_CANCELED 52
MESH_MAX_PEERS 53
MESH_CONFIGURATION_POLICY_VIOLATION 54
MESH_CLOSE_RCVD 55
MESH_MAX_RETRIES 56
MESH_CONFIRM_TIMEOUT 57
MESH_INVALID_GTK 58
MESH_INCONSISTENT_PARAMETERS 59
MESH_INVALID_SECURITY_CAPABILITY 60
MESH_PATH_ERROR_NO_PROXY_INFORMATION 61
MESH_PATH_ERROR_NO_FORWARDING_INFORMATION 62
MESH_PATH_ERROR_DESTINATION_UNREACHABLE 63
MAC_ADDRESS_ALREADY_EXISTS_IN_MBSS 64
MESH_CHANNEL_SWITCH_REGULATORY_REQUIREMENTS 65
MESH_CHANNEL_SWITCH_UNSPECIFIED 66
FW_RX_STALLED 129

Driver detected a lack of rx frames.

StatusCode strict

Type: uint16

Defined in ddk.hw.wlan.ieee80211/ieee80211.fidl

802.11 status codes. These values are common throughout the standard. IEEE Std 802.11-2016, 9.4.1.9, Table 9-46

NameValueDescription
SUCCESS 0
REFUSED_REASON_UNSPECIFIED 1
TDLS_REJECTED_ALTERNATIVE_PROVIDED 2
TDLS_REJECTED 3
SECURITY_DISABLED 5

4 reserved.

UNACCEPTABLE_LIFETIME 6
NOT_IN_SAME_BSS 7
REFUSED_CAPABILITIES_MISMATCH 10

8-9 reserved.

DENIED_NO_ASSOCIATION_EXISTS 11
DENIED_OTHER_REASON 12
UNSUPPORTED_AUTH_ALGORITHM 13
TRANSACTION_SEQUENCE_ERROR 14
CHALLENGE_FAILURE 15
REJECTED_SEQUENCE_TIMEOUT 16
DENIED_NO_MORE_STAS 17
REFUSED_BASIC_RATES_MISMATCH 18
DENIED_NO_SHORT_PREAMBLE_SUPPORT 19
REJECTED_SPECTRUM_MANAGEMENT_REQUIRED 22

20-21 reserved.

REJECTED_BAD_POWER_CAPABILITY 23
REJECTED_BAD_SUPPORTED_CHANNELS 24
DENIED_NO_SHORT_SLOT_TIME_SUPPORT 25
DENIED_NO_HT_SUPPORT 27

26 reserved.

R0KH_UNREACHABLE 28
DENIED_PCO_TIME_NOT_SUPPORTED 29
REFUSED_TEMPORARILY 30
ROBUST_MANAGEMENT_POLICY_VIOLATION 31
UNSPECIFIED_QOS_FAILURE 32
DENIED_INSUFFICIENT_BANDWIDTH 33
DENIED_POOR_CHANNEL_CONDITIONS 34
DENIED_QOS_NOT_SUPPORTED 35
REQUEST_DECLINED 37
INVALID_PARAMETERS 38
REJECTED_WITH_SUGGESTED_CHANGES 39
STATUS_INVALID_ELEMENT 40
STATUS_INVALID_GROUP_CIPHER 41
STATUS_INVALID_PAIRWISE_CIPHER 42
STATUS_INVALID_AKMP 43
UNSUPPORTED_RSNE_VERSION 44
INVALID_RSNE_CAPABILITIES 45
STATUS_CIPHER_OUT_OF_POLICY 46
REJECTED_FOR_DELAY_PERIOD 47
DLS_NOT_ALLOWED 48
NOT_PRESENT 49
NOT_QOS_STA 50
DENIED_LISTEN_INTERVAL_TOO_LARGE 51
STATUS_INVALID_FT_ACTION_FRAME_COUNT 52
STATUS_INVALID_PMKID 53
STATUS_INVALID_MDE 54
STATUS_INVALID_FTE 55
REQUESTED_TCLAS_NOT_SUPPORTED_BY_AP 56

56 is assigned to "REQUESTED_TCLAS_NOT_SUPPORTED_BY_AP" in 802.11-2016, duplicate with 80. Name below is as listed in the 802.11 Assigned Numbers Authority database.

INSUFFICIENT_TCLAS_PROCESSING_RESOURCES 57
TRY_ANOTHER_BSS 58
GAS_ADVERTISEMENT_PROTOCOL_NOT_SUPPORTED 59
NO_OUTSTANDING_GAS_REQUEST 60
GAS_RESPONSE_NOT_RECEIVED_FROM_SERVER 61
GAS_QUERY_TIMEOUT 62
GAS_QUERY_RESPONSE_TOO_LARGE 63
REJECTED_HOME_WITH_SUGGESTED_CHANGES 64
SERVER_UNREACHABLE 65
REJECTED_FOR_SSP_PERMISSIONS 67

66 reserved.

REFUSED_UNAUTHENTICATED_ACCESS_NOT_SUPPORTED 68
INVALID_RSNE 72

69-71 reserved.

U_APSD_COEXISTANCE_NOT_SUPPORTED 73
U_APSD_COEX_MODE_NOT_SUPPORTED 74
BAD_INTERVAL_WITH_U_APSD_COEX 75
ANTI_CLOGGING_TOKEN_REQUIRED 76
UNSUPPORTED_FINITE_CYCLIC_GROUP 77
CANNOT_FIND_ALTERNATIVE_TBTT 78
TRANSMISSION_FAILURE 79
REQUESTED_TCLAS_NOT_SUPPORTED 80

See assignment for 56.

TCLAS_RESOURCES_EXHAUSTED 81
REJECTED_WITH_SUGGESTED_BSS_TRANSITION 82
REJECT_WITH_SCHEDULE 83
REJECT_NO_WAKEUP_SPECIFIED 84
SUCCESS_POWER_SAVE_MODE 85
PENDING_ADMITTING_FST_SESSION 86
PERFORMING_FST_NOW 87
PENDING_GAP_IN_BA_WINDOW 88
REJECT_U_PID_SETTING 89
REFUSED_EXTERNAL_REASON 92
REFUSED_AP_OUT_OF_MEMORY 93
REJECTED_EMERGENCY_SERVICES_NOT_SUPPORTED 94
QUERY_RESPONSE_OUTSTANDING 95
REJECT_DSE_BAND 96
TCLAS_PROCESSING_TERMINATED 97
TS_SCHEDULE_CONFLICT 98
DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL 99
MCCAOP_RESERVATION_CONFLICT 100
MAF_LIMIT_EXCEEDED 101
MCCA_TRACK_LIMIT_EXCEEDED 102
DENIED_DUE_TO_SPECTRUM_MANAGEMENT 103
DENIED_VHT_NOT_SUPPORTED 104
ENABLEMENT_DENIED 105
RESTRICTION_FROM_AUTHORIZED_GDB 106
AUTHORIZATION_DEENABLED 107
JOIN_FAILURE 256

Reserved values we will use for our own purposes.

Failure when joining the BSS.

SPURIOUS_DEAUTH_OR_DISASSOC 257

Authenticate or associate fails due to spurious deauth or diassoc.

CANCELED 258

Connect attempt is canceled

ESTABLISH_RSNA_FAILURE 259

Failure establishing security association

UNIONS

Ieee80211HtCapabilitiesSupportedMcsSet strict

Defined in ddk.hw.wlan.ieee80211/ieee80211.fidl

Ordinal
VariantTypeDescription
1 bytes uint8[16]
2 fields Ieee80211HtCapabilitiesSupportedMcsSetFields

CONSTANTS

NameValueTypeDescription
IEEE80211_CCMP_128_MIC_LEN 8 uint32
IEEE80211_CCMP_256_MIC_LEN 16 uint32
IEEE80211_CCMP_HDR_LEN 8 uint32

IEEE Std 802.11-2016 12.5.3.2

IEEE80211_CCMP_PN_LEN 6 uint32
IEEE80211_TIDS_MAX 16 uint32

IEEE Std 802.11-2016, 9.2.4.5