MAC
[MACSW]

Common MAC types, defines and utils functions. More...

Collaboration diagram for MAC:

Data Structures

struct  mac_frame
 MAC Frame structure. More...
struct  key_info_tag
 Structure containing the information about a key. More...
struct  mac_htoprnelmt
 MAC HT operation element. More...
struct  mac_mu_edca_param_set
 MU EDCA Parameter Set Element. More...
struct  mac_edca_param_set
 EDCA Parameter Set Element. More...
struct  mac_hdr_ctrl_short
 Structure of a short control frame MAC header. More...
struct  mac_hdr_ctrl
 Structure of a long control frame MAC header. More...
struct  mac_hdr
 Structure of a Data/Management frame MAC header. More...
struct  mac_hdr_qos
 Structure of a QoS Data frame MAC header. More...
struct  mac_hdr_qos_htc
 Structure of a QoS Data + HTC frame MAC header. More...
struct  mac_hdr_long
 Structure of a 4-address Data frame MAC header. More...
struct  mac_hdr_long_qos
 Structure of a 4-address QoS Data frame MAC header. More...
struct  mac_eth_hdr
 Structure of Ethernet Header. More...
struct  bcn_frame
 Structure of a Beacon or ProbeRsp frame. More...
struct  preq_frame
 Structure of a Probe Request frame. More...
struct  bar_frame
 Structure of a Block Acknowledgment Request frame. More...
struct  ba_base
 Base structure of a Block Acknowledgment frame. More...
struct  ba_ssc_bitmap
 Structure of generic BA SSC + bitmap. More...
struct  ba_ssc_bitmap_32
 Structure of BA SSC + 32-bit bitmap. More...
struct  ba_ssc_bitmap_64
 Structure of BA SSC + 64-bit bitmap. More...
struct  ba_ssc_bitmap_128
 Structure of BA SSC + 128-bit bitmap. More...
struct  ba_ssc_bitmap_256
 Structure of BA SSC + 256-bit bitmap. More...
struct  ba_msta_aid_tid_info
 Multi-STA AID/TID info field. More...
struct  ba_comp_frame
 Structure of a Compressed Block Acknowledgment frame. More...
struct  amsdu_hdr
 Structure of A-MSDU Header. More...
struct  he_basic_trigger_user_info
 Structure of the User Info part of the HE Basic Trigger frame. More...
struct  he_user_info_base
 Base part of the User Info field present in the HE trigger frames. More...
struct  he_trigger_base
 Base structure of a HE Trigger frame. More...
struct  mac_addr
 MAC address structure. More...
struct  mac_ssid
 SSID. More...
struct  mac_chan_def
 Primary Channel definition. More...
struct  mac_chan_op
 Operating Channel. More...
struct  mac_scan_result
 Scan result element, parsed from beacon or probe response frames. More...
struct  mac_rateset
 Structure containing the legacy rateset of a station. More...
struct  mac_sec_key
 Structure defining a security key. More...
struct  mac_htcapability
 MAC HT capability information element. More...
struct  mac_vhtcapability
 MAC VHT capability information element. More...
struct  mac_he_mcs_nss_supp
 Structure listing the per-NSS, per-BW supported MCS combinations. More...
struct  mac_hecapability
 MAC HE capability information element. More...

Defines

#define TU_DURATION   1024
 duration of a Time Unit in microseconds
#define MAC_BASIC_RATE   0x80
 Mask to test if it's a basic rate - BIT(7).
#define WORD_ALIGN   3
 Mask for extracting/checking word alignment.
#define MAC_ADDR_CMP(addr1_ptr, addr2_ptr)
 Compare two MAC addresses.
#define MAC_ADDR_CMP_PACKED(__a1, __a2)   (memcmp(__a1, __a2, MAC_ADDR_LEN) == 0)
 Compare two MAC addresses whose alignment is not known.
#define MAC_ADDR_CPY(addr1_ptr, addr2_ptr)
 Copy a MAC address.
#define MAC_SSID_CMP(ssid1_ptr, ssid2_ptr)
 Compare two SSID.
#define MAC_ADDR_GROUP(mac_addr_ptr)   ((*((uint8_t *)(mac_addr_ptr))) & 1)
 Check if MAC address is a group address: test the multicast bit.
#define MAC_FRAME_LEN   512
 Maximum size of the frame body for frames that are internally carried.
#define MAC_DEFAULT_KEY_COUNT   4
 Max number of default keys for given VIF.
#define MAC_DEFAULT_MFP_KEY_COUNT   6
 Max number of MFP key for given VIF.
#define MAC_QOS_INFO_STA_UAPSD_ENABLED_VO   CO_BIT(0)
 UAPSD enabled on VO.
#define MAC_QOS_INFO_STA_UAPSD_ENABLED_VI   CO_BIT(1)
 UAPSD enabled on VI.
#define MAC_QOS_INFO_STA_UAPSD_ENABLED_BK   CO_BIT(2)
 UAPSD enabled on BK.
#define MAC_QOS_INFO_STA_UAPSD_ENABLED_BE   CO_BIT(3)
 UAPSD enabled on BE.
#define MAC_QOS_INFO_STA_UAPSD_ENABLED_ALL   0x0F
 UAPSD enabled on all access categories.
#define MAC_QOS_INFO_AP_UAPSD_ENABLED   CO_BIT(7)
 UAPSD enabled in AP.
#define MAC_PROT_NONERP_PRESENT_BIT   CO_BIT(0)
 Non-ERP stations are present.
#define MAC_PROT_USE_PROTECTION_BIT   CO_BIT(1)
 ERP protection shall be used.
#define MAC_PROT_BARKER_PREAMB_BIT   CO_BIT(2)
 Barker preamble protection shall be used.
#define MAC_PROT_ERP_STATUS_MASK
 ERP protection status mask.
#define HE_MAC_CAPA_VAL_GET(he_cap, field)
 Get the value of a bit field in the HE MAC capability element.
#define HE_MAC_CAPA_VAL_SET(he_cap, field, val)
 Set the value of a bit field in the HE MAC capability element.
#define HE_MAC_CAPA_BIT_IS_SET(he_cap, bit)
 Test if a bit in the HE MAC capability element is set.
#define HE_MAC_CAPA_BIT_SET(he_cap, bit)
 Set a bit in the HE MAC capability element.
#define HE_MAC_CAPA_BIT_CLR(he_cap, bit)
 Clear a bit in the HE MAC capability element.
#define HE_PHY_CAPA_VAL_GET(he_cap, field)
 Get the value of a bit field in the HE PHY capability element.
#define HE_PHY_CAPA_VAL_SET(he_cap, field, val)
 Set the value of a bit field in the HE PHY capability element.
#define HE_PHY_CAPA_BIT_IS_SET(he_cap, bit)
 Test if a bit in the HE PHY capability element is set.
#define HE_PHY_CAPA_BIT_SET(he_cap, bit)
 Set a bit in the HE PHY capability element.
#define HE_PHY_CAPA_BIT_CLR(he_cap, bit)
 Clear a bit in the HE PHY capability element.
#define MAC_ADDR_LEN   6
 MAC address length in bytes.
#define MAC_SSID_LEN   32
 SSID maximum length.
#define MAC_DOMAINCHANNEL_24G_MAX   14
 max number of channels in the 2.4 GHZ band
#define MAC_DOMAINCHANNEL_5G_MAX   28
 max number of channels in the 5 GHZ band
#define MAC_RATESET_LEN   12
 MAC rateset maximum length.
#define MAC_SEC_KEY_LEN   32
 MAC Security Key maximum length.
#define MAX_MCS_LEN   16
 MCS bitfield maximum size (in bytes).
#define MAC_HE_MAC_CAPA_LEN   6
 Length (in bytes) of the MAC HE capability field.
#define MAC_HE_PHY_CAPA_LEN   11
 Length (in bytes) of the PHY HE capability field.
#define MAC_HE_PPE_THRES_MAX_LEN   25
 Maximum length (in bytes) of the PPE threshold data.
#define __PACKED   __attribute__ ((__packed__))
 Pack a structure field.

Enumerations

enum  mac_vif_type {
  VIF_STA, VIF_IBSS, VIF_AP, VIF_MESH_POINT,
  VIF_MONITOR, VIF_UNKNOWN
}
 

Interface types.

More...
enum  mac_bss_type { INFRASTRUCTURE_MODE = 1, INDEPENDENT_BSS_MODE, ANY_BSS_MODE }
 

BSS type.


enum  mac_chan_band { PHY_BAND_2G4, PHY_BAND_5G, PHY_BAND_MAX }
 

Channel Band.

More...
enum  mac_chan_bandwidth {
  PHY_CHNL_BW_20, PHY_CHNL_BW_40, PHY_CHNL_BW_80, PHY_CHNL_BW_160,
  PHY_CHNL_BW_80P80, PHY_CHNL_BW_OTHER
}
 

Operating Channel Bandwidth.

More...
enum  mac_chan_flags { CHAN_NO_IR = CO_BIT(0), CHAN_DISABLED = CO_BIT(1), CHAN_RADAR = CO_BIT(2) }
 

Channel Flag.

More...
enum  mac_cipher_suite {
  MAC_CIPHER_WEP40 = 0, MAC_CIPHER_TKIP = 1, MAC_CIPHER_CCMP = 2, MAC_CIPHER_WEP104 = 3,
  MAC_CIPHER_WPI_SMS4 = 4, MAC_CIPHER_BIP_CMAC_128 = 5, MAC_CIPHER_GCMP_128, MAC_CIPHER_GCMP_256,
  MAC_CIPHER_CCMP_256, MAC_CIPHER_BIP_GMAC_128, MAC_CIPHER_BIP_GMAC_256, MAC_CIPHER_BIP_CMAC_256,
  MAC_CIPHER_INVALID = 0xFF
}
 

Cipher suites (order is important as it is used by MACHW).

More...
enum  mac_akm_suite {
  MAC_AKM_NONE, MAC_AKM_PRE_RSN, MAC_AKM_8021X, MAC_AKM_PSK,
  MAC_AKM_FT_8021X, MAC_AKM_FT_PSK, MAC_AKM_8021X_SHA256, MAC_AKM_PSK_SHA256,
  MAC_AKM_TDLS, MAC_AKM_SAE, MAC_AKM_FT_OVER_SAE, MAC_AKM_8021X_SUITE_B,
  MAC_AKM_8021X_SUITE_B_192, MAC_AKM_FILS_SHA256, MAC_AKM_FILS_SHA384, MAC_AKM_FT_FILS_SHA256,
  MAC_AKM_FT_FILS_SHA384, MAC_AKM_OWE, MAC_AKM_WAPI_CERT, MAC_AKM_WAPI_PSK
}
 

Authentication and Key Management suite.

More...
enum  mac_legacy_rates {
  MAC_RATE_1MBPS = 2, MAC_RATE_2MBPS = 4, MAC_RATE_5_5MBPS = 11, MAC_RATE_6MBPS = 12,
  MAC_RATE_9MBPS = 18, MAC_RATE_11MBPS = 22, MAC_RATE_12MBPS = 24, MAC_RATE_18MBPS = 36,
  MAC_RATE_24MBPS = 48, MAC_RATE_36MBPS = 72, MAC_RATE_48MBPS = 96, MAC_RATE_54MBPS = 108
}
 

Legacy rate 802.11 definitions.

More...
enum  mac_bss_membership { MAC_BSS_MEMBERSHIP_HT_PHY = 127, MAC_BSS_MEMBERSHIP_VHT_PHY = 126 }
 

BSS Membership Selector definitions.

More...
enum  mac_ac {
  AC_BK = 0, AC_BE, AC_VI, AC_VO,
  AC_MAX
}
 

Access Category enumeration.

More...
enum  mac_tid {
  TID_0, TID_1, TID_2, TID_3,
  TID_4, TID_5, TID_6, TID_7,
  TID_MGT, TID_MAX
}
 

Traffic ID enumeration.

More...
enum  mac_sta_flags {
  STA_QOS_CAPA = CO_BIT(0), STA_HT_CAPA = CO_BIT(1), STA_VHT_CAPA = CO_BIT(2), STA_MFP_CAPA = CO_BIT(3),
  STA_OPMOD_NOTIF = CO_BIT(4), STA_HE_CAPA = CO_BIT(5)
}
 

Station flags.

More...
enum  mac_connection_flags {
  CONTROL_PORT_HOST = CO_BIT(0), CONTROL_PORT_NO_ENC = CO_BIT(1), DISABLE_HT = CO_BIT(2), WPA_WPA2_IN_USE = CO_BIT(3),
  MFP_IN_USE = CO_BIT(4)
}
 

Connection flags.

More...

Functions

uint32_t mac_paid_gid_sta_compute (struct mac_addr const *mac_addr)
 Compute the PAID/GID to be put in the THD for frames that need to be sent to an AP or a Mesh peer.
uint32_t mac_paid_gid_ap_compute (struct mac_addr const *mac_addr, uint16_t aid)
 Compute the PAID/GID to be put in the THD for frames that need to be sent to a STA connected to an AP or a TDLS peer.
enum mac_akm_suite mac_akm_suite_value (uint32_t akm_suite)
 Convert IEE802.11 AKM suite into enum mac_akm_suite.
enum mac_cipher_suite mac_cipher_suite_value (uint32_t cipher_suite)
 Convert IEE802.11 Cipher suite into enum mac_cipher_suite.
__INLINE bool mac_nontxed_bssid_get (uint8_t bssid_index, uint8_t max_bssid_ind, struct mac_addr const *ref_bssid, struct mac_addr *bssid)
 Get the value of the nonTransmitted BSSID, based on the reference BSSID, the nonTransmitted BSSID index and the Maximum BSSID indicator.
__INLINE void mac_ref_bssid_get (uint8_t bssid_index, uint8_t max_bssid_ind, struct mac_addr const *bssid, struct mac_addr *ref_bssid)
 Get the value of the refernec BSSID, based on the nonTransmitted BSSID, the nonTransmitted BSSID index and the Maximum BSSID indicator.
static uint32_t mac_ie_find (uint32_t addr, uint16_t buflen, uint8_t ie_id, uint16_t *len)
 Find an information element in the variable part of a management frame body.
static uint32_t mac_ext_ie_find (uint32_t addr, uint16_t buflen, uint8_t ext_ie_id, uint16_t *len)
 Find an extended information element in the variable part of a management frame body.
static uint32_t mac_vsie_find (uint32_t addr, uint16_t buflen, uint8_t const *oui, uint8_t ouilen, uint16_t *len)
 Find a vendor specific information element in the variable part of a management frame body.
uint32_t mac_ie_rates_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the Supported Rates element in a frame buffer.
uint32_t mac_ie_ext_rates_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the Extended Supported Rates element in a frame buffer.
uint32_t mac_ie_ssid_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the SSID element in a frame buffer.
uint32_t mac_ie_country_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the Country element in a frame buffer.
uint32_t mac_ie_rsn_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the RSN element in a frame buffer.
uint32_t mac_ie_wpa_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the WPA element in a frame buffer.
uint32_t mac_ie_wapi_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the WAPI element in a frame buffer.
uint32_t mac_ie_mesh_id_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the Mesh ID element in a frame buffer.
uint32_t mac_ie_mesh_peer_mgmt_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the Mesh Peering Management element in a frame buffer.
uint32_t mac_ie_mesh_awake_win_find (uint32_t buffer, uint16_t buflen)
 Search for the Mesh Awake Window element in a frame buffer.
uint32_t mac_ie_mesh_conf_find (uint32_t buffer, uint16_t buflen)
 Search for the Mesh Configuration element in a frame buffer.
uint32_t mac_ie_tim_find (uint32_t buffer, uint16_t buflen)
 Search for the TIM element in a frame buffer.
uint32_t mac_ie_csa_find (uint32_t buffer, uint16_t buflen)
 Search for the Channel Switch Announcement element in a frame buffer.
uint32_t mac_ie_ecsa_find (uint32_t buffer, uint16_t buflen)
 Search for the Extended Channel Switch Announcement element in a frame buffer.
uint32_t mac_ie_sec_chnl_offset_find (uint32_t buffer, uint16_t buflen, bool *valid_len)
 Search for the Secondary Channel Offset element in a frame buffer.
uint32_t mac_ie_wide_bw_chnl_find (uint32_t buffer, uint16_t buflen, bool *valid_len)
 Search for the Wide Bandwidth Channel sub-element in a frame buffer.
uint32_t mac_ie_ds_find (uint32_t buffer, uint16_t buflen)
 Search for the DS element in a frame buffer.
uint32_t mac_ie_mgmt_mic_find (uint32_t buffer, uint16_t buflen)
 Search for the Management MIC element in a frame buffer.
uint32_t mac_ie_qos_capa_find (uint32_t buffer, uint16_t buflen)
 Search for the QoS Capability element in a frame buffer.
uint32_t mac_ie_erp_find (uint32_t buffer, uint16_t buflen)
 Search for the ERP element in a frame buffer.
uint32_t mac_ie_op_mode_notif_find (uint32_t buffer, uint16_t buflen)
 Search for the Operating Mode Notification element in a frame buffer.
uint32_t mac_ie_power_constraint_find (uint32_t buffer, uint16_t buflen)
 Search for the Power Constraint element in a frame buffer.
uint32_t mac_ie_mde_find (uint32_t buffer, uint16_t buflen)
 Search for the MDE element in a frame buffer.
uint32_t mac_ie_wmm_param_find (uint32_t buffer, uint16_t buflen)
 Search for the WMM parameter element in a frame buffer.
uint32_t mac_ie_ht_capa_find (uint32_t buffer, uint16_t buflen)
 Search for the HT capability element in a frame buffer.
uint32_t mac_ie_multi_bssid_find (uint32_t buffer, uint16_t buflen)
 Search for the Multiple BSSID element in a frame buffer.
uint32_t mac_ie_sub_non_txed_bssid_find (uint32_t buffer, uint16_t buflen)
 Search for the nonTransmitted BSSID profile sub-element in a frame buffer.
uint32_t mac_ie_non_txed_bssid_capa_find (uint32_t buffer, uint16_t buflen)
 Search for the nonTransmitted BSSID capability element in a frame buffer.
uint32_t mac_ie_multi_bssid_index_find (uint32_t buffer, uint16_t buflen)
 Search for the nonTransmitted BSSID index element in a frame buffer.
uint32_t mac_ie_vht_capa_find (uint32_t buffer, uint16_t buflen)
 Search for the VHT capability element in a frame buffer.
uint32_t mac_ie_he_capa_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the HE capability element in a frame buffer.
uint32_t mac_ie_ht_oper_find (uint32_t buffer, uint16_t buflen)
 Search for the HT operation element in a frame buffer.
uint32_t mac_ie_vht_oper_find (uint32_t buffer, uint16_t buflen)
 Search for the VHT operation element in a frame buffer.
uint32_t mac_ie_he_oper_find (uint32_t buffer, uint16_t buflen, uint8_t *ie_len)
 Search for the HE operation element in a frame buffer.
uint32_t mac_ie_mu_edca_find (uint32_t buffer, uint16_t buflen)
 Search for the MU EDCA element in a frame buffer.
uint32_t mac_ie_uora_find (uint32_t buffer, uint16_t buflen)
 Search for the UORA element in a frame buffer.
__INLINE uint16_t mac_ie_len (uint32_t addr)
 Compute the total length of an information element.

Variables

const uint8_t mac_tid2ac [TID_MAX]
 Array converting a TID to its associated AC.
const uint8_t mac_ac2uapsd [AC_MAX]
 Array converting an AC to its corresponding bit in the QoS Information field.
const uint8_t mac_aci2ac [AC_MAX]
 Array converting an ACI to its corresponding AC. See Table 9-136 in 802.11-2016.
const uint8_t mac_ac2aci [AC_MAX]
 Array converting an AC to its corresponding ACI. See Table 9-136 in 802.11-2016.
const uint8_t mac_id2rate [MAC_RATESET_LEN]
 Array converting a MAC HW rate id into its corresponding standard rate value.
struct mac_addr mac_addr_bcst = {{0xFFFF, 0xFFFF, 0xFFFF}}
 Constant value corresponding to the Broadcast MAC address.
const uint8_t mac_tid2ac []
 Array converting a TID to its associated AC.
const uint8_t mac_ac2uapsd []
 Array converting an AC to its corresponding bit in the QoS Information field.
const uint8_t mac_aci2ac []
 Array converting an ACI to its corresponding AC. See Table 9-136 in 802.11-2016.
const uint8_t mac_ac2aci []
 Array converting an AC to its corresponding ACI. See Table 9-136 in 802.11-2016.
const uint8_t mac_id2rate []
 Array converting a MAC HW rate id into its corresponding standard rate value.
struct mac_addr mac_addr_bcst
 Constant value corresponding to the Broadcast MAC address.
struct mac_hdr_ctrl_short __PACKED
 Structure of a short control frame MAC header.

Information Element offsets, lengths and other definitions



enum  mac_ht_oper_prot_val { MAC_HT_OPER_PROT_NO_PROT = 0, MAC_HT_OPER_PROT_NONMEMBER, MAC_HT_OPER_PROT_20MHZ, MAC_HT_OPER_PROP_NON_HT_MIXED }
 

802.11 information element definition


#define MAC_LEN_OFT   1
 802.11 information element definition
#define MAC_SSID_ID_OFT   0
 802.11 information element definition
#define MAC_SSID_LEN_OFT   1
 802.11 information element definition
#define MAC_SSID_SSID_OFT   2
 802.11 information element definition
#define MAC_SSID_MAX_LEN   (MAC_SSID_LEN + 2)
 802.11 information element definition
#define MAC_RATES_ID_OFT   0
 802.11 information element definition
#define MAC_RATES_LEN_OFT   1
 802.11 information element definition
#define MAC_RATES_RATES_OFT   2
 802.11 information element definition
#define MAC_RATES_ELMT_MAX_LEN   8
 802.11 information element definition
#define MAC_RATES_MAX_LEN   10
 802.11 information element definition
#define MAC_RATES_MIN_LEN   3
 802.11 information element definition
#define MAC_FH_ID_OFT   0
 802.11 information element definition
#define MAC_FH_LEN_OFT   1
 802.11 information element definition
#define MAC_FH_DWELL_OFT   2
 802.11 information element definition
#define MAC_FH_HOP_SET_OFT   4
 802.11 information element definition
#define MAC_FH_HOP_PAT_OFT   5
 802.11 information element definition
#define MAC_FH_HOP_IDX_OFT   6
 802.11 information element definition
#define MAC_FH_PARAM_LEN   7
 802.11 information element definition
#define MAC_DS_ID_OFT   0
 802.11 information element definition
#define MAC_DS_LEN_OFT   1
 802.11 information element definition
#define MAC_DS_CHANNEL_OFT   2
 802.11 information element definition
#define MAC_DS_PARAM_LEN   3
 802.11 information element definition
#define MAC_CF_ID_OFT   0
 802.11 information element definition
#define MAC_CF_LEN_OFT   1
 802.11 information element definition
#define MAC_CF_COUNT_OFT   2
 802.11 information element definition
#define MAC_CF_PERIOD_OFT   3
 802.11 information element definition
#define MAC_CF_MAX_DUR_OFT   4
 802.11 information element definition
#define MAC_CF_REM_DUR_OFT   6
 802.11 information element definition
#define MAC_CF_PARAM_LEN   8
 802.11 information element definition
#define MAC_TIM_ID_OFT   0
 802.11 information element definition
#define MAC_TIM_LEN_OFT   1
 802.11 information element definition
#define MAC_TIM_CNT_OFT   2
 802.11 information element definition
#define MAC_TIM_PERIOD_OFT   3
 802.11 information element definition
#define MAC_TIM_BMPC_OFT   4
 802.11 information element definition
#define MAC_TIM_BMP_OFT   5
 802.11 information element definition
#define MAC_TIM_MIN_LEN   6
 802.11 information element definition
#define MAC_TIM_MAX_LEN   (5 + MAC_TIM_SIZE)
 802.11 information element definition
#define MAC_TIM_BCMC_PRESENT   CO_BIT(0)
 802.11 information element definition
#define MAC_IBSS_ID_OFT   0
 802.11 information element definition
#define MAC_IBSS_LEN_OFT   1
 802.11 information element definition
#define MAC_IBSSATIM_OFT   2
 802.11 information element definition
#define MAC_IBSS_PARAM_LEN   4
 802.11 information element definition
#define MAC_COUNTRY_ID_OFT   0
 802.11 information element definition
#define MAC_COUNTRY_LEN_OFT   1
 802.11 information element definition
#define MAC_COUNTRY_MIN_LEN   8
 802.11 information element definition
#define MAC_COUNTRY_STRING_OFT   2
 802.11 information element definition
#define MAC_COUNTRY_STRING_LEN   3
 802.11 information element definition
#define MAC_COUNTRY_FIRST_CHAN_OFT   0
 802.11 information element definition
#define MAC_COUNTRY_NB_CHAN_OFT   1
 802.11 information element definition
#define MAC_COUNTRY_PWR_LEVEL_OFT   2
 802.11 information element definition
#define MAC_COUNTRY_TRIPLET_LEN   3
 802.11 information element definition
#define MAC_CHALLENGE_ID_OFT   0
 802.11 information element definition
#define MAC_CHALLENGE_LEN_OFT   1
 802.11 information element definition
#define MAC_CHALLENGE_TEXT_OFT   2
 802.11 information element definition
#define MAC_ERP_ID_OFT   0
 802.11 information element definition
#define MAC_ERP_LEN_OFT   1
 802.11 information element definition
#define MAC_ERP_PARAM_OFT   2
 802.11 information element definition
#define MAC_ERP_LEN   3
 802.11 information element definition
#define MAC_ERP_NON_ERP_PRESENT   CO_BIT(0)
 802.11 information element definition
#define MAC_ERP_USE_PROTECTION   CO_BIT(1)
 802.11 information element definition
#define MAC_ERP_BARKER_PREAMBLE_MODE   CO_BIT(2)
 802.11 information element definition
#define MAC_ERP_IE_PRESENT   CO_BIT(7)
 802.11 information element definition
#define MAC_RSNIE_ID_OFT   0
 802.11 information element definition
#define MAC_RSNIE_LEN_OFT   1
 802.11 information element definition
#define MAC_RSNIE_INFO_OFT   2
 802.11 information element definition
#define MAC_RSNIE_VERSION_OFT   2
 802.11 information element definition
#define MAC_RSNIE_GROUP_CIPHER_OFT   4
 802.11 information element definition
#define MAC_RSNIE_PAIRWISE_CIPHER_SUITE_CNT_OFT   8
 802.11 information element definition
#define MAC_RSNIE_PAIRWISE_CIPHER_SUITE_LIST_OFT   10
 802.11 information element definition
#define MAC_RSNIE_PAIRWISE_CIPHER_SIZE   4
 802.11 information element definition
#define MAC_RSNIE_KEY_MANAGEMENT_SUITE_CNT_OFT   14
 802.11 information element definition
#define MAC_RSNIE_KEY_MANAGEMENT_SUITE_LIST_OFT   16
 802.11 information element definition
#define MAC_RSNIE_KEY_MANAGEMENT_SIZE   4
 802.11 information element definition
#define MAC_RSNIE_RSN_CAPABILITIES_OFT   20
 802.11 information element definition
#define MAC_RSNIE_RSN_PMKID_COUNT_OFT   22
 802.11 information element definition
#define MAC_RSNIE_RSN_PMKID_COUNT_LIST_OFT   24
 802.11 information element definition
#define MAC_RSNIE_RSN_PMKID_SIZE   16
 802.11 information element definition
#define MAC_RSNIE_MIN_LEN   20
 802.11 information element definition
#define MAC_WPA_ID_OFT   0
 802.11 information element definition
#define MAC_WPA_LEN_OFT   1
 802.11 information element definition
#define MAC_WPA_INFO_OFT   2
 802.11 information element definition
#define MAC_WPA_VERSION_OFT   6
 802.11 information element definition
#define MAC_WPA_GROUP_CIPHER_OFT   8
 802.11 information element definition
#define MAC_WPA_PAIRWISE_CIPHER_SUITE_CNT_OFT   12
 802.11 information element definition
#define MAC_WPA_PAIRWISE_CIPHER_SUITE_LIST_OFT   14
 802.11 information element definition
#define MAC_WPA_CIPHER_SIZE   4
 802.11 information element definition
#define MAC_WPA_KEY_MANAGEMENT_SUITE_CNT_OFT   18
 802.11 information element definition
#define MAC_WPA_KEY_MANAGEMENT_SUITE_LIST_OFT   20
 802.11 information element definition
#define MAC_WPA_KEY_MANAGEMENT_SIZE   4
 802.11 information element definition
#define MAC_WPA_CAPABILITIES_OFT   24
 802.11 information element definition
#define MAC_WPA_MIN_LEN   24
 802.11 information element definition
#define MAC_WAPI_ID_OFT   0
 802.11 information element definition
#define MAC_WAPI_LEN_OFT   1
 802.11 information element definition
#define MAC_WAPI_INFO_OFT   2
 802.11 information element definition
#define MAC_WAPI_VERSION_OFT   2
 802.11 information element definition
#define MAC_WAPI_AKM_SUITE_CNT_OFT   4
 802.11 information element definition
#define MAC_WAPI_AKM_SUITE_LIST_OFT   6
 802.11 information element definition
#define MAC_WAPI_AKM_SUITE_SIZE   4
 802.11 information element definition
#define MAC_WAPI_PAIRWISE_CIPHER_SUITE_CNT_OFT   10
 802.11 information element definition
#define MAC_WAPI_PAIRWISE_CIPHER_SUITE_LIST_OFT   12
 802.11 information element definition
#define MAC_WAPI_CIPHER_SUITE_SIZE   4
 802.11 information element definition
#define MAC_WAPI_GROUP_CIPHER_SUITE_OFT   16
 802.11 information element definition
#define MAC_WAPI_CAPABILITY_OFT   20
 802.11 information element definition
#define MAC_WAPI_BKID_CNT_OFT   22
 802.11 information element definition
#define MAC_WAPI_BKID_LIST_OFT   24
 802.11 information element definition
#define MAC_WAPI_MIN_LEN   22
 802.11 information element definition
#define MAC_BSS_LOAD_ID_OFT   0
 802.11 information element definition
#define MAC_BSS_LOAD_LEN_OFT   1
 802.11 information element definition
#define MAC_BSS_LOAD_STA_CNT_OFT   2
 802.11 information element definition
#define MAC_BSS_LOAD_CH_UTILIZATION_OFT   4
 802.11 information element definition
#define MAC_BSS_LOAD_AVAIL_ADM_CAPA   5
 802.11 information element definition
#define MAC_BSS_LOAD_LEN   7
 802.11 information element definition
#define MAC_EDCA_PARAM_ID_OFT   0
 802.11 information element definition
#define MAC_EDCA_PARAM_LEN_OFT   1
 802.11 information element definition
#define MAC_EDCA_PARAM_QOS_INFO_OFT   2
 802.11 information element definition
#define MAC_EDCA_PARAM_RESERVED_OFT   3
 802.11 information element definition
#define MAC_EDCA_PARAM_BE_PARAM_OFT   4
 802.11 information element definition
#define MAC_EDCA_PARAM_BK_PARAM_OFT   8
 802.11 information element definition
#define MAC_EDCA_PARAM_VI_PARAM_OFT   12
 802.11 information element definition
#define MAC_EDCA_PARAM_VO_PARAM_OFT   16
 802.11 information element definition
#define MAC_EDCA_PARAM_LEN   20
 802.11 information element definition
#define MAC_QOS_CAPA_ID_OFT   0
 802.11 information element definition
#define MAC_QOS_CAPA_LEN_OFT   1
 802.11 information element definition
#define MAC_QOS_CAPA_INFO_OFT   2
 802.11 information element definition
#define MAC_QOS_CAPA_LEN   3
 802.11 information element definition
#define MAC_MULTI_BSSID_ID_OFT   0
 802.11 information element definition
#define MAC_MULTI_BSSID_LEN_OFT   1
 802.11 information element definition
#define MAC_MULTI_BSSID_MAX_INDICATOR_OFT   2
 802.11 information element definition
#define MAC_MULTI_BSSID_SUB_IES_OFT   3
 802.11 information element definition
#define MAC_MULTI_BSSID_ELMT_MIN_LEN   4
 802.11 information element definition
#define MAC_MULTI_BSSID_MIN_LEN   6
 802.11 information element definition
#define MAC_NON_TXED_BSSID_CAPA_ID_OFT   0
 802.11 information element definition
#define MAC_NON_TXED_BSSID_CAPA_LEN_OFT   1
 802.11 information element definition
#define MAC_NON_TXED_BSSID_CAPA_OFT   2
 802.11 information element definition
#define MAC_NON_TXED_BSSID_CAPA_LEN   4
 802.11 information element definition
#define MAC_MULTI_BSSID_INDEX_ID_OFT   0
 802.11 information element definition
#define MAC_MULTI_BSSID_INDEX_LEN_OFT   1
 802.11 information element definition
#define MAC_MULTI_BSSID_INDEX_OFT   2
 802.11 information element definition
#define MAC_MULTI_BSSID_DTIM_PERIOD_OFT   3
 802.11 information element definition
#define MAC_MULTI_BSSID_DTIM_COUNT_OFT   4
 802.11 information element definition
#define MAC_MULTI_BSSID_INDEX_MIN_LEN   3
 802.11 information element definition
#define MAC_HT_CAPA_ID_OFT   0
 802.11 information element definition
#define MAC_HT_CAPA_LEN_OFT   1
 802.11 information element definition
#define MAC_HT_CAPA_INFO_OFT   2
 802.11 information element definition
#define MAC_HT_CAPA_AMPDU_PARAM_OFT   4
 802.11 information element definition
#define MAC_HT_CAPA_SUPPORTED_MCS_SET_OFT   5
 802.11 information element definition
#define MAC_HT_CAPA_EXTENDED_CAPA_OFT   21
 802.11 information element definition
#define MAC_HT_CAPA_TX_BEAM_FORMING_CAPA_OFT   23
 802.11 information element definition
#define MAC_HT_CAPA_ASEL_CAPA_OFT   27
 802.11 information element definition
#define MAC_HT_CAPA_ELMT_LEN   26
 802.11 information element definition
#define MAC_HT_CAPA_ELMT_LEN_WD   (CO_ALIGN4_HI(MAC_HT_CAPA_ELMT_LEN) / 4)
 802.11 information element definition
#define MAC_HT_CAPA_LEN   28
 802.11 information element definition
#define MAC_HT_OPER_ID_OFT   0
 802.11 information element definition
#define MAC_HT_OPER_LEN_OFT   1
 802.11 information element definition
#define MAC_HT_OPER_PRIM_CH_OFT   2
 802.11 information element definition
#define MAC_HT_OPER_INFO_OFT   3
 802.11 information element definition
#define MAC_HT_OPER_INFO_SUBSET2_OFT   4
 802.11 information element definition
#define MAC_HT_OPER_OP_MODE_MASK   0x0003
 802.11 information element definition
#define MAC_HT_OPER_NONGF_MASK   0x0004
 802.11 information element definition
#define MAC_HT_OPER_OBSS_MASK   0x0010
 802.11 information element definition
#define MAC_HT_OPER_INFO_SUBSET3_OFT   6
 802.11 information element definition
#define MAC_HT_OPER_BASIC_MSC_SET_OFT   8
 802.11 information element definition
#define MAC_HT_OPER_ELMT_LEN   22
 802.11 information element definition
#define MAC_HT_OPER_LEN   24
 802.11 information element definition
#define MAC_VHT_CAPA_ELMT_LEN   12
 802.11 information element definition
#define MAC_VHT_CAPA_ELMT_LEN_WD   (CO_ALIGN4_HI(MAC_VHT_CAPA_ELMT_LEN) / 4)
 802.11 information element definition
#define MAC_VHT_CAPA_LEN   14
 802.11 information element definition
#define MAC_VHT_CAPA_ID_OFT   0
 802.11 information element definition
#define MAC_VHT_CAPA_LEN_OFT   1
 802.11 information element definition
#define MAC_VHT_CAPA_INFO_OFT   2
 802.11 information element definition
#define MAC_VHT_RX_MCS_MAP_OFT   6
 802.11 information element definition
#define MAC_VHT_RX_HIGHEST_RATE_OFT   8
 802.11 information element definition
#define MAC_VHT_TX_MCS_MAP_OFT   10
 802.11 information element definition
#define MAC_VHT_TX_HIGHEST_RATE_OFT   12
 802.11 information element definition
#define MAC_VHT_OPER_ELMT_LEN   5
 802.11 information element definition
#define MAC_VHT_OPER_LEN   7
 802.11 information element definition
#define MAC_VHT_OPER_ID_OFT   0
 802.11 information element definition
#define MAC_VHT_OPER_LEN_OFT   1
 802.11 information element definition
#define MAC_VHT_CHAN_WIDTH_OFT   2
 802.11 information element definition
#define MAC_VHT_CENTER_FREQ0_OFT   3
 802.11 information element definition
#define MAC_VHT_CENTER_FREQ1_OFT   4
 802.11 information element definition
#define MAC_VHT_BASIC_MCS_OFT   5
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_ID_OFT   0
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_LEN_OFT   1
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_INFO_OFT   2
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_ELMT_LEN   1
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_LEN   3
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_INFO_REQ_MASK   0x01
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_40_INTOLERANT_MASK   0x02
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_20_BSS_WIDTH_REQ_MASK   0x04
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_OBSS_SCAN_REQ_MASK   0x08
 802.11 information element definition
#define MAC_20_40_COEXISTENCE_OBSS_SCAN_GRANT_MASK   0x10
 802.11 information element definition
#define MAC_MGMT_MIC_ID_OFT   0
 802.11 information element definition
#define MAC_MGMT_MIC_LEN_OFT   1
 802.11 information element definition
#define MAC_MGMT_MIC_KEYID_OFT   2
 802.11 information element definition
#define MAC_MGMT_MIC_IPN_OFT   4
 802.11 information element definition
#define MAC_MGMT_MIC_IPN_LEN   6
 802.11 information element definition
#define MAC_MGMT_MIC_MIC_OFT   10
 802.11 information element definition
#define MAC_MGMT_MIC_MIC_LEN   8
 802.11 information element definition
#define MAC_MGMT_MIC_LEN   18
 802.11 information element definition
#define MAC_WMM_PARAM_ELMT_LEN   24
 802.11 information element definition
#define MAC_WMM_PARAM_LEN   26
 802.11 information element definition
#define MAC_WMM_PARAM_QOS_INFO_OFT   8
 802.11 information element definition
#define MAC_WMM_PARAM_SET_CNT_MSK   0x0F
 802.11 information element definition
#define MAC_WMM_PARAM_RESERVED_OFT   9
 802.11 information element definition
#define MAC_WMM_PARAM_BK_PARAM_OFT   14
 802.11 information element definition
#define MAC_WMM_PARAM_BE_PARAM_OFT   10
 802.11 information element definition
#define MAC_WMM_PARAM_VI_PARAM_OFT   18
 802.11 information element definition
#define MAC_WMM_PARAM_VO_PARAM_OFT   22
 802.11 information element definition
#define MAC_QINFO_OFT   6
 802.11 information element definition
#define MAC_QINFO_SET_COUNT_OFT   8
 802.11 information element definition
#define MAC_QINFO_SET_UAPSD_OFT   8
 802.11 information element definition
#define MAC_QINFO_SET_COUNT   0x07
 802.11 information element definition
#define MAC_QINFO_SET_UAPSD   0x80
 802.11 information element definition
#define SUP_MCS_RX_HIGHEST_RATE_OFT   10
 802.11 information element definition
#define SUP_MCS_RX_HIGHEST_RATE_SIZE   10
 802.11 information element definition
#define SUP_TX_MCS_SET_OFT   12
 802.11 information element definition
#define MAC_HE_CAPA_ID_OFT   0
 802.11 information element definition
#define MAC_HE_CAPA_LEN_OFT   1
 802.11 information element definition
#define MAC_HE_CAPA_EXT_ID_OFT   2
 802.11 information element definition
#define MAC_HE_CAPA_IE_MAC_CAPA_LEN   MAC_HE_MAC_CAPA_LEN
 802.11 information element definition
#define MAC_HE_CAPA_IE_PHY_CAPA_LEN   MAC_HE_PHY_CAPA_LEN
 802.11 information element definition
#define MAC_HE_MAC_CAPA_INFO_OFT   3
 802.11 information element definition
#define MAC_HE_PHY_CAPA_INFO_OFT   (MAC_HE_MAC_CAPA_INFO_OFT + MAC_HE_CAPA_IE_MAC_CAPA_LEN)
 802.11 information element definition
#define MAC_HE_MCS_INFO_OFT   (MAC_HE_PHY_CAPA_INFO_OFT + MAC_HE_CAPA_IE_PHY_CAPA_LEN)
 802.11 information element definition
#define MAC_HE_MCS_INFO_PER_BW_LEN   4
 802.11 information element definition
#define MAC_HE_CAPA_MIN_LEN   (MAC_HE_MCS_INFO_OFT + MAC_HE_MCS_INFO_PER_BW_LEN)
 802.11 information element definition
#define MAC_HE_CAPA_MAX_LEN
 802.11 information element definition
#define MAC_HE_OPER_ID_OFT   0
 802.11 information element definition
#define MAC_HE_OPER_LEN_OFT   1
 802.11 information element definition
#define MAC_HE_OPER_EXT_ID_OFT   2
 802.11 information element definition
#define MAC_HE_OPER_PARAM_OFT   3
 802.11 information element definition
#define MAC_HE_OPER_PARAM_LEN   4
 802.11 information element definition
#define MAC_HE_OPER_BSS_COLOR_OFT   24
 802.11 information element definition
#define MAC_HE_OPER_BSS_COLOR_PARTIAL_BIT   CO_BIT(30)
 802.11 information element definition
#define MAC_HE_OPER_BSS_COLOR_DISABLED_BIT   CO_BIT(31)
 802.11 information element definition
#define MAC_HE_OPER_BSS_COLOR_MASK   (0x3F << MAC_HE_OPER_BSS_COLOR_OFT)
 802.11 information element definition
#define MAC_HE_OPER_TXOP_DUR_RTS_THRES_OFT   4
 802.11 information element definition
#define MAC_HE_OPER_TXOP_DUR_RTS_THRES_MSK   (0x3FF << MAC_HE_OPER_TXOP_DUR_RTS_THRES_OFT)
 802.11 information element definition
#define MAC_HE_OPER_TXOP_DUR_RTS_THRES_DISABLED   1023
 802.11 information element definition
#define MAC_HE_OPER_BASIC_MCS_OFT   7
 802.11 information element definition
#define MAC_HE_OPER_MIN_LEN   9
 802.11 information element definition
#define MAC_HE_OPER_MAX_LEN   13
 802.11 information element definition
#define MAC_UORA_ELMT_LEN   1
 802.11 information element definition
#define MAC_UORA_LEN   4
 802.11 information element definition
#define MAC_UORA_ID_OFT   0
 802.11 information element definition
#define MAC_UORA_LEN_OFT   1
 802.11 information element definition
#define MAC_UORA_EXT_ID_OFT   2
 802.11 information element definition
#define MAC_UORA_OCW_RANGE   3
 802.11 information element definition
#define MAC_UORA_EOCW_MIN_OFT   0
 802.11 information element definition
#define MAC_UORA_EOCW_MIN_MASK   (0x7 << MAC_UORA_EOCW_MIN_OFT)
 802.11 information element definition
#define MAC_UORA_EOCW_MAX_OFT   3
 802.11 information element definition
#define MAC_UORA_EOCW_MAX_MASK   (0x7 << MAC_UORA_EOCW_MAX_OFT)
 802.11 information element definition
#define MAC_UORA_EOCW_DEFAULT_MIN   3
 802.11 information element definition
#define MAC_UORA_EOCW_DEFAULT_MAX   5
 802.11 information element definition
#define MAC_MU_EDCA_ELMT_LEN   13
 802.11 information element definition
#define MAC_MU_EDCA_LEN   16
 802.11 information element definition
#define MAC_MU_EDCA_ID_OFT   0
 802.11 information element definition
#define MAC_MU_EDCA_LEN_OFT   1
 802.11 information element definition
#define MAC_MU_EDCA_EXT_ID_OFT   2
 802.11 information element definition
#define MAC_MU_EDCA_QOS_INFO_OFT   3
 802.11 information element definition
#define MAC_MU_EDCA_PARAM_SET_CNT_MSK   0x0F
 802.11 information element definition
#define MAC_MU_EDCA_AC_BE_OFT   4
 802.11 information element definition
#define MAC_MU_EDCA_AC_BK_OFT   7
 802.11 information element definition
#define MAC_MU_EDCA_AC_VI_OFT   10
 802.11 information element definition
#define MAC_MU_EDCA_AC_VO_OFT   13
 802.11 information element definition
#define MAC_MESHID_ELMT_MAX_LEN   32
 802.11 information element definition
#define MAC_MESHID_MAX_LEN   34
 802.11 information element definition
#define MAC_MPM_INFO_MIN_LEN   4
 802.11 information element definition
#define MAC_MPM_PEERING_PROT_OFT   (MAC_INFOELT_INFO_OFT + 0)
 802.11 information element definition
#define MAC_MPM_LOCAL_LINK_ID_OFT   (MAC_INFOELT_INFO_OFT + 2)
 802.11 information element definition
#define MAC_MPM_OPT_FIELD_OFT   (MAC_INFOELT_INFO_OFT + MAC_MPM_INFO_MIN_LEN)
 802.11 information element definition
#define MAC_MPM_MIN_LEN   6
 802.11 information element definition
#define MAC_MPM_MAX_LEN   26
 802.11 information element definition
#define MAC_MAW_AWAKE_WIND_OFT   MAC_INFOELT_INFO_OFT
 802.11 information element definition
#define MAC_MAW_LEN   4
 802.11 information element definition
#define MAC_MCFG_ELMT_LEN   7
 802.11 information element definition
#define MAC_MCFG_PATH_SEL_PROT_OFT   (MAC_INFOELT_INFO_OFT + 0)
 802.11 information element definition
#define MAC_MCFG_PATH_METRIC_PROT_OFT   (MAC_INFOELT_INFO_OFT + 1)
 802.11 information element definition
#define MAC_MCFG_CONG_CTRL_MODE_OFT   (MAC_INFOELT_INFO_OFT + 2)
 802.11 information element definition
#define MAC_MCFG_SYNC_METHOD_OFT   (MAC_INFOELT_INFO_OFT + 3)
 802.11 information element definition
#define MAC_MCFG_AUTH_PROT_OFT   (MAC_INFOELT_INFO_OFT + 4)
 802.11 information element definition
#define MAC_MCFG_MESH_FORM_INFO_OFT   (MAC_INFOELT_INFO_OFT + 5)
 802.11 information element definition
#define MAC_MCFG_MESH_CAP_OFT   (MAC_INFOELT_INFO_OFT + 6)
 802.11 information element definition
#define MAC_MCFG_LEN   9
 802.11 information element definition

Spectrum and Power Management Frame definitions



enum  { REMOTE_MEAS_REQ_LATE = 1, REMOTE_MEAS_REQ_INCAPABLE, REMOTE_MEAS_REQ_REFUSED }
 

802.11 Spectrum and Power Management frame definition


#define MAC_ACTION_FRAME_INFO_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_CH_SWITCH_FRAME_INFO_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_FRAME_PRE_INFO_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_POWER_CONSTRAINT_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_POWER_CONSTRAINT_ELT_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MIN_TX_POWER_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MAX_TX_POWER_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_POWER_CAPABILITY_ELT_LEN   4
 802.11 Spectrum and Power Management frame definition
#define MAC_POWER_CAPABILITY_ELT_LEN_FIELD   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_TX_POWER_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LINK_MARGIN_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_TPC_REQUEST_ELT_LEN   2
 802.11 Spectrum and Power Management frame definition
#define MAC_TPC_REPORT_ELT_LEN   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LEN_VAL_TPC_REQ   0
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LEN_VAL_TPC_REP   2
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_FRAME_TPC_REQ_LEN   5
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_FRAME_TPC_REP_LEN   7
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_FIRST_CHANNEL_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_NUMBER_CHANNEL_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SWITCH_MODE_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SWITCH_NEW_CHAN_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SWITCH_COUNT_OFT   4
 802.11 Spectrum and Power Management frame definition
#define MAC_CHANNEL_SWITCH_INFO_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_CHANNEL_SWITCH_ELT_LEN   5
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_EXT_SWITCH_MODE_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_EXT_SWITCH_NEW_CLASS   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_EXT_SWITCH_NEW_CHAN_OFT   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_EXT_SWITCH_COUNT_OFT   5
 802.11 Spectrum and Power Management frame definition
#define MAC_EXT_CHANNEL_SWITCH_INFO_LEN   4
 802.11 Spectrum and Power Management frame definition
#define MAC_EXT_CHANNEL_SWITCH_ELT_LEN   6
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_INFO_LEN   1
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_ELT_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_SEC_CH_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_NO_SEC_CH   0
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_SEC_ABOVE   1
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_SEC_CH_OFFSET_SEC_BELOW   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_WIDE_BW_CHAN_SWITCH_NEW_CW_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_WIDE_BW_CHAN_SWITCH_NEW_CENTER1_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_WIDE_BW_CHAN_SWITCH_NEW_CENTER2_OFT   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_WIDE_BW_CHAN_SWITCH_INFO_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_WIDE_BW_CHAN_SWITCH_ELT_LEN   5
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_TOKEN_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_MODE_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_TYPE_OFT   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_CH_NBR_OFT   5
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_START_TIME_OFT   6
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_DURATION_OFT   14
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MEASURE_INFO_OFT   16
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REQ_CNF_ELT_LEN   5
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REQ_ELT_LEN   16
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REQ_FRAME_LEN   19
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_BASIC_ELT_LEN   17
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_BASIC_FRAME_LEN   20
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_CCA_ELT_LEN   17
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_CCA_FRAME_LEN   20
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_RPI_ELT_LEN   24
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_RPI_FRAME_LEN   27
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_ERR_ELT_LEN   5
 802.11 Spectrum and Power Management frame definition
#define MAC_MEAS_REP_ERR_FRAME_LEN   8
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_ID_OFT   0
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_LEN_OFT   1
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_MDID_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_FT_CAPA_POL_OFT   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_MDID_LEN   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_FT_CAPA_POL_LEN   1
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_ELMT_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_MDE_LEN   5
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LINK_ID_LEN   18
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LINK_ID_BSSID_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LINK_ID_INIT_STA_OFT   8
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_LINK_ID_RESP_STA_OFT   14
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_CH_SWITCH_TIMING_LEN   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_CH_SWITCH_TIMING_SWTIME_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_CH_SWITCH_TIMING_SWTOUT_OFT   4
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_PTI_CONTROL_LEN   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_PTI_CONTROL_TID_OFT   2
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_PTI_CONTROL_SEQ_CTRL_OFT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_TPU_BUF_STATUS_LEN   1
 802.11 Spectrum and Power Management frame definition
#define MAC_INFOELT_TPU_BUF_STATUS_AC_STATUS   2
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_MEASURE_REQUEST   0
 802.11 Spectrum management frame definition
#define MAC_ACTION_MEASURE_REPORT   1
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_TPC_REQUEST   2
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_TPC_REPORT   3
 802.11 Spectrum and Power Management frame definition
#define MAC_ACTION_CHANNEL_SWITCH   4
 802.11 Spectrum and Power Management frame definition
#define MAC_SWITCH_MODE_TX_TRAFFIC_CONT   0
 802.11 Spectrum and Power Management frame definition
#define MAC_SWITCH_MODE_TX_TRAFFIC_STOP   1
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MODE_ENABLE   CO_BIT(1)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MODE_REQUEST   CO_BIT(2)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MODE_REPORT   CO_BIT(3)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MODE_LATE   CO_BIT(0)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MODE_INCAPABLE   CO_BIT(1)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MODE_REFUSED   CO_BIT(2)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_TYPE_BASIC   0
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_TYPE_CCA   1
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_TYPE_RPI   2
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_FREE   0x00
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_BSS   CO_BIT(0)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_OFDM   CO_BIT(1)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_UNIDENTIFIED   CO_BIT(2)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_RADAR   CO_BIT(3)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_UNMEASURED   CO_BIT(4)
 802.11 Spectrum and Power Management frame definition
#define MAC_MEASURE_MAP_MASK   0x1F
 802.11 Spectrum and Power Management frame definition
#define MAC_DEFAULT_SWITCH_COUNT   0
 802.11 Spectrum and Power Management frame definition
#define MAC_DEFAULT_RADAR_CHECK_TIME   60
 802.11 Spectrum and Power Management frame definition

Various Field Length definitions



#define MIC_HDR_LEN   (16)
 MIC Header Length -> DA (6 bytes) + SA (6 bytes) + Priority (4 bytes).
#define IV_LEN   (4)
 IV Length.
#define EIV_LEN   (4)
 EIV Length.
#define MIC_LEN   (8)
 MIC Length.
#define ICV_LEN   (4)
 ICV Length.
#define WPI_IV_LEN   (18)
 MIC Header Length -> DA (6 bytes) + SA (6 bytes) + Priority (4 bytes).
#define WPI_MIC_LEN   (16)
 MIC Header Length -> DA (6 bytes) + SA (6 bytes) + Priority (4 bytes).
#define MAC_FCS_LEN   4
 Length of the FCS field.

MAC Header Length definitions



#define MAC_LONG_QOS_HTC_MAC_HDR_LEN   36
 Long MAC Header length (with QoS control field and HT control field).
#define MAC_LONG_QOS_MAC_HDR_LEN   32
 Long MAC Header length (with QoS control field).
#define MAC_LONG_MAC_HDR_LEN   30
 Long MAC Header length (without QoS control field).
#define MAC_SHORT_QOS_HTC_MAC_HDR_LEN   30
 Short MAC Header length (with QoS control field and HT control field).
#define MAC_SHORT_QOS_MAC_HDR_LEN   26
 Short MAC Header length (with QoS control field).
#define MAC_SHORT_MAC_HDR_LEN   24
 Short MAC Header length (without QoS control field).
#define MAC_HDR_QOS_CTRL_LEN   2
 QoS Control Field Length.
#define MAC_HDR_LEN_MAX   MAC_LONG_QOS_HTC_MAC_HDR_LEN
 Longest possible MAC Header.
#define MAC_LONG_CTRLFRAME_LEN   16
 Long control frame header length.
#define MAC_SHORT_CTRLFRAME_LEN   10
 Short control frame header length (ACK/CTS).

MAC Header offset definitions



#define MAC_HEAD_FCTRL_OFT   0
 802.11 MAC header definition
#define MAC_HEAD_DURATION_OFT   2
 802.11 MAC header definition
#define MAC_HEAD_DURATION_CFP   0x8000
 802.11 MAC header definition
#define MAC_HEAD_ADDR1_OFT   4
 802.11 MAC header definition
#define MAC_HEAD_ADDR2_OFT   10
 802.11 MAC header definition
#define MAC_HEAD_ADDR3_OFT   16
 802.11 MAC header definition
#define MAC_HEAD_CTRL_OFT   22
 802.11 MAC header definition
#define MAC_HEAD_ADDR4_OFT   24
 802.11 MAC header definition
#define MAC_HEAD_SHORT_QOS_OFT   24
 802.11 MAC header definition
#define MAC_HEAD_LONG_QOS_OFT   30
 802.11 MAC header definition
#define MAC_ORIGINAL_ETHTYPE_OFT   36
 802.11 MAC header definition

Frame Control bit field definitions



#define MAC_FCTRL_LEN   2
 802.11 frame control definition
#define MAC_FCTRL_PROTOCOLVERSION_MASK   0x0003
 802.11 frame control definition
#define MAC_FCTRL_TYPE_MASK   0x000C
 802.11 frame control definition
#define MAC_FCTRL_SUBT_MASK   0x00F0
 802.11 frame control definition
#define MAC_FCTRL_TODS   0x0100
 802.11 frame control definition
#define MAC_FCTRL_FROMDS   0x0200
 802.11 frame control definition
#define MAC_FCTRL_MOREFRAG   0x0400
 802.11 frame control definition
#define MAC_FCTRL_RETRY   0x0800
 802.11 frame control definition
#define MAC_FCTRL_PWRMGT   0x1000
 802.11 frame control definition
#define MAC_FCTRL_MOREDATA   0x2000
 802.11 frame control definition
#define MAC_FCTRL_PROTECTEDFRAME   0x4000
 802.11 frame control definition
#define MAC_FCTRL_ORDER   0x8000
 802.11 frame control definition
#define MAC_FCTRL_TODS_FROMDS   (MAC_FCTRL_TODS | MAC_FCTRL_FROMDS)
 802.11 frame control definition

Frame Control Type definitions



#define MAC_FCTRL_MGT_T   0x0000
 802.11 type definition
#define MAC_FCTRL_CTRL_T   0x0004
 802.11 type definition
#define MAC_FCTRL_DATA_T   0x0008
 802.11 type definition

Frame Control Subtype definitions



#define MAC_FCTRL_ASSOCREQ_ST   0x0000
 802.11 subtype definition
#define MAC_FCTRL_ASSOCRSP_ST   0x0010
 802.11 subtype definition
#define MAC_FCTRL_REASSOCREQ_ST   0x0020
 802.11 subtype definition
#define MAC_FCTRL_REASSOCRSP_ST   0x0030
 802.11 subtype definition
#define MAC_FCTRL_PROBEREQ_ST   0x0040
 802.11 subtype definition
#define MAC_FCTRL_PROBERSP_ST   0x0050
 802.11 subtype definition
#define MAC_FCTRL_BEACON_ST   0x0080
 802.11 subtype definition
#define MAC_FCTRL_ATIM_ST   0x0090
 802.11 subtype definition
#define MAC_FCTRL_DISASSOC_ST   0x00A0
 802.11 subtype definition
#define MAC_FCTRL_AUTHENT_ST   0x00B0
 802.11 subtype definition
#define MAC_FCTRL_DEAUTHENT_ST   0x00C0
 802.11 subtype definition
#define MAC_FCTRL_ACTION_ST   0x00D0
 802.11 subtype definition
#define MAC_FCTRL_ACTION_NO_ACK_ST   0x00E0
 802.11 subtype definition
#define MAC_FCTRL_HE_TRIGGER_ST   0x0020
 802.11 subtype definition
#define MAC_FCTRL_BFM_REPORT_POLL_ST   0x0040
 802.11 subtype definition
#define MAC_FCTRL_VHT_NDPA_ST   0x0050
 802.11 subtype definition
#define MAC_FCTRL_CTRL_WRAPPER_ST   0x0070
 802.11 subtype definition
#define MAC_FCTRL_BAR_ST   0x0080
 802.11 subtype definition
#define MAC_FCTRL_BA_ST   0x0090
 802.11 subtype definition
#define MAC_FCTRL_PSPOLL_ST   0x00A0
 802.11 subtype definition
#define MAC_FCTRL_RTS_ST   0x00B0
 802.11 subtype definition
#define MAC_FCTRL_CTS_ST   0x00C0
 802.11 subtype definition
#define MAC_FCTRL_ACK_ST   0x00D0
 802.11 subtype definition
#define MAC_FCTRL_CFEND_ST   0x00E0
 802.11 subtype definition
#define MAC_FCTRL_CFEND_CFACK_ST   0x00F0
 802.11 subtype definition
#define MAC_CFACK_ST_BIT   CO_BIT(4)
 802.11 subtype definition
#define MAC_CFPOLL_ST_BIT   CO_BIT(5)
 802.11 subtype definition
#define MAC_NODATA_ST_BIT   CO_BIT(6)
 802.11 subtype definition
#define MAC_QOS_ST_BIT   CO_BIT(7)
 802.11 subtype definition
#define MAC_FCTRL_DATACFACKPOLL_ST   (MAC_CFACK_ST_BIT | MAC_CFPOLL_ST_BIT)
 802.11 subtype definition

Frame Control various frame type/subtype definitions



#define MAC_FCTRL_TYPESUBTYPE_MASK   (MAC_FCTRL_TYPE_MASK | MAC_FCTRL_SUBT_MASK)
 802.11 type/subtype definition
#define MAC_FCTRL_ASSOCREQ   (MAC_FCTRL_MGT_T | MAC_FCTRL_ASSOCREQ_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_ASSOCRSP   (MAC_FCTRL_MGT_T | MAC_FCTRL_ASSOCRSP_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_REASSOCREQ   (MAC_FCTRL_MGT_T | MAC_FCTRL_REASSOCREQ_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_REASSOCRSP   (MAC_FCTRL_MGT_T | MAC_FCTRL_REASSOCRSP_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_PROBEREQ   (MAC_FCTRL_MGT_T | MAC_FCTRL_PROBEREQ_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_PROBERSP   (MAC_FCTRL_MGT_T | MAC_FCTRL_PROBERSP_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_BEACON   (MAC_FCTRL_MGT_T | MAC_FCTRL_BEACON_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_ATIM   (MAC_FCTRL_MGT_T | MAC_FCTRL_ATIM_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_DISASSOC   (MAC_FCTRL_MGT_T | MAC_FCTRL_DISASSOC_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_AUTHENT   (MAC_FCTRL_MGT_T | MAC_FCTRL_AUTHENT_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_DEAUTHENT   (MAC_FCTRL_MGT_T | MAC_FCTRL_DEAUTHENT_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_ACTION   (MAC_FCTRL_MGT_T | MAC_FCTRL_ACTION_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_ACTION_NO_ACK   (MAC_FCTRL_MGT_T | MAC_FCTRL_ACTION_NO_ACK_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_BFM_REPORT_POLL   (MAC_FCTRL_CTRL_T | MAC_FCTRL_BFM_REPORT_POLL_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_HE_TRIGGER   (MAC_FCTRL_CTRL_T | MAC_FCTRL_HE_TRIGGER_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_VHT_NDPA   (MAC_FCTRL_CTRL_T | MAC_FCTRL_VHT_NDPA_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_BA   (MAC_FCTRL_CTRL_T | MAC_FCTRL_BA_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_BAR   (MAC_FCTRL_CTRL_T | MAC_FCTRL_BAR_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_PSPOLL   (MAC_FCTRL_CTRL_T | MAC_FCTRL_PSPOLL_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_RTS   (MAC_FCTRL_CTRL_T | MAC_FCTRL_RTS_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_CTS   (MAC_FCTRL_CTRL_T | MAC_FCTRL_CTS_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_ACK   (MAC_FCTRL_CTRL_T | MAC_FCTRL_ACK_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_CFEND   (MAC_FCTRL_CTRL_T | MAC_FCTRL_CFEND_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_CFEND_CFACK   (MAC_FCTRL_CFEND | MAC_CFACK_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_DATA_CFACK   (MAC_FCTRL_DATA_T | MAC_CFACK_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_DATA_CFPOLL   (MAC_FCTRL_DATA_T | MAC_CFPOLL_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_DATA_CFACKPOLL   (MAC_FCTRL_DATA_T | MAC_FCTRL_DATACFACKPOLL_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_NULL_FUNCTION   (MAC_FCTRL_DATA_T | MAC_NODATA_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_NULL_CFACK   (MAC_FCTRL_NULL_FUNCTION | MAC_CFACK_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_NULL_CFPOLL   (MAC_FCTRL_NULL_FUNCTION | MAC_CFPOLL_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_NULL_CFACKPOLL   (MAC_FCTRL_NULL_FUNCTION | MAC_FCTRL_DATACFACKPOLL_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_DATA   (MAC_FCTRL_DATA_T | MAC_QOS_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_DATA_CFACK   (MAC_FCTRL_QOS_DATA | MAC_CFACK_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_DATA_CFPOLL   (MAC_FCTRL_QOS_DATA | MAC_CFPOLL_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_DATA_CFACKPOLL   (MAC_FCTRL_QOS_DATA | MAC_FCTRL_DATACFACKPOLL_ST)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_NULL   (MAC_FCTRL_QOS_DATA | MAC_NODATA_ST_BIT)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_NULL_CFACK   (MAC_FCTRL_QOS_DATA | MAC_FCTRL_NULL_CFACK)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_NULL_CFPOLL   (MAC_FCTRL_QOS_DATA | MAC_FCTRL_NULL_CFPOLL)
 802.11 type/subtype definition
#define MAC_FCTRL_QOS_NULL_CFACKPOLL   (MAC_FCTRL_QOS_DATA | MAC_FCTRL_NULL_CFACKPOLL)
 802.11 type/subtype definition
#define MAC_FCTRL_IS(fc, type)   (((fc) & MAC_FCTRL_TYPESUBTYPE_MASK) == MAC_FCTRL_##type)
 802.11 type/subtype definition
#define MAC_FCTRL_SUBTYPE(fc)   (((fc) & MAC_FCTRL_SUBT_MASK) >> 4)
 802.11 type/subtype definition

Duration/AID field definitions



#define MAC_DURATION_LEN   2
 DURATION FIELD Length.
#define MAC_AID_MSK   0x3FFF
 ASSOCIATION ID Field Mask.

Sequence Control definitions



#define MAC_SEQCTRL_LEN   2
 802.11 Sequence Control definition
#define MAC_SEQCTRL_NUM_OFT   4
 802.11 Sequence Control definition
#define MAC_SEQCTRL_NUM_MSK   0xFFF0
 802.11 Sequence Control definition
#define MAC_SEQCTRL_NUM_MAX   (MAC_SEQCTRL_NUM_MSK >> MAC_SEQCTRL_NUM_OFT)
 802.11 Sequence Control definition
#define MAC_SEQCTRL_FRAG_OFT   0
 802.11 Sequence Control definition
#define MAC_SEQCTRL_FRAG_MSK   0x000F
 802.11 Sequence Control definition

Security header definitions



#define MAC_HDR_TSC_LEN   6
 802.11 Security header definition
#define MAC_TKIP_TSC1_OFT   0
 802.11 Security header definition
#define MAC_TKIP_TSC0_OFT   2
 802.11 Security header definition
#define MAC_TKIP_KEYID_OFT   3
 802.11 Security header definition
#define MAC_CCMP_PN0_OFT   0
 802.11 Security header definition
#define MAC_CCMP_PN1_OFT   1
 802.11 Security header definition
#define MAC_CCMP_RSV_OFT   2
 802.11 Security header definition
#define MAC_CCMP_PN2BIT_OFT   8
 802.11 Security header definition
#define MAC_IV_EXTIV   0x20000000
 802.11 Security header definition

QoS Control definitions



#define MAC_QOSCTRL_LEN   2
 802.11 QoS control definition
#define MAC_QOSCTRL_UP_OFT   0
 802.11 QoS control definition
#define MAC_QOSCTRL_UP_MSK   0x0007
 802.11 QoS control definition
#define MAC_QOSCTRL_EOSP_OFT   4
 802.11 QoS control definition
#define MAC_QOSCTRL_EOSP   0x10
 802.11 QoS control definition
#define MAC_QOSCTRL_QUEUE_SIZE_PRESENT   0x10
 802.11 QoS control definition
#define MAC_QOSCTRL_QUEUE_SIZE_OFT   8
 802.11 QoS control definition
#define MAC_QOSCTRL_QUEUE_SIZE_UNKNOWN   (0xFF << MAC_QOSCTRL_QUEUE_SIZE_OFT)
 802.11 QoS control definition
#define MAC_QOSCTRL_HE_QUEUE_SIZE
 802.11 QoS control definition
#define MAC_QOSCTRL_ACK_OFT   5
 802.11 QoS control definition
#define MAC_QOSCTRL_ACK_NORMAL   0x0000
 802.11 QoS control definition
#define MAC_QOSCTRL_ACK_NOACK   0x0020
 802.11 QoS control definition
#define MAC_QOSCTRL_ACK_NOEXPL   0x0040
 802.11 QoS control definition
#define MAC_QOSCTRL_ACK_BLOCK   0x0060
 802.11 QoS control definition
#define MAC_QOSCTRL_AMSDU_OFT   7
 802.11 QoS control definition
#define MAC_QOSCTRL_AMSDU_PRESENT   CO_BIT(7)
 802.11 QoS control definition
#define MAC_QOSCTRL_MESH_CTRL_PRESENT   CO_BIT(8)
 802.11 QoS control definition
#define MAC_QOSCTRL_MESH_POWER_SAVE_LVL   CO_BIT(9)
 802.11 QoS control definition
#define MAC_QOSCTRL_MESH_RSPI   CO_BIT(10)
 802.11 QoS control definition

HT Control definitions



#define MAC_HTC_LEN   4
 HT CONTROL FIELD.
#define MAC_HTC_TYPE_OFT   0
 HT CONTROL FIELD.
#define MAC_HTC_TYPE_HT_MSK   (0x01 << MAC_HTC_TYPE_OFT)
 HT CONTROL FIELD.
#define MAC_HTC_TYPE_HT   (0x00 << MAC_HTC_TYPE_OFT)
 HT CONTROL FIELD.
#define MAC_HTC_TYPE_VHT_HE_MSK   (0x03 << MAC_HTC_TYPE_OFT)
 HT CONTROL FIELD.
#define MAC_HTC_TYPE_VHT   (0x01 << MAC_HTC_TYPE_OFT)
 HT CONTROL FIELD.
#define MAC_HTC_TYPE_HE   (0x03 << MAC_HTC_TYPE_OFT)
 HT CONTROL FIELD.
#define MAC_HTC_HE_A_CONTROL_OFT   2
 HT CONTROL FIELD.
#define MAC_HTC_HE_A_CONTROL_MSK   (0x3FFFFFFF << MAC_HTC_HE_A_CONTROL_OFT)
 HT CONTROL FIELD.

+HTC HE Variant definitions



#define MAC_HTC_HE_CTRL_ID_OFT   0
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_MSK   (0x0F << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_TRS   (0x00 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_OM   (0x01 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_HLA   (0x02 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_BSR   (0x03 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_UPH   (0x04 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_BQR   (0x05 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_CAS   (0x06 << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_ID_ONES   (0x0F << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_INFO_OFT   4
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_CTRL_INFO_MSK   (0x0F << MAC_HTC_HE_CTRL_ID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_ACI_BMP_OFT   MAC_HTC_HE_CTRL_INFO_OFT
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_ACI_BMP_MSK   (0x0F << MAC_HTC_HE_BSR_ACI_BMP_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_DELTA_TID_OFT   (MAC_HTC_HE_CTRL_INFO_OFT + 4)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_DELTA_TID_MSK   (0x03 << MAC_HTC_HE_BSR_DELTA_TID_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_ACI_HIGH_OFT   (MAC_HTC_HE_CTRL_INFO_OFT + 6)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_ACI_HIGH_MSK   (0x03 << MAC_HTC_HE_BSR_ACI_HIGH_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_SCALING_FAC_OFT   (MAC_HTC_HE_CTRL_INFO_OFT + 8)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_SCALING_FAC_MSK   (0x03 << MAC_HTC_HE_BSR_SCALING_FAC_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_QSIZE_HIGH_OFT   (MAC_HTC_HE_CTRL_INFO_OFT + 10)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_QSIZE_HIGH_MSK   (0xFF << MAC_HTC_HE_BSR_QSIZE_HIGH_OFT)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_QSIZE_ALL_OFT   (MAC_HTC_HE_CTRL_INFO_OFT + 18)
 +HTC HE VARIANT FIELD
#define MAC_HTC_HE_BSR_QSIZE_ALL_MSK   (0xFF << MAC_HTC_HE_BSR_QSIZE_ALL_OFT)
 +HTC HE VARIANT FIELD

+HTC HE Variant building macros



#define MAC_HTC_HE_CTRL(id, info)   (MAC_HTC_HE_CTRL_ID_##id | ((info) << MAC_HTC_HE_CTRL_INFO_OFT))
 Format a control subfield for a +HTC HE.
#define MAC_HTC_HE(a_control)   (MAC_HTC_TYPE_HE | ((a_control) << MAC_HTC_HE_A_CONTROL_OFT))
 Format a +HTC HE Variant field.

Capability Information definitions

See IEEE 802.1H for LLC/SNAP encapsulation/decapsulation Ethernet-II snap header (RFC1042 for most EtherTypes)



#define MAC_CAPA_ESS   CO_BIT(0)
 802.11 Capability definition
#define MAC_CAPA_IBSS   CO_BIT(1)
 802.11 Capability definition
#define MAC_CAPA_CFPOLL   CO_BIT(2)
 802.11 Capability definition
#define MAC_CAPA_CFREQ   CO_BIT(3)
 802.11 Capability definition
#define MAC_CAPA_PRIVA   CO_BIT(4)
 802.11 Capability definition
#define MAC_CAPA_SHORT_PREAMBLE   CO_BIT(5)
 802.11 Capability definition
#define MAC_CAPA_PBCB   CO_BIT(6)
 802.11 Capability definition
#define MAC_CAPA_AGILITY   CO_BIT(7)
 802.11 Capability definition
#define MAC_CAPA_SPECTRUM   CO_BIT(8)
 802.11 Capability definition
#define MAC_CAPA_QOS   CO_BIT(9)
 802.11 Capability definition
#define MAC_CAPA_SHORT_SLOT   CO_BIT(10)
 802.11 Capability definition
#define MAC_CAPA_APSD   CO_BIT(11)
 802.11 Capability definition
#define MAC_CAPA_DSSS_OFDM   CO_BIT(13)
 802.11 Capability definition
#define MAC_CAPA_DELAYED_BA   CO_BIT(14)
 802.11 Capability definition
#define MAC_CAPA_IMMEDIATE_BA   CO_BIT(15)
 802.11 Capability definition
#define MAC_CAPA_BA_POLICY   (MAC_CAPA_DELAYED_BA | MAC_CAPA_IMMEDIATE_BA)
 802.11 Capability definition
#define FRAME_BODY_LLC_H   0x0003AAAA
 LLC definition.
#define FRAME_BODY_LLC_L   0x0D890000
 802.11 Capability definition
#define PAYLOAD_TYPE_TDLS   0x02
 802.11 Capability definition
#define MAC_ENCAPSULATED_LLC_H_OFT   0
 802.11 Capability definition
#define MAC_ENCAPSULATED_LLC_L_OFT   4
 802.11 Capability definition
#define MAC_ENCAPSULATED_PAYLOAD_TYPE_OFT   8
 802.11 Capability definition
#define MAC_ENCAPSULATED_PAYLOAD_OFT   9
 802.11 Capability definition

HT Capability Information Element definitions



#define MAC_HTCAPA_LDPC   CO_BIT(0)
 802.11 HT capability definition
#define MAC_HTCAPA_40_MHZ   CO_BIT(1)
 802.11 HT capability definition
#define MAC_HTCAPA_SMPS_OFT   2
 802.11 HT capability definition
#define MAC_HTCAPA_SMPS_MSK   (0x03 << MAC_HTCAPA_SMPS_OFT)
 802.11 HT capability definition
#define MAC_HTCAPA_SMPS_STATIC   (0x00 << MAC_HTCAPA_SMPS_OFT)
 802.11 HT capability definition
#define MAC_HTCAPA_SMPS_DYNAMIC   (0x01 << MAC_HTCAPA_SMPS_OFT)
 802.11 HT capability definition
#define MAC_HTCAPA_SMPS_DISABLE   (0x03 << MAC_HTCAPA_SMPS_OFT)
 802.11 HT capability definition
#define MAC_HTCAPA_GREEN_FIELD   CO_BIT(4)
 802.11 HT capability definition
#define MAC_HTCAPA_SHORTGI_20   CO_BIT(5)
 802.11 HT capability definition
#define MAC_HTCAPA_SHORTGI_40   CO_BIT(6)
 802.11 HT capability definition
#define MAC_HTCAPA_TX_STBC   CO_BIT(7)
 802.11 HT capability definition
#define MAC_HTCAPA_RX_STBC_OFT   8
 802.11 HT capability definition
#define MAC_HTCAPA_RX_STBC_MSK   (0x03 << MAC_HTCAPA_RX_STBC_OFT)
 802.11 HT capability definition
#define MAC_HTCAPA_AMSDU   CO_BIT(11)
 802.11 HT capability definition
#define MAC_HTCAPA_DSSS_CCK_40   CO_BIT(12)
 802.11 HT capability definition
#define MAC_HTCAPA_40_INTOLERANT   CO_BIT(14)
 802.11 HT capability definition
#define MAC_HTCAPA_LSIG   CO_BIT(15)
 802.11 HT capability definition
#define MAC_AMPDU_LEN_EXP_OFT   0
 802.11 HT capability definition
#define MAC_AMPDU_LEN_EXP_MSK   (0x03 << MAC_AMPDU_LEN_EXP_OFT)
 802.11 HT capability definition
#define MAC_AMPDU_MIN_SPACING_OFT   2
 802.11 HT capability definition
#define MAC_AMPDU_MIN_SPACING_MSK   (0x07 << MAC_AMPDU_MIN_SPACING_OFT)
 802.11 HT capability definition
#define MAC_HT_MAX_AMPDU_FACTOR   13
 802.11 HT capability definition
#define MAC_HTXCAPA_MFB_UNSOLICIT   CO_BIT(9)
 802.11 HT capability definition

VHT Capability Information Element definitions



#define MAC_VHTCAPA_MAX_MPDU_LENGTH_OFT   0
 802.11 VHT capability definition
#define MAC_VHTCAPA_MAX_MPDU_LENGTH_MSK   (0x03 << MAC_VHTCAPA_MAX_MPDU_LENGTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_MAX_MPDU_LENGTH_3895   (0x00 << MAC_VHTCAPA_MAX_MPDU_LENGTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_MAX_MPDU_LENGTH_7991   (0x01 << MAC_VHTCAPA_MAX_MPDU_LENGTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_MAX_MPDU_LENGTH_11454   (0x02 << MAC_VHTCAPA_MAX_MPDU_LENGTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SUPP_CHAN_WIDTH_OFT   2
 802.11 VHT capability definition
#define MAC_VHTCAPA_SUPP_CHAN_WIDTH_MSK   (0x03 << MAC_VHTCAPA_SUPP_CHAN_WIDTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SUPP_CHAN_WIDTH_80   (0x00 << MAC_VHTCAPA_SUPP_CHAN_WIDTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SUPP_CHAN_WIDTH_160   (0x01 << MAC_VHTCAPA_SUPP_CHAN_WIDTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SUPP_CHAN_WIDTH_160_80P80   (0x02 << MAC_VHTCAPA_SUPP_CHAN_WIDTH_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXLDPC   CO_BIT(4)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SHORT_GI_80   CO_BIT(5)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SHORT_GI_160   CO_BIT(6)
 802.11 VHT capability definition
#define MAC_VHTCAPA_TXSTBC   CO_BIT(7)
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXSTBC_OFT   8
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXSTBC_MSK   (0x07 << MAC_VHTCAPA_RXSTBC_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXSTBC_1   (0x01 << MAC_VHTCAPA_RXSTBC_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXSTBC_2   (0x02 << MAC_VHTCAPA_RXSTBC_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXSTBC_3   (0x03 << MAC_VHTCAPA_RXSTBC_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_RXSTBC_4   (0x04 << MAC_VHTCAPA_RXSTBC_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SU_BEAMFORMER_CAPABLE   CO_BIT(11)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SU_BEAMFORMEE_CAPABLE   CO_BIT(12)
 802.11 VHT capability definition
#define MAC_VHTCAPA_BEAMFORMEE_STS_OFT   13
 802.11 VHT capability definition
#define MAC_VHTCAPA_BEAMFORMEE_STS_MSK   (0x07 << MAC_VHTCAPA_BEAMFORMEE_STS_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_SOUNDING_DIMENSIONS_OFT   16
 802.11 VHT capability definition
#define MAC_VHTCAPA_SOUNDING_DIMENSIONS_MSK   (0x07 << MAC_VHTCAPA_SOUNDING_DIMENSIONS_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_MU_BEAMFORMER_CAPABLE   CO_BIT(19)
 802.11 VHT capability definition
#define MAC_VHTCAPA_MU_BEAMFORMEE_CAPABLE   CO_BIT(20)
 802.11 VHT capability definition
#define MAC_VHTCAPA_VHT_TXOP_PS   CO_BIT(21)
 802.11 VHT capability definition
#define MAC_VHTCAPA_HTC_VHT   CO_BIT(22)
 802.11 VHT capability definition
#define MAC_VHTCAPA_MAX_A_MPDU_LENGTH_EXP_OFT   23
 802.11 VHT capability definition
#define MAC_VHTCAPA_MAX_A_MPDU_LENGTH_EXP_MSK   (0x07 << MAC_VHTCAPA_MAX_A_MPDU_LENGTH_EXP_OFT)
 802.11 VHT capability definition
#define MAC_VHTCAPA_VHT_LA_VHT_UNSOL_MFB   0x08000000
 802.11 VHT capability definition
#define MAC_VHTCAPA_VHT_LA_VHT_MRQ_MFB   0x0c000000
 802.11 VHT capability definition
#define MAC_VHTCAPA_RX_ANTENNA_PATTERN   CO_BIT(28)
 802.11 VHT capability definition
#define MAC_VHTCAPA_TX_ANTENNA_PATTERN   CO_BIT(29)
 802.11 VHT capability definition
#define MAC_VHT_MCS_MAP_MSK   0x03
 802.11 VHT capability definition
#define MAC_VHT_MCS_MAP_0_7   0x00
 802.11 VHT capability definition
#define MAC_VHT_MCS_MAP_0_8   0x01
 802.11 VHT capability definition
#define MAC_VHT_MCS_MAP_0_9   0x02
 802.11 VHT capability definition
#define MAC_VHT_MCS_MAP_NONE   0x03
 802.11 VHT capability definition

HE MAC Capability Information Element definitions



#define HE_MAC_CAPA_HTC_HE_POS   0
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TWT_REQ_POS   1
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TWT_RES_POS   2
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYNAMIC_FRAG_OFT   3
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYNAMIC_FRAG_WIDTH   2
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYNAMIC_FRAG_NOT_SUPP   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYNAMIC_FRAG_LEVEL_1   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYNAMIC_FRAG_LEVEL_2   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYNAMIC_FRAG_LEVEL_3   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_OFT   5
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_WIDTH   3
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_1   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_2   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_4   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_8   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_16   0x04
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_32   0x05
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_64   0x06
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_NUM_FRAG_MSDU_UNLIMITED   0x07
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MIN_FRAG_SIZE_OFT   8
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MIN_FRAG_SIZE_WIDTH   2
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MIN_FRAG_SIZE_UNLIMITED   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MIN_FRAG_SIZE_128   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MIN_FRAG_SIZE_256   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MIN_FRAG_SIZE_512   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TF_MAC_PAD_DUR_OFT   10
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TF_MAC_PAD_DUR_WIDTH   2
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TF_MAC_PAD_DUR_0US   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TF_MAC_PAD_DUR_8US   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TF_MAC_PAD_DUR_16US   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_OFT   12
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_WIDTH   3
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_1   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_2   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_3   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_4   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_5   0x04
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_6   0x05
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_7   0x06
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_RX_8   0x07
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_LINK_ADAPTATION_OFT   15
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_LINK_ADAPTATION_WIDTH   2
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_LINK_ADAPTATION_NONE   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_LINK_ADAPTATION_RSVD   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_LINK_ADAPTATION_UNSOL   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_LINK_ADAPTATION_BOTH   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_ALL_ACK_POS   17
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_TSR_POS   18
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_BSR_POS   19
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_BCAST_TWT_POS   20
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_32BIT_BA_BITMAP_POS   21
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MU_CASCADING_POS   22
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_ACK_EN_POS   23
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_OM_CONTROL_POS   25
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_OFDMA_RA_POS   26
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_A_AMPDU_LEN_EXP_OFT   27
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_A_AMPDU_LEN_EXP_WIDTH   2
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_A_AMPDU_LEN_EXP_USE_VHT   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_A_AMPDU_LEN_EXP_VHT_1   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_A_AMPDU_LEN_EXP_VHT_2   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MAX_A_AMPDU_LEN_EXP_RSVD   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_A_AMSDU_FRAG_POS   29
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_FLEX_TWT_SCHED_POS   30
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_RX_CTRL_FRAME_TO_MULTIBSS_POS   31
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_BSRP_BQRP_A_MPDU_AGG_POS   32
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_QTP_POS   33
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_BQR_POS   34
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_SRP_RESP_POS   35
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_NDP_FB_REP_POS   36
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_OPS_POS   37
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_AMDSU_IN_AMPDU_POS   38
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_OFT   39
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_WIDTH   3
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_1   0x00
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_2   0x01
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_3   0x02
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_4   0x03
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_5   0x04
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_6   0x05
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_7   0x06
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_MULTI_TID_AGG_TX_8   0x07
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_SUB_CHNL_SEL_TX_POS   42
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_UL_2_996_TONE_RU_POS   43
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_OM_CONTROL_UL_MU_DIS_RX_POS   44
 802.11 HE MAC capability definition
#define HE_MAC_CAPA_DYN_SMPS_POS   45
 802.11 HE MAC capability definition

HE PHY Capability Information Element definitions



#define HE_PHY_CAPA_CHAN_WIDTH_SET_OFT   1
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_WIDTH   7
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_40MHZ_IN_2G   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_40MHZ_80MHZ_IN_5G   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_160MHZ_IN_5G   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_80PLUS80_MHZ_IN_5G   0x08
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_RU_MAPPING_IN_2G   0x10
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CHAN_WIDTH_SET_RU_MAPPING_IN_5G   0x20
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PREAMBLE_PUNC_RX_OFT   8
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PREAMBLE_PUNC_RX_WIDTH   4
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PREAMBLE_PUNC_RX_80M_ONLY_SCND_20M   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PREAMBLE_PUNC_RX_80M_ONLY_SCND_40M   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PREAMBLE_PUNC_RX_160M_ONLY_SCND_20M   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PREAMBLE_PUNC_RX_160M_ONLY_SCND_40M   0x08
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DEVICE_CLASS_A_POS   12
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_LDPC_CODING_IN_PAYLOAD_POS   13
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_HE_SU_PPDU_1x_LTF_AND_GI_0_8US_POS   14
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MIDAMBLE_RX_MAX_NSTS_OFT   15
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MIDAMBLE_RX_MAX_NSTS_WIDTH   2
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_NDP_4x_LTF_AND_3_2US_POS   17
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_STBC_TX_UNDER_80MHZ_POS   18
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_STBC_RX_UNDER_80MHZ_POS   19
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DOPPLER_TX_POS   20
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DOPPLER_RX_POS   21
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_FULL_BW_UL_MU_MIMO_POS   22
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PARTIAL_BW_UL_MU_MIMO_POS   23
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_TX_OFT   24
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_TX_WIDTH   2
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_TX_NO_DCM   0x00
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_TX_BPSK   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_TX_QPSK   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_TX_16_QAM   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_NSS_TX_POS   26
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_RX_OFT   27
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_RX_WIDTH   2
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_RX_NO_DCM   0x00
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_RX_BPSK   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_RX_QPSK   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_CONST_RX_16_QAM   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_NSS_RX_POS   29
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_RX_HE_MU_PPDU_FRM_NON_AP_POS   30
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_SU_BEAMFORMER_POS   31
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_SU_BEAMFORMEE_POS   32
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MU_BEAMFORMER_POS   33
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_OFT   34
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_WIDTH   3
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_4   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_5   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_6   0x05
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_7   0x06
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_UNDER_80MHZ_8   0x07
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_OFT   37
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_WIDTH   3
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_4   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_5   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_6   0x05
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_7   0x06
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_MAX_STS_ABOVE_80MHZ_8   0x07
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_OFT   40
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_WIDTH   3
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_1   0x00
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_2   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_3   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_4   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_5   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_6   0x05
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_7   0x06
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_UNDER_80MHZ_8   0x07
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_OFT   43
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_WIDTH   3
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_1   0x00
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_2   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_3   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_4   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_5   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_6   0x05
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_7   0x06
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_BFMEE_NUM_SND_DIM_ABOVE_80MHZ_8   0x07
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_NG16_SU_FEEDBACK_POS   46
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_NG16_MU_FEEDBACK_POS   47
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CODEBOOK_SIZE_42_SU_POS   48
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_CODEBOOK_SIZE_75_MU_POS   49
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_TRIG_SU_BEAMFORMER_FB_POS   50
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_TRIG_MU_BEAMFORMER_FB_POS   51
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_TRIG_CQI_FB_POS   52
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PARTIAL_BW_EXT_RANGE_POS   53
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PARTIAL_BW_DL_MUMIMO_POS   54
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_PPE_THRESHOLD_PRESENT_POS   55
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_SRP_BASED_SR_POS   56
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_POWER_BOOST_FACTOR_AR_POS   57
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_HE_SU_MU_PPDU_4x_LTF_AND_08_US_GI_POS   58
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_OFT   59
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_WIDTH   3
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_1   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_2   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_3   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_4   0x04
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_5   0x05
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_6   0x06
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MAX_NC_7   0x07
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_STBC_TX_ABOVE_80MHZ_POS   62
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_STBC_RX_ABOVE_80MHZ_POS   63
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_HE_ER_SU_PPDU_4x_LTF_AND_08_US_GI_POS   64
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_20MHZ_IN_40MHZ_HE_PPDU_IN_2G_POS   65
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_20MHZ_IN_160MHZ_HE_PPDU_POS   66
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_80MHZ_IN_160MHZ_HE_PPDU_POS   67
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_HE_ER_SU_1x_LTF_AND_08_US_GI_POS   68
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_MIDAMBLE_RX_2x_AND_1x_LTF_POS   69
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_BW_OFT   70
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_BW_WIDTH   3
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_BW_20MHZ   0x00
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_BW_40MHZ   0x01
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_BW_80MHZ   0x02
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_DCM_MAX_BW_160MHZ_80P80MHZ   0x03
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_16PLUS_HE_SIGB_OFDM_SYM_POS   72
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_NON_TRIG_CQI_FEEDBACK_POS   73
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_TX_1024QAM_LESS_242_RU_POS   74
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_RX_1024QAM_LESS_242_RU_POS   75
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_RX_FULL_BW_SU_COMP_SIGB_POS   76
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_RX_FULL_BW_SU_NON_COMP_SIGB_POS   77
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_NOMINAL_PACKET_PADDING_OFT   78
 802.11 HE PHY capability definition
#define HE_PHY_CAPA_NOMINAL_PACKET_PADDING_WIDTH   2
 802.11 HE PHY capability definition

HE MCS MAP definitions



#define MAC_HE_MCS_MAP_MSK   0x03
 802.11 HE MCS map definition
#define MAC_HE_MCS_MAP_0_7   0x00
 802.11 HE MCS map definition
#define MAC_HE_MCS_MAP_0_9   0x01
 802.11 HE MCS map definition
#define MAC_HE_MCS_MAP_0_11   0x02
 802.11 HE MCS map definition
#define MAC_HE_MCS_MAP_NONE   0x03
 802.11 HE MCS map definition

Multiple BSSID Subelement offsets, lengths and other definitions



#define MAC_MBSSID_NON_TXED_PROF_ID_OFT   0
#define MAC_MBSSID_NON_TXED_PROF_LEN_OFT   1
#define MAC_MBSSID_NON_TXED_PROF_INFO_OFT   2
#define MAC_MBSSID_NON_TXED_PROF_ELMT_MIN_LEN   4
#define MAC_MBSSID_NON_TXED_PROF_MIN_LEN   6

Management Frame Element definitions and offsets



#define MAC_BEACON_MAX_LEN   333
 802.11 Management frame element and offset definition
#define MAC_BEACONINFO_SIZE   78
 802.11 Management frame element and offset definition
#define MAC_TIM_SIZE   251
 802.11 Management frame element and offset definition
#define MAC_BEACON_HDR_LEN   36
 802.11 Management frame element and offset definition
#define MAC_BEACON_TIMESTAMP_OFT   MAC_SHORT_MAC_HDR_LEN
 802.11 Management frame element and offset definition
#define MAC_BEACON_INTERVAL_OFT   (MAC_SHORT_MAC_HDR_LEN + 8)
 802.11 Management frame element and offset definition
#define MAC_BEACON_CAPA_OFT   (MAC_SHORT_MAC_HDR_LEN + 10)
 802.11 Management frame element and offset definition
#define MAC_BEACON_VARIABLE_PART_OFT   (MAC_SHORT_MAC_HDR_LEN + 12)
 802.11 Management frame element and offset definition
#define MAC_PROBEREQ_SSID_OFT   0
 802.11 Management frame element and offset definition
#define MAC_PROBE_TIMESTAMP_OFT   0
 802.11 Management frame element and offset definition
#define MAC_PROBE_INTERVAL_OFT   8
 802.11 Management frame element and offset definition
#define MAC_PROBE_CAPA_OFT   10
 802.11 Management frame element and offset definition
#define MAC_PROBE_SSID_OFT   12
 802.11 Management frame element and offset definition
#define MAC_AUTH_ALGONBR_OFT   0
 802.11 Management frame element and offset definition
#define MAC_AUTH_SEQNBR_OFT   2
 802.11 Management frame element and offset definition
#define MAC_AUTH_STATUS_OFT   4
 802.11 Management frame element and offset definition
#define MAC_AUTH_CHALLENGE_OFT   6
 802.11 Management frame element and offset definition
#define MAC_AUTH_CHALLENGE_LEN   128
 802.11 Management frame element and offset definition
#define CHALLENGE_TEXT_SIZE   130
 802.11 Management frame element and offset definition
#define MAC_ASSO_REQ_CAPA_OFT   0
 802.11 Management frame element and offset definition
#define MAC_ASSO_REQ_LISTEN_OFT   2
 802.11 Management frame element and offset definition
#define MAC_ASSO_REQ_SSID_OFT   4
 802.11 Management frame element and offset definition
#define MAC_ASSO_RSP_CAPA_OFT   0
 802.11 Management frame element and offset definition
#define MAC_ASSO_RSP_STATUS_OFT   2
 802.11 Management frame element and offset definition
#define MAC_ASSO_RSP_AID_OFT   4
 802.11 Management frame element and offset definition
#define MAC_ASSO_RSP_RATES_OFT   6
 802.11 Management frame element and offset definition
#define MAC_REASSO_REQ_CAPA_OFT   0
 802.11 Management frame element and offset definition
#define MAC_REASSO_REQ_LISTEN_OFT   2
 802.11 Management frame element and offset definition
#define MAC_REASSO_REQ_AP_ADDR_OFT   4
 802.11 Management frame element and offset definition
#define MAC_REASSO_REQ_SSID_OFT   10
 802.11 Management frame element and offset definition
#define MAC_DEAUTH_REASON_OFT   0
 802.11 Management frame element and offset definition
#define MAC_DISASSOC_REASON_OFT   0
 802.11 Management frame element and offset definition
#define MAC_DISASSOC_REASON_LEN   2
 802.11 Management frame element and offset definition
#define MAC_ACTION_CATEGORY_OFT   0
 802.11 Management frame element and offset definition
#define MAC_ACTION_ACTION_OFT   1
 802.11 Management frame element and offset definition
#define MAC_ACTION_TOKEN_OFT   2
 802.11 Management frame element and offset definition
#define MAC_ACTION_P2P_ACTION_OFT   5
 802.11 Management frame element and offset definition
#define MAC_ACTION_P2P_TAGGED_OFT   7
 802.11 Management frame element and offset definition

Action Frames categories and other definitions



#define MAC_SPECTRUM_ACTION_CATEGORY   0
 802.11 Action frame category
#define MAC_WMMAC_QOS_ACTION_CATEGORY   1
 802.11 Action frame category
#define MAC_DLS_ACTION_CATEGORY   2
 802.11 Action frame category
#define MAC_BA_ACTION_CATEGORY   3
 802.11 Action frame category
#define MAC_PUBLIC_ACTION_CATEGORY   4
 802.11 Action frame category
#define MAC_RADIO_MEASURE_ACTION_CATEGORY   5
 802.11 Action frame category
#define MAC_FAST_BSS_ACTION_CATEGORY   6
 802.11 Action frame category
#define MAC_HT_ACTION_CATEGORY   7
 802.11 Action frame category
#define MAC_SA_QUERY_ACTION_CATEGORY   8
 802.11 Action frame category
#define MAC_PROT_PUBLIC_ACTION_CATEGORY   9
 802.11 Action frame category
#define MAC_WNM_ACTION_CATEGORY   10
 802.11 Action frame category
#define MAC_UNPROT_WNM_ACTION_CATEGORY   11
 802.11 Action frame category
#define MAC_TDLS_ACTION_CATEGORY   12
 802.11 Action frame category
#define MAC_MESH_ACTION_CATEGORY   13
 802.11 Action frame category
#define MAC_MULTIHOP_ACTION_CATEGORY   14
 802.11 Action frame category
#define MAC_SELF_PROT_ACTION_CATEGORY   15
 802.11 Action frame category
#define MAC_VHT_ACTION_CATEGORY   21
 802.11 Action frame category
#define MAC_VENDOR_PROT_ACTION_CATEGORY   126
 802.11 Action frame category
#define MAC_VENDOR_ACTION_CATEGORY   127
 802.11 Action frame category
#define MAC_ACTION_CATEGORY_ERROR   128
 802.11 Action frame category
#define MAC_P2P_ACTION_NOA_SUBTYPE   0
 802.11 Action frame category
#define MAC_SELF_PROT_ACTION_CAPA_OFT   2
 802.11 Action frame category
#define MAC_SELF_PROT_ACTION_CAPA_LEN   2
 802.11 Action frame category
#define MAC_SELF_PROT_ACTION_AID_OFT   4
 802.11 Action frame category
#define MAC_SELF_PROT_ACTION_AID_LEN   2
 802.11 Action frame category

WMM-AC Frames and Values definitions



#define MAC_WMMAC_OUI_BYTE   0x00
 802.11 WMM-AC frame definition
#define MAC_WMMAC_OUI_TYPE_BYTE   0x50
 802.11 WMM-AC frame definition
#define MAC_WMMAC_OUI_SUBTYPE_BYTE   0xF2
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_HDR_OFT   0
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_TSINFO_OFT   8
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_NOM_MSDU_SIZE_OFT   11
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MAX_MSDU_SIZE_OFT   13
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MINSI_OFT   15
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MAXSI_OFT   19
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_INACTIVITY_INTERVAL_OFT   23
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_SUSPENSION_INTERVAL_OFT   27
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_SERVICE_START_TIME_OFT   31
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MIN_DATA_RATE_OFT   35
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MEAN_DATA_RATE_OFT   39
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_PEAK_DATA_RATE_OFT   43
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_BURST_SIZE_OFT   47
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_DELAY_BOUND_OFT   51
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MIN_PHY_RATE_OFT   55
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_SURPLUS_BW_OFT   59
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSPEC_MEDUIM_TIME_OFT   61
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSINFO_HDR_OFT   0
 802.11 WMM-AC frame definition
#define MAC_WMMAC_TSINFO_BODY_OFT   8
 802.11 WMM-AC frame definition
#define MAC_WMMSA_TSDELAY_HDR_OFT   0
 802.11 WMM-AC frame definition
#define MAC_WMMSA_TSDELAY_BODY_OFT   8
 802.11 WMM-AC frame definition
#define MAC_WMMAC_OUI_SUBTYPE_TSPEC_LEN   61
 802.11 WMM-AC frame definition
#define MAC_OUI_SUBTYPE_WMMAC_TSINFO_LEN   9
 802.11 WMM-AC frame definition
#define MAC_OUI_SUBTYPE_WMMAC_TSDELAY_LEN   10
 802.11 WMM-AC frame definition
#define MAC_TSPEC_TRAFIC_TYPE_OFT   0
 802.11 WMM-AC frame definition
#define MAC_TSPEC_TRAFIC_TYPE_MASK   (CO_BIT(0))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_TSID_OFT   1
 802.11 WMM-AC frame definition
#define MAC_TSPEC_TSID_MASK   (CO_BIT(1)|CO_BIT(2)|CO_BIT(3)|CO_BIT(4))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_DIRECTION_OFT   5
 802.11 WMM-AC frame definition
#define MAC_TSPEC_DIRECTION_MASK   (CO_BIT(5)|CO_BIT(6))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_ACCESS_POLICY_OFT   7
 802.11 WMM-AC frame definition
#define MAC_TSPEC_ACCESS_POLICY_MASK   (CO_BIT(7)|CO_BIT(8))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_AGGREGATION_OFT   9
 802.11 WMM-AC frame definition
#define MAC_TSPEC_AGGREGATION_MASK   (CO_BIT(9))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_APSD_OFT   10
 802.11 WMM-AC frame definition
#define MAC_TSPEC_APSD_MASK   (CO_BIT(10))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_USER_PRIORITY_OFT   11
 802.11 WMM-AC frame definition
#define MAC_TSPEC_USER_PRIORITY_MASK   (CO_BIT(11)|CO_BIT(12)|CO_BIT(13))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_ACK_POLICY_OFT   14
 802.11 WMM-AC frame definition
#define MAC_TSPEC_ACK_POLICY_MASK   (CO_BIT(14)|CO_BIT(15))
 802.11 WMM-AC frame definition
#define MAC_TSPEC_SCHEDULE_OFT   16
 802.11 WMM-AC frame definition
#define MAC_TSPEC_SCHEDULE_MASK   (CO_BIT(16))
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ST_ADDTS_SUCESS   0
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ST_DELTS_POOR_CHANNEL_COND   34
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ST_ADDTS_REQUEST_DECLINED   37
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ST_ADDTS_INVALID_PARAMETERS   38
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ST_ADDTS_REJ_W_SUG_CHANGES   39
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ST_ADDTS_REJ_W_DELAY_PRD   47
 802.11 WMM-AC frame definition
#define MAC_WMMAC_RS_DELTS_QSTA_LEAVING   36
 802.11 WMM-AC frame definition
#define MAC_WMMAC_RS_DELTS_END_TS   37
 802.11 WMM-AC frame definition
#define MAC_WMMAC_RS_DELTS_UNKOWN_TS   38
 802.11 WMM-AC frame definition
#define MAC_WMMAC_RS_DELTS_TIMEOUT   39
 802.11 WMM-AC frame definition
#define MAC_WMMAC_RS_DELTS_UNSPECIFIED   32
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ACTION_ADDTS_REQ   0
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ACTION_ADDTS_RSP   1
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ACTION_DELTS   2
 802.11 WMM-AC frame definition
#define MAC_WMMAC_ACTION_SCHEDULE   3
 802.11 WMM-AC frame definition
#define MAC_ADDTS_REQ_TSPEC_OFT   3
 802.11 WMM-AC frame definition
#define MAC_ADDTS_REQ_TCLASS_OFT   66
 802.11 WMM-AC frame definition
#define MAC_ADDTS_RSP_STATUS_OFT   3
 802.11 WMM-AC frame definition
#define MAC_ADDTS_RSP_TSDELAY_OFT   5
 802.11 WMM-AC frame definition
#define MAC_ADDTS_RSP_TSPEC_OFT   17
 802.11 WMM-AC frame definition
#define MAC_ADDTS_RSP_TCLASS_OFT   80
 802.11 WMM-AC frame definition
#define MAC_DELTS_TSINFO_OFT   2
 802.11 WMM-AC frame definition
#define MAC_DELTS_REASON_OFT   13
 802.11 WMM-AC frame definition

Block-Ack Frames and Values definitions



#define MAC_BARINFO_PERTIDINFO_OFT   0
 802.11 BlockAck action frame definition
#define MAC_BARINFO_PERTIDINFO_STEP   1
 802.11 BlockAck action frame definition
#define MAC_BARINFO_SEQ_OFT   2
 802.11 BlockAck action frame definition
#define MAC_BARINFO_PERTIDINFO_TID_STEP   4
 802.11 BlockAck action frame definition
#define MAC_CAPA_BA_OFT   14
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_LEN   2
 802.11 BlockAck action frame definition
#define MAC_BA_TIMEOUT_LEN   2
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_LEN   4
 802.11 BlockAck action frame definition
#define MAC_BA_DELBA_REASON_LEN   2
 802.11 BlockAck action frame definition
#define MAC_BARINFO_SEQ_FRAG   0
 802.11 BlockAck action frame definition
#define MAC_DELPARAMSET_START_OFT   0
 802.11 BlockAck action frame definition
#define MAC_DELPARAMSET_STEP_OFT   1
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_AMSDU_OFT   0
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_AMSDU_MASK   CO_BIT(0)
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_POLICY_OFT   1
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_POLICY_MASK   CO_BIT(1)
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_TID_OFT   2
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_TID_MASK   (CO_BIT(2)|CO_BIT(3)|CO_BIT(4)|CO_BIT(5))
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_BUFFER_OFT   6
 802.11 BlockAck action frame definition
#define MAC_BA_PARAMSET_BUFFER_MASK   0xFFC0
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_PERTIDINFO_TID_OFT   12
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_PERTIDINFO_TID_MASK   (CO_BIT(12)|CO_BIT(13))|(CO_BIT(14)|CO_BIT(15))
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_SEQ_FRAG_OFT   0
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_SEQ_FRAG_MASK   (CO_BIT(0)|CO_BIT(1))|(CO_BIT(2)|CO_BIT(3))
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_SEQ_STARTSEQ_OFT   4
 802.11 BlockAck action frame definition
#define MAC_BA_BARINFO_SEQ_STARTSEQ_MASK   0x7FF0
 802.11 BlockAck action frame definition
#define MAC_BA_DELPARAMSET_INIT_OFT   3
 802.11 BlockAck action frame definition
#define MAC_BA_DELBARINFO_INIT_MASK   CO_BIT(3)
 802.11 BlockAck action frame definition
#define MAC_BA_DELPARAMSET_TID_OFT   4
 802.11 BlockAck action frame definition
#define MAC_BA_DELPARAMSET_TID_MASK   (CO_BIT(4)|CO_BIT(5)|CO_BIT(6)|CO_BIT(7))
 802.11 BlockAck action frame definition
#define MAC_BA_ST_SUCCESS   0
 802.11 BlockAck action frame definition
#define MAC_BA_ST_REQUEST_REFUSED   37
 802.11 BlockAck action frame definition
#define MAC_BA_ST_INVALID_PARAMETERS   38
 802.11 BlockAck action frame definition
#define MAC_BA_RS_STA_LEAVING   36
 802.11 BlockAck action frame definition
#define MAC_BA_RS_END_BA   37
 802.11 BlockAck action frame definition
#define MAC_BA_RS_UNKNOWN_BA   38
 802.11 BlockAck action frame definition
#define MAC_BA_RS_TIMEOUT   39
 802.11 BlockAck action frame definition
#define MAC_BA_ACTION_ADDBA_REQ   0
 802.11 BlockAck action frame definition
#define MAC_BA_ACTION_ADDBA_RSP   1
 802.11 BlockAck action frame definition
#define MAC_BA_ACTION_DELBA   2
 802.11 BlockAck action frame definition
#define MAC_ADDBA_REQ_PARAMSET_OFT   3
 802.11 BlockAck action frame definition
#define MAC_ADDBA_REQ_TIMEOUT_OFT   5
 802.11 BlockAck action frame definition
#define MAC_ADDBA_REQ_BARINFO_OFT   7
 802.11 BlockAck action frame definition
#define MAC_ADDBA_RSP_STATUS_OFT   3
 802.11 BlockAck action frame definition
#define MAC_ADDBA_RSP_PARAMSET_OFT   5
 802.11 BlockAck action frame definition
#define MAC_ADDBA_RSP_TIMEOUT_OFT   7
 802.11 BlockAck action frame definition
#define MAC_DELBA_PARAMSET_OFT   2
 802.11 BlockAck action frame definition
#define MAC_DELBA_REASON_OFT   4
 802.11 BlockAck action frame definition

TDLS Action Frames definitions



#define MAC_TDLS_ACTION_SETUP_REQ   0
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_SETUP_RSP   1
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_SETUP_CFM   2
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_TEARDOWN   3
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_PEER_TRAFFIC_IND   4
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_CHANSW_REQ   5
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_CHANSW_RSP   6
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_PEER_TRAFFIC_RSP   9
 802.11 TDLS action frame definition
#define MAC_TDLS_ACTION_DISCOVERY_REQ   10
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_TARGET_CH_OFFSET   2
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_OP_CLASS   3
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_IES_OFFSET   4
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_IE_SEC_CH_OFT_LEN   3
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_IE_LINK_ID_LEN   20
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_IE_CH_SWITCH_TIMING_LEN   6
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQ_IE_WIDE_BW_CHAN_SWITCH_LEN   5
 802.11 TDLS action frame definition
#define TDLS_CHANSW_RSP_STATUS_OFFSET   2
 802.11 TDLS action frame definition
#define TDLS_CHANSW_RSP_IES_OFFSET   4
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQUEST_ACCEPTED   0
 802.11 TDLS action frame definition
#define TDLS_CHANSW_REQUEST_DECLINED   37
 802.11 TDLS action frame definition
#define TDLS_PEER_TRAFFIC_IND_IES_OFFSET   3
 802.11 TDLS action frame definition
#define TDLS_PEER_TRAFFIC_IND_IE_LINK_ID_LEN   20
 802.11 TDLS action frame definition
#define TDLS_PEER_TRAFFIC_IND_IE_PTI_CTRL_LEN   5
 802.11 TDLS action frame definition
#define TDLS_PEER_TRAFFIC_IND_IE_TPU_BUF_STATUS_LEN   3
 802.11 TDLS action frame definition
#define TDLS_PEER_TRAFFIC_RSP_IES_OFFSET   3
 802.11 TDLS action frame definition
#define TDLS_PEER_TRAFFIC_RSP_IE_LINK_ID_LEN   20
 802.11 TDLS action frame definition

Link Management definitions



#define MAC_HEAD_HT_OFT   32
 802.11 Link Management frame definition
#define MAC_MAI_MASK   0x003C
 802.11 Link Management frame definition
#define MAC_MAI_OFT   2
 802.11 Link Management frame definition
#define MAC_MAI_IND_ASELI   14
 802.11 Link Management frame definition
#define MAC_MFB_MASK   0xFE00
 802.11 Link Management frame definition
#define MAC_MFB_OFT   9
 802.11 Link Management frame definition
#define NO_FEEDBACK   127
 802.11 Link Management frame definition
#define MAC_ADDR2_OFT   10
 802.11 Link Management frame definition
#define MCS_IDX3_MASK   0x0000FF
 802.11 Link Management frame definition
#define MCS_IDX2_MASK   0x00FF00
 802.11 Link Management frame definition
#define MCS_IDX1_MASK   0xFF0000
 802.11 Link Management frame definition
#define MCS_IDX2_OFT   8
 802.11 Link Management frame definition
#define MCS_IDX1_OFT   16
 802.11 Link Management frame definition

HT Action Frame definitions



#define MAC_CHAN_WIDTH_HT_ACTION   0
 802.11 HT action frame definition
#define MAC_SMPS_HT_ACTION   1
 802.11 HT action frame definition
#define MAC_PSMP_HT_ACTION   2
 802.11 HT action frame definition
#define MAC_SET_PCO_PHASE_HT_ACTION   3
 802.11 HT action frame definition
#define MAC_CSI_HT_ACTION   4
 802.11 HT action frame definition
#define MAC_NON_COMP_BEAMFORMING_HT_ACTION   5
 802.11 HT action frame definition
#define MAC_COMP_BEAMFORMING_HT_ACTION   6
 802.11 HT action frame definition
#define MAC_ASEL_INDICES_FEEDBACK_HT_ACTION   7
 802.11 HT action frame definition
#define MAC_CHAN_WIDTH_WIDTH_OFT   2
 802.11 HT action frame definition
#define MAC_SM_PRW_CTRL_OFT   2
 802.11 HT action frame definition
#define MAC_SMPS_ENABLE_BIT   CO_BIT(0)
 802.11 HT action frame definition
#define MAC_SMPS_DYNAMIC_BIT   CO_BIT(1)
 802.11 HT action frame definition

VHT Action Frame definitions



#define MAC_COMP_BEAMFORMING_VHT_ACTION   0
 802.11 VHT action frame definition
#define MAC_GROUP_ID_MGMT_VHT_ACTION   1
 802.11 VHT action frame definition
#define MAC_OP_MODE_NOTIF_VHT_ACTION   2
 802.11 VHT action frame definition
#define MAC_GROUP_ID_MGT_PAYL_LENGTH   26
 802.11 VHT action frame definition
#define MAC_GROUP_ID_MGT_MEMBERSHIP_OFT   2
 802.11 VHT action frame definition
#define MAC_GROUP_ID_MGT_USER_POS_OFT   10
 802.11 VHT action frame definition
#define MAC_OP_MODE_NOTIF_OPMODE_OFT   2
 802.11 VHT action frame definition
#define MAC_OP_MODE_NOTIF_LEN   3
 802.11 VHT action frame definition
#define MAC_OP_MODE_NOTIF_PARAM_LEN   1
 802.11 VHT action frame definition
#define MAC_OPMODE_BW_OFT   0
 802.11 VHT action frame definition
#define MAC_OPMODE_BW_MSK   (0x3 << MAC_OPMODE_BW_OFT)
 802.11 VHT action frame definition
#define MAC_OPMODE_RXNSS_OFT   4
 802.11 VHT action frame definition
#define MAC_OPMODE_RXNSS_MSK   (0x7 << MAC_OPMODE_RXNSS_OFT)
 802.11 VHT action frame definition
#define MAC_OPMODE_RXNSS_TYPE_BIT   CO_BIT(7)
 802.11 VHT action frame definition

SA QUERY Action Frame definitions



#define MAC_SA_QUERY_ACTION_OFT   1
#define MAC_SA_QUERY_REQUEST   0
#define MAC_SA_QUERY_RESPONSE   1
#define MAC_SA_QUERY_TR_ID_OFT   2
#define MAC_SA_QUERY_TR_ID_LEN   2
#define MAC_SA_QUERY_MIN_LEN   (MAC_SA_QUERY_TR_ID_OFT + MAC_SA_QUERY_TR_ID_LEN)

Information Element Identifier definitions



#define MAC_INFOELT_ID_OFT   0
 802.11 IE identifier
#define MAC_INFOELT_LEN_OFT   1
 802.11 IE identifier
#define MAC_INFOELT_EXT_ID_OFT   2
 802.11 IE identifier
#define MAC_INFOELT_INFO_OFT   2
 802.11 IE identifier
#define MAC_INFOELT_EXT_INFO_OFT   3
 802.11 IE identifier
#define MAC_ELTID_SSID   0
 802.11 IE identifier
#define MAC_ELTID_RATES   1
 802.11 IE identifier
#define MAC_ELTID_FH   2
 802.11 IE identifier
#define MAC_ELTID_DS   3
 802.11 IE identifier
#define MAC_ELTID_CF   4
 802.11 IE identifier
#define MAC_ELTID_TIM   5
 802.11 IE identifier
#define MAC_ELTID_IBSS   6
 802.11 IE identifier
#define MAC_ELTID_COUNTRY   7
 802.11 IE identifier
#define MAC_ELTID_HOP_PARAM   8
 802.11 IE identifier
#define MAC_ELTID_HOP_TABLE   9
 802.11 IE identifier
#define MAC_ELTID_REQUEST   10
 802.11 IE identifier
#define MAC_ELTID_BSS_LOAD   11
 802.11 IE identifier
#define MAC_ELTID_EDCA_PARAM   12
 802.11 IE identifier
#define MAC_ELTID_CHALLENGE   16
 802.11 IE identifier
#define MAC_ELTID_POWER_CONSTRAINT   32
 802.11 IE identifier
#define MAC_ELTID_POWER_CAPABILITY   33
 802.11 IE identifier
#define MAC_POWER_CAPABILITY_IE_LEN   2
 802.11 IE identifier
#define MAC_ELTID_TPC_REQUEST   34
 802.11 IE identifier
#define MAC_ELTID_TPC_REPORT   35
 802.11 IE identifier
#define MAC_ELTID_SUPPORTED_CHANNELS   36
 802.11 IE identifier
#define MAC_ELTID_CHANNEL_SWITCH   37
 802.11 IE identifier
#define MAC_ELTID_MEASUREMENT_REQUEST   38
 802.11 IE identifier
#define MAC_ELTID_MEASUREMENT_REPORT   39
 802.11 IE identifier
#define MAC_ELTID_QUIET   40
 802.11 IE identifier
#define MAC_ELTID_IBSS_DFS   41
 802.11 IE identifier
#define MAC_ELTID_ERP   42
 802.11 IE identifier
#define MAC_ELTID_HT_CAPA   45
 802.11 IE identifier
#define MAC_ELTID_QOS_CAPA   46
 802.11 IE identifier
#define MAC_ELTID_RSN_IEEE   48
 802.11 IE identifier
#define MAC_ELTID_EXT_RATES   50
 802.11 IE identifier
#define MAC_ELTID_MDE   54
 802.11 IE identifier
#define MAC_ELTID_FTE   55
 802.11 IE identifier
#define MAC_ELTID_SUPP_OPER_CLASS   59
 802.11 IE identifier
#define MAC_ELTID_EXT_CHANNEL_SWITCH   60
 802.11 IE identifier
#define MAC_ELTID_SEC_CH_OFFSET   62
 802.11 IE identifier
#define MAC_ELTID_WAPI   68
 802.11 IE identifier
#define MAC_ELTID_MULTIPLE_BSSID   71
 802.11 IE identifier
#define MAC_ELTID_20_40_COEXISTENCE   72
 802.11 IE identifier
#define MAC_ELTID_OBSS_SCAN_PARAM   74
 802.11 IE identifier
#define MAC_ELTID_MGMT_MIC   76
 802.11 IE identifier
#define MAC_ELTID_NON_TXED_BSSID_CAPA   83
 802.11 IE identifier
#define MAC_ELTID_MULTI_BSSID_INDEX   85
 802.11 IE identifier
#define MAC_ELTID_HT_OPERATION   61
 802.11 IE identifier
#define MAC_ELTID_LINK_IDENTIFIER   101
 802.11 IE identifier
#define MAC_ELTID_CHANNEL_SWITCH_TIMING   104
 802.11 IE identifier
#define MAC_ELTID_PTI_CONTROL   105
 802.11 IE identifier
#define MAC_ELTID_TPU_BUFFER_STATUS   106
 802.11 IE identifier
#define MAC_ELTID_MESH_CONF   113
 802.11 IE identifier
#define MAC_ELTID_MESH_ID   114
 802.11 IE identifier
#define MAC_ELTID_MESH_LINK_METRIC_REP   115
 802.11 IE identifier
#define MAC_ELTID_CONGESTION_NOTIF   116
 802.11 IE identifier
#define MAC_ELTID_MESH_PEER_MGMT   117
 802.11 IE identifier
#define MAC_ELTID_MESH_CHAN_SWITCH_PARAM   118
 802.11 IE identifier
#define MAC_ELTID_MESH_AWAKE_WINDOW   119
 802.11 IE identifier
#define MAC_ELTID_MESH_GANN   125
 802.11 IE identifier
#define MAC_ELTID_MESH_RANN   126
 802.11 IE identifier
#define MAC_ELTID_EXT_CAPA   127
 802.11 IE identifier
#define MAC_ELTID_MESH_PREQ   130
 802.11 IE identifier
#define MAC_ELTID_MESH_PREP   131
 802.11 IE identifier
#define MAC_ELTID_MESH_PERR   132
 802.11 IE identifier
#define MAC_ELTID_VHT_CAPA   191
 802.11 IE identifier
#define MAC_ELTID_VHT_OPERATION   192
 802.11 IE identifier
#define MAC_ELTID_WIDE_BANDWIDTH_CHAN_SWITCH   194
 802.11 IE identifier
#define MAC_ELTID_VHT_TRANSMIT_PWR_ENVELOP   195
 802.11 IE identifier
#define MAC_ELTID_CHAN_SWITCH_WRP   196
 802.11 IE identifier
#define MAC_ELTID_OP_MODE_NOTIF   199
 802.11 IE identifier
#define MAC_ELTID_OUI   221
 802.11 IE identifier
#define MAC_ELTID_EXT   255
 802.11 IE identifier
#define MAC_OUI_TYPE_WPA   1
 802.11 IE identifier
#define MAC_OUI_TYPE_WME   2
 802.11 IE identifier
#define MAC_OUI_SUBTYPE_WME_INFORMATION   0
 802.11 IE identifier
#define MAC_OUI_SUBTYPE_WME_PARAMETER   1
 802.11 IE identifier
#define MAC_OUI_TYPE_WMMAC   2
 802.11 IE identifier
#define MAC_OUI_SUBTYPE_WMMAC_TSPEC   2
 802.11 IE identifier
#define MAC_OUI_SUBTYPE_WMMAC_TSDELAY   8
 802.11 IE identifier
#define MAC_OUI_SUBTYPE_WMMAC_TSINFO   10
 802.11 IE identifier
#define MAC_ELTID_EXT_HE_CAPA   35
 802.11 IE identifier
#define MAC_ELTID_EXT_HE_OPERATION   36
 802.11 IE identifier
#define MAC_ELTID_EXT_UORA   37
 802.11 IE identifier
#define MAC_ELTID_EXT_MU_EDCA   38
 802.11 IE identifier

Information Subelement Identifier definitions for Multiple BSSID element



#define MAC_SUBID_MBSSID_NON_TXED_PROF   0
 802.11 Multiple BSSID subelement identifier
#define MAC_SUBID_MBSSID_VENDOR_SPECIFIC   221
 802.11 Multiple BSSID subelement identifier

Standard Status Code definitions



#define MAC_ST_SUCCESSFUL   0
 802.11 Status Code
#define MAC_ST_FAILURE   1
 802.11 Status Code
#define MAC_ST_RESERVED   2
 802.11 Status Code
#define MAC_ST_CAPA_NOT_SUPPORTED   10
 802.11 Status Code
#define MAC_ST_REASSOC_NOT_ASSOC   11
 802.11 Status Code
#define MAC_ST_ASSOC_DENIED   12
 802.11 Status Code
#define MAC_ST_AUTH_ALGO_NOT_SUPPORTED   13
 802.11 Status Code
#define MAC_ST_AUTH_FRAME_WRONG_SEQ   14
 802.11 Status Code
#define MAC_ST_AUTH_CHALLENGE_FAILED   15
 802.11 Status Code
#define MAC_ST_AUTH_TIMEOUT   16
 802.11 Status Code
#define MAC_ST_ASSOC_TOO_MANY_STA   17
 802.11 Status Code
#define MAC_ST_ASSOC_RATES_NOT_SUPPORTED   18
 802.11 Status Code
#define MAC_ST_ASSOC_PREAMBLE_NOT_SUPPORTED   19
 802.11 Status Code
#define MAC_ST_ASSOC_SPECTRUM_REQUIRED   22
 802.11 Status Code
#define MAC_ST_ASSOC_POWER_CAPA   23
 802.11 Status Code
#define MAC_ST_ASSOC_SUPPORTED_CHANNEL   24
 802.11 Status Code
#define MAC_ST_ASSOC_SLOT_NOT_SUPPORTED   25
 802.11 Status Code
#define MAC_ST_REFUSED_TEMPORARILY   30
 802.11 Status Code
#define MAC_ST_INVALID_MFP_POLICY   31
 802.11 Status Code
#define MAC_ST_INVALID_IE   40
 802.11 Status Code
#define MAC_ST_GROUP_CIPHER_INVALID   41
 802.11 Status Code
#define MAC_ST_PAIRWISE_CIPHER_INVALID   42
 802.11 Status Code
#define MAC_ST_AKMP_INVALID   43
 802.11 Status Code
#define MAC_ST_UNSUPPORTED_RSNE_VERSION   44
 802.11 Status Code
#define MAC_ST_INVALID_RSNE_CAPA   45
 802.11 Status Code
#define MAC_ST_CIPHER_SUITE_REJECTED   46
 802.11 Status Code

Standard Reason Code definitions



#define MAC_RS_RESERVED   0
 802.11 Reason Code
#define MAC_RS_UNSPECIFIED   1
 802.11 Reason Code
#define MAC_RS_PREVIOUS_AUTH_NOT_VALID   2
 802.11 Reason Code
#define MAC_RS_DEAUTH_SENDER_LEFT_IBSS_ESS   3
 802.11 Reason Code
#define MAC_RS_DIASSOC_INACTIVITY   4
 802.11 Reason Code
#define MAC_RS_DIASSOC_TOO_MANY_STA   5
 802.11 Reason Code
#define MAC_RS_CLASS_2_FORBIDDEN   6
 802.11 Reason Code
#define MAC_RS_CLASS_3_FORBIDDEN   7
 802.11 Reason Code
#define MAC_RS_DEAUTH_SENDER_LEFT_BSS   8
 802.11 Reason Code
#define MAC_RS_STA_REQ_ASSOC_NOT_AUTH   9
 802.11 Reason Code
#define MAC_RS_DIASSOC_POWER_CAPA   10
 802.11 Reason Code
#define MAC_RS_DIASSOC_SUPPORTED_CHANNEL   11
 802.11 Reason Code
#define MAC_RS_RESERVED_12   12
 802.11 Reason Code
#define MAC_RS_INVALID_IE   13
 802.11 Reason Code
#define MAC_RS_MIC_FAILURE   14
 802.11 Reason Code
#define MAC_RS_4WAY_HANDSHAKE_TIMEOUT   15
 802.11 Reason Code
#define MAC_RS_GROUP_KEY_UPDATE_TIMEOUT   16
 802.11 Reason Code
#define MAC_RS_BAD_RSNIE   17
 802.11 Reason Code
#define MAC_RS_GROUP_CIPHER_INVALID   18
 802.11 Reason Code
#define MAC_RS_PAIRWISE_CIPHER_INVALID   19
 802.11 Reason Code
#define MAC_RS_AKMP_INVALID   20
 802.11 Reason Code
#define MAC_RS_UNSUPPORTED_RSNE_VERSION   21
 802.11 Reason Code
#define MAC_RS_INVALID_RSNE_CAPA   22
 802.11 Reason Code
#define MAC_RS_802_1X_AUTH_FAIL   23
 802.11 Reason Code
#define MAC_RS_CIPHER_SUITE_REJECTED   24
 802.11 Reason Code
#define MAC_RS_TIMEOUT   39
 802.11 Reason Code

WMMIE definitions



#define MAC_WME_PARAM_LEN   16
 WMM IE definition.
#define MAC_RAW_WME_INFO_ELMT_DEFAULT
 Default WME information element format.
#define MAC_ACI_BE   0
 WMM IE definition.
#define MAC_ACI_BK   1
 WMM IE definition.
#define MAC_ACI_VI   2
 WMM IE definition.
#define MAC_ACI_VO   3
 WMM IE definition.
#define MAC_ACI_OFT   5
 WMM IE definition.
#define MAC_ECWMIN   4
 WMM IE definition.
#define MAC_ECWMAX   10
 WMM IE definition.
#define MAC_ECW_BK_MIN   MAC_ECWMIN
 WMM IE definition.
#define MAC_ECW_BE_MIN   MAC_ECWMIN
 WMM IE definition.
#define MAC_ECW_VI_MIN   ((MAC_ECWMIN) - 1)
 WMM IE definition.
#define MAC_ECW_VO_MIN   ((MAC_ECWMIN)/2)
 WMM IE definition.
#define MAC_ECW_BK_MAX   MAC_ECWMAX
 WMM IE definition.
#define MAC_ECW_BE_MAX   MAC_ECWMAX
 WMM IE definition.
#define MAC_ECW_VI_MAX   MAC_ECWMIN
 WMM IE definition.
#define MAC_ECW_VO_MAX   ((MAC_ECWMIN) - 1)
 WMM IE definition.
#define MAC_AIFSN_BK   7
 WMM IE definition.
#define MAC_AIFSN_BE   3
 WMM IE definition.
#define MAC_AIFSN_VI   2
 WMM IE definition.
#define MAC_AIFSN_VO   2
 WMM IE definition.
#define MAC_AC_BE_TXOP   0
 WMM IE definition.
#define MAC_AC_BK_TXOP   0
 WMM IE definition.
#define MAC_AC_VI_TXOP_b   188
 WMM IE definition.
#define MAC_AC_VI_TXOP_ag   94
 WMM IE definition.
#define MAC_AC_VO_TXOP_b   102
 WMM IE definition.
#define MAC_AC_VO_TXOP_ag   47
 WMM IE definition.

RSNIE definitions



#define MAC_RSNIE_CIPHER_USE_GROUP   0x000FAC00
#define MAC_RSNIE_CIPHER_WEP_40   0x000FAC01
#define MAC_RSNIE_CIPHER_TKIP   0x000FAC02
#define MAC_RSNIE_CIPHER_RSVD   0x000FAC03
#define MAC_RSNIE_CIPHER_CCMP_128   0x000FAC04
#define MAC_RSNIE_CIPHER_WEP_104   0x000FAC05
#define MAC_RSNIE_CIPHER_BIP_CMAC_128   0x000FAC06
#define MAC_RSNIE_CIPHER_NO_GROUP   0x000FAC07
#define MAC_RSNIE_CIPHER_GCMP_128   0x000FAC08
#define MAC_RSNIE_CIPHER_GCMP_256   0x000FAC09
#define MAC_RSNIE_CIPHER_CCMP_256   0x000FAC0A
#define MAC_RSNIE_CIPHER_BIP_GMAC_128   0x000FAC0B
#define MAC_RSNIE_CIPHER_BIP_GMAC_256   0x000FAC0C
#define MAC_RSNIE_CIPHER_BIP_CMAC_256   0x000FAC0D
#define MAC_RSNIE_AKM_8021X   0x000FAC01
#define MAC_RSNIE_AKM_PSK   0x000FAC02
#define MAC_RSNIE_AKM_FT_8021X   0x000FAC03
#define MAC_RSNIE_AKM_FT_PSK   0x000FAC04
#define MAC_RSNIE_AKM_8021X_SHA256   0x000FAC05
#define MAC_RSNIE_AKM_PSK_SHA256   0x000FAC06
#define MAC_RSNIE_AKM_TDLS   0x000FAC07
#define MAC_RSNIE_AKM_SAE   0x000FAC08
#define MAC_RSNIE_AKM_FT_OVER_SAE   0x000FAC09
#define MAC_RSNIE_AKM_8021X_SUITE_B   0x000FAC0B
#define MAC_RSNIE_AKM_8021X_SUITE_B_192   0x000FAC0C
#define MAC_RSNIE_AKM_FILS_SHA256   0x000FAC0D
#define MAC_RSNIE_AKM_FILS_SHA384   0x000FAC0F
#define MAC_RSNIE_AKM_FT_FILS_SHA256   0x000FAC10
#define MAC_RSNIE_AKM_FT_FILS_SHA384   0x000FAC11
#define MAC_RSNIE_AKM_OWE   0x000FAC12
#define MAC_RSNIE_CAPA_PREAUTH_BIT   CO_BIT(0)
#define MAC_RSNIE_CAPA_NO_PAIRWISE_BIT   CO_BIT(1)
#define MAC_RSNIE_CAPA_PTKSA_REPLAY_CNT_MSK   0x000C
#define MAC_RSNIE_CAPA_GTKSA_REPLAY_CNT_MSK   0x0030
#define MAC_RSNIE_CAPA_MFPR_BIT   CO_BIT(6)
#define MAC_RSNIE_CAPA_MFPC_BIT   CO_BIT(7)
#define MAC_RSNIE_CAPA_JOINT_MULIT_BAND_BIT   CO_BIT(8)
#define MAC_RSNIE_CAPA_PEERKEY_BIT   CO_BIT(9)
#define MAC_RSNIE_CAPA_SPP_AMSDU_CAP_BIT   CO_BIT(10)
#define MAC_RSNIE_CAPA_SPP_AMSDU_REQ_BIT   CO_BIT(11)
#define MAC_RSNIE_CAPA_PBAC_BIT   CO_BIT(12)
#define MAC_RSNIE_CAPA_EXT_KEY_ID_BIT   CO_BIT(13)

WPA (pre-RSN) definitions



#define MAC_WPA_CIPHER_TKIP   0x0050F202
#define MAC_WPA_CIPHER_CCMP   0x0050F204
#define MAC_WPA_AKM_8021X   0x0050F201
#define MAC_WPA_AKM_PSK   0x0050F202

WAPI definitions



#define MAC_WAPI_CIPHER_WPI_SMS4   0x00147201
#define MAC_WAPI_AKM_CERT   0x00147201
#define MAC_WAPI_AKM_PSK   0x00147202

Country IE definitions



#define MAC_COUNTRY_2G4_FULL   { 3, {'x', 'x', ' '}, { 1, 14, 30}}
 Country IE definition.
#define MAC_COUNTRY_2G4_USA   { 6, {'U', 'S', ' '}, { 1, 11, 30}}
 Country IE definition.
#define MAC_COUNTRY_2G4_CANADA   { 6, {'C', 'A', ' '}, { 1, 11, 30}}
 Country IE definition.
#define MAC_COUNTRY_2G4_EUROPE   { 6, {'E', 'U', ' '}, { 1, 13, 30}}
 Country IE definition.
#define MAC_COUNTRY_2G4_SPAIN   { 6, {'S', 'P', ' '}, {10, 2, 30}}
 Country IE definition.
#define MAC_COUNTRY_2G4_FRANCE   { 6, {'F', 'R', ' '}, {10, 4, 20}}
 Country IE definition.
#define MAC_COUNTRY_2G4_JAPAN   { 6, {'J', 'P', ' '}, {14, 1, 30}}
 Country IE definition.
#define MAC_COUNTRY_2G4_CHINA   { 6, {'C', 'N', ' '}, { 1, 13, 30}}
 Country IE definition.
#define MAC_COUNTRY_5G_FULL   { 3, {'x', 'x', ' '}, {{ 36, 8, 23}}}
 Country IE definition.

Detailed Description

Common MAC types, defines and utils functions.

This module contains various types and definitions related to 802.11 standard and used by all MACSW fimware modules.


Define Documentation

struct he_trigger_base __PACKED   __attribute__ ((__packed__))

Pack a structure field.

Base structure of a HE Trigger frame.

Base part of the User Info field present in the HE trigger frames.

Structure of the User Info part of the HE Basic Trigger frame.

Structure of A-MSDU Header.

Structure of a Compressed Block Acknowledgment frame.

Multi-STA AID/TID info field.

Structure of BA SSC + 256-bit bitmap.

Structure of BA SSC + 128-bit bitmap.

Structure of BA SSC + 64-bit bitmap.

Structure of BA SSC + 32-bit bitmap.

Structure of generic BA SSC + bitmap.

Base structure of a Block Acknowledgment frame.

Structure of a Block Acknowledgment Request frame.

Structure of a Probe Request frame.

Structure of a Beacon or ProbeRsp frame.

Structure of Ethernet Header.

Structure of a 4-address QoS Data frame MAC header.

Structure of a 4-address Data frame MAC header.

Structure of a QoS Data + HTC frame MAC header.

Structure of a QoS Data frame MAC header.

Structure of a Data/Management frame MAC header.

Structure of a long control frame MAC header.

Definition at line 31 of file compiler.h.

Referenced by co_read32p(), co_read64p(), and co_write32p().

#define HE_MAC_CAPA_BIT_CLR ( he_cap,
bit   ) 
Value:
co_bit_clr((he_cap)->mac_cap_info,         \
                                                         HE_MAC_CAPA_##bit##_POS)

Clear a bit in the HE MAC capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] bit Bit to be cleared

Definition at line 308 of file mac.h.

#define HE_MAC_CAPA_BIT_IS_SET ( he_cap,
bit   ) 
Value:
co_bit_is_set((he_cap)->mac_cap_info,      \
                                                            HE_MAC_CAPA_##bit##_POS)

Test if a bit in the HE MAC capability element is set.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] bit Bit to be set
Returns:
true if set, false otherwise

Definition at line 288 of file mac.h.

#define HE_MAC_CAPA_BIT_SET ( he_cap,
bit   ) 
Value:
co_bit_set((he_cap)->mac_cap_info,         \
                                                          HE_MAC_CAPA_##bit##_POS)

Set a bit in the HE MAC capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] bit Bit to be set

Definition at line 298 of file mac.h.

#define HE_MAC_CAPA_VAL_GET ( he_cap,
field   ) 
Value:
co_val_get((he_cap)->mac_cap_info,         \
                                                         HE_MAC_CAPA_##field##_OFT,      \
                                                         HE_MAC_CAPA_##field##_WIDTH)

Get the value of a bit field in the HE MAC capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] field Bit field to be read
Returns:
The value of the field

Definition at line 263 of file mac.h.

Referenced by me_get_ampdu_params().

#define HE_MAC_CAPA_VAL_SET ( he_cap,
field,
val   ) 
Value:
co_val_set((he_cap)->mac_cap_info,       \
                                                           HE_MAC_CAPA_##field##_OFT,    \
                                                           HE_MAC_CAPA_##field##_WIDTH,  \
                                                           HE_MAC_CAPA_##field##_##val)

Set the value of a bit field in the HE MAC capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] field Bit field to be written
[in] val The value of the field

Definition at line 275 of file mac.h.

#define HE_PHY_CAPA_BIT_CLR ( he_cap,
bit   ) 
Value:
co_bit_clr((he_cap)->phy_cap_info,         \
                                                         HE_PHY_CAPA_##bit##_POS)

Clear a bit in the HE PHY capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] bit Bit to be cleared

Definition at line 364 of file mac.h.

#define HE_PHY_CAPA_BIT_IS_SET ( he_cap,
bit   ) 
Value:
co_bit_is_set((he_cap)->phy_cap_info,      \
                                                            HE_PHY_CAPA_##bit##_POS)

Test if a bit in the HE PHY capability element is set.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] bit Bit to be set
Returns:
true if set, false otherwise

Definition at line 344 of file mac.h.

Referenced by me_config_req_handler(), and me_set_sta_ht_vht_param().

#define HE_PHY_CAPA_BIT_SET ( he_cap,
bit   ) 
Value:
co_bit_set((he_cap)->phy_cap_info,         \
                                                         HE_PHY_CAPA_##bit##_POS)

Set a bit in the HE PHY capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] bit Bit to be set

Definition at line 354 of file mac.h.

#define HE_PHY_CAPA_VAL_GET ( he_cap,
field   ) 
Value:
co_val_get((he_cap)->phy_cap_info,         \
                                                         HE_PHY_CAPA_##field##_OFT,      \
                                                         HE_PHY_CAPA_##field##_WIDTH)

Get the value of a bit field in the HE PHY capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] field Bit field to be read
Returns:
The value of the field

Definition at line 319 of file mac.h.

Referenced by me_set_sta_ht_vht_param().

#define HE_PHY_CAPA_VAL_SET ( he_cap,
field,
val   ) 
Value:
co_val_set((he_cap)->phy_cap_info,       \
                                                           HE_PHY_CAPA_##field##_OFT,    \
                                                           HE_PHY_CAPA_##field##_WIDTH,  \
                                                           HE_PHY_CAPA_##field##_##val)

Set the value of a bit field in the HE PHY capability element.

Parameters:
[in] he_cap Pointer to the HE capability structure
[in] field Bit field to be written
[in] val The value of the field

Definition at line 331 of file mac.h.

#define MAC_ADDR_CMP ( addr1_ptr,
addr2_ptr   ) 
Value:
((*(((uint16_t*)(addr1_ptr)) + 0) == *(((uint16_t*)(addr2_ptr)) + 0)) &&            \
     (*(((uint16_t*)(addr1_ptr)) + 1) == *(((uint16_t*)(addr2_ptr)) + 1)) &&            \
     (*(((uint16_t*)(addr1_ptr)) + 2) == *(((uint16_t*)(addr2_ptr)) + 2)))

Compare two MAC addresses.

The MAC addresses MUST be 16 bit aligned.

Parameters:
[in] addr1_ptr Pointer to the first MAC address.
[in] addr2_ptr Pointer to the second MAC address.
Returns:
True if equal, false if not.

Definition at line 67 of file mac.h.

Referenced by rxu_cntrl_pm_mon_check(), rxu_mgt_frame_check(), rxu_mgt_search_rx_vif(), scanu_join_frame_handler(), scanu_scan_frame_handler(), tdls_check_tdls_channel_switch_response(), and tdls_check_tdls_peer_traffic_response().

#define MAC_ADDR_CMP_PACKED ( __a1,
__a2   )     (memcmp(__a1, __a2, MAC_ADDR_LEN) == 0)

Compare two MAC addresses whose alignment is not known.

Parameters:
[in] __a1 Pointer to the first MAC address.
[in] __a2 Pointer to the second MAC address.
Returns:
True if equal, false if not.

Definition at line 80 of file mac.h.

Referenced by rxu_cntrl_spurious_check().

#define MAC_ADDR_CPY ( addr1_ptr,
addr2_ptr   ) 
Value:
*(((uint16_t*)(addr1_ptr)) + 0) = *(((uint16_t*)(addr2_ptr)) + 0);                  \
    *(((uint16_t*)(addr1_ptr)) + 1) = *(((uint16_t*)(addr2_ptr)) + 1);                  \
    *(((uint16_t*)(addr1_ptr)) + 2) = *(((uint16_t*)(addr2_ptr)) + 2)

Copy a MAC address.

The MAC addresses MUST be 16 bit aligned.

Parameters:
[in] addr1_ptr Pointer to the destination MAC address.
[in] addr2_ptr Pointer to the source MAC address.

Definition at line 91 of file mac.h.

Referenced by me_build_associate_req(), rxu_cntrl_get_da_sa(), rxu_cntrl_mac2eth_update(), scanu_scan_frame_handler(), tdls_keep_alive_evt(), txl_frame_send_tdls_channel_switch_req_frame(), txl_frame_send_tdls_channel_switch_rsp_frame(), txl_frame_send_tdls_peer_traffic_ind_frame(), txu_cntrl_amsdu_hdr_append(), and txu_cntrl_mac_hdr_append().

#define MAC_ADDR_GROUP ( mac_addr_ptr   )     ((*((uint8_t *)(mac_addr_ptr))) & 1)

Check if MAC address is a group address: test the multicast bit.

Parameters:
[in] mac_addr_ptr Pointer to the MAC address to be checked.
Returns:
0 if unicast address, 1 otherwise

Definition at line 115 of file mac.h.

Referenced by rxu_cntrl_machdr_read(), rxu_mgt_frame_check(), scanu_join_req_handler(), scanu_scan_frame_handler(), txl_frame_push(), and txl_hwdesc_config_post().

#define MAC_HE_CAPA_MAX_LEN
Value:

802.11 information element definition

Definition at line 1103 of file mac_frame.h.

#define MAC_HTC_HE ( a_control   )     (MAC_HTC_TYPE_HE | ((a_control) << MAC_HTC_HE_A_CONTROL_OFT))

Format a +HTC HE Variant field.

The macro gets the A-Control subfield and format the corresponding +HTC HE field.

Parameters:
[in] a_control A-Control subfield
Returns:
The formatted +HTC HE Variant field

Definition at line 411 of file mac_frame.h.

#define MAC_HTC_HE_CTRL ( id,
info   )     (MAC_HTC_HE_CTRL_ID_##id | ((info) << MAC_HTC_HE_CTRL_INFO_OFT))

Format a control subfield for a +HTC HE.

The macro gets the control id and control information as parameter and group them to form the corresponding control subfield.

Parameters:
[in] id Control ID (e.g. UPH, BSR, OM, etc.)
[in] info Control information
Returns:
The formatted control subfield

Definition at line 398 of file mac_frame.h.

#define MAC_PROT_ERP_STATUS_MASK
Value:

ERP protection status mask.

Definition at line 227 of file mac.h.

Referenced by me_erp_prot_check().

#define MAC_QOSCTRL_HE_QUEUE_SIZE
Value:

802.11 QoS control definition

Definition at line 313 of file mac_frame.h.

#define MAC_RAW_WME_INFO_ELMT_DEFAULT
Value:
{                                                                             \
    MAC_ELTID_OUI, 0x07,                                                      \
    0x00, 0x50, 0xF2, MAC_OUI_TYPE_WME,         /* additionnal WPA OUI     */ \
    MAC_OUI_SUBTYPE_WME_INFORMATION, 0x01,      /* OUI subtype and version */ \
    0x00                                        /* QoS field               */ \
}

Default WME information element format.

Definition at line 2130 of file mac_frame.h.

Referenced by me_build_associate_req().

#define MAC_SSID_CMP ( ssid1_ptr,
ssid2_ptr   ) 
Value:
(((ssid1_ptr)->length == (ssid2_ptr)->length) &&                                    \
     (memcmp((&(ssid1_ptr)->array[0]), (&(ssid2_ptr)->array[0]), (ssid1_ptr)->length) == 0))

Compare two SSID.

Parameters:
[in] ssid1_ptr Pointer to the first SSID structure.
[in] ssid2_ptr Pointer to the second SSID structure.
Returns:
True if equal, false if not.

Definition at line 104 of file mac.h.

Referenced by scanu_is_scanned_ssid().


Enumeration Type Documentation

enum mac_ac

Access Category enumeration.

Enumerator:
AC_BK 

Background.

AC_BE 

Best-effort.

AC_VI 

Video.

AC_VO 

Voice.

AC_MAX 

Number of access categories.

Definition at line 325 of file mac_types.h.

Authentication and Key Management suite.

Enumerator:
MAC_AKM_NONE 

No security.

MAC_AKM_PRE_RSN 

Pre RSN (WEP or WPA).

MAC_AKM_8021X 

00-0F-AC 1

MAC_AKM_PSK 

00-0F-AC 2

MAC_AKM_FT_8021X 

00-0F-AC 3

MAC_AKM_FT_PSK 

00-0F-AC 4

MAC_AKM_8021X_SHA256 

00-0F-AC 5

MAC_AKM_PSK_SHA256 

00-0F-AC 6

MAC_AKM_TDLS 

00-0F-AC 7

MAC_AKM_SAE 

00-0F-AC 8

MAC_AKM_FT_OVER_SAE 

00-0F-AC 9

MAC_AKM_8021X_SUITE_B 

00-0F-AC 11

MAC_AKM_8021X_SUITE_B_192 

00-0F-AC 12

MAC_AKM_FILS_SHA256 

00-0F-AC 14

MAC_AKM_FILS_SHA384 

00-0F-AC 15

MAC_AKM_FT_FILS_SHA256 

00-0F-AC 16

MAC_AKM_FT_FILS_SHA384 

00-0F-AC 17

MAC_AKM_OWE 

00-0F-AC 18

MAC_AKM_WAPI_CERT 

00-14-72 1

MAC_AKM_WAPI_PSK 

00-14-72 2

Definition at line 190 of file mac_types.h.

BSS Membership Selector definitions.

Enumerator:
MAC_BSS_MEMBERSHIP_HT_PHY 

HT PHY.

MAC_BSS_MEMBERSHIP_VHT_PHY 

VHT PHY.

Definition at line 292 of file mac_types.h.

Channel Band.

Enumerator:
PHY_BAND_2G4 

2.4GHz Band

PHY_BAND_5G 

5GHz band

PHY_BAND_MAX 

Number of bands.

Definition at line 80 of file mac_types.h.

Operating Channel Bandwidth.

Enumerator:
PHY_CHNL_BW_20 

20MHz BW

PHY_CHNL_BW_40 

40MHz BW

PHY_CHNL_BW_80 

80MHz BW

PHY_CHNL_BW_160 

160MHz BW

PHY_CHNL_BW_80P80 

80+80MHz BW

PHY_CHNL_BW_OTHER 

Reserved BW.

Definition at line 91 of file mac_types.h.

Channel Flag.

Enumerator:
CHAN_NO_IR 

Cannot initiate radiation on this channel.

CHAN_DISABLED 

Channel is not allowed.

CHAN_RADAR 

Radar detection required on this channel.

Definition at line 114 of file mac_types.h.

Cipher suites (order is important as it is used by MACHW).

Enumerator:
MAC_CIPHER_WEP40 

00-0F-AC 1

MAC_CIPHER_TKIP 

00-0F-AC 2

MAC_CIPHER_CCMP 

00-0F-AC 4

MAC_CIPHER_WEP104 

00-0F-AC 5

MAC_CIPHER_WPI_SMS4 

00-14-72 1

MAC_CIPHER_BIP_CMAC_128 

00-0F-AC 6 (aka AES_CMAC)

MAC_CIPHER_GCMP_128 

00-0F-AC 08

MAC_CIPHER_GCMP_256 

00-0F-AC 09

MAC_CIPHER_CCMP_256 

00-0F-AC 10

MAC_CIPHER_BIP_GMAC_128 

00-0F-AC 11

MAC_CIPHER_BIP_GMAC_256 

00-0F-AC 12

MAC_CIPHER_BIP_CMAC_256 

00-0F-AC 13

Definition at line 157 of file mac_types.h.

Connection flags.

Enumerator:
CONTROL_PORT_HOST 

Flag indicating whether the control port is controlled by host or not.

CONTROL_PORT_NO_ENC 

Flag indicating whether the control port frame shall be sent unencrypted.

DISABLE_HT 

Flag indicating whether HT and VHT shall be disabled or not.

WPA_WPA2_IN_USE 

Flag indicating whether WPA or WPA2 authentication is in use.

MFP_IN_USE 

Flag indicating whether MFP is in use.

Definition at line 454 of file mac_types.h.

Legacy rate 802.11 definitions.

Enumerator:
MAC_RATE_1MBPS 

DSSS/CCK 1Mbps.

MAC_RATE_2MBPS 

DSSS/CCK 2Mbps.

MAC_RATE_5_5MBPS 

DSSS/CCK 5.5Mbps.

MAC_RATE_6MBPS 

OFDM 6Mbps.

MAC_RATE_9MBPS 

OFDM 9Mbps.

MAC_RATE_11MBPS 

DSSS/CCK 11Mbps.

MAC_RATE_12MBPS 

OFDM 12Mbps.

MAC_RATE_18MBPS 

OFDM 18Mbps.

MAC_RATE_24MBPS 

OFDM 24Mbps.

MAC_RATE_36MBPS 

OFDM 36Mbps.

MAC_RATE_48MBPS 

OFDM 48Mbps.

MAC_RATE_54MBPS 

OFDM 54Mbps.

Definition at line 263 of file mac_types.h.

Station flags.

Enumerator:
STA_QOS_CAPA 

Bit indicating that a STA has QoS (WMM) capability.

STA_HT_CAPA 

Bit indicating that a STA has HT capability.

STA_VHT_CAPA 

Bit indicating that a STA has VHT capability.

STA_MFP_CAPA 

Bit indicating that a STA has MFP capability.

STA_OPMOD_NOTIF 

Bit indicating that the STA included the Operation Notification IE.

STA_HE_CAPA 

Bit indicating that a STA has HE capability.

Definition at line 437 of file mac_types.h.

enum mac_tid

Traffic ID enumeration.

Enumerator:
TID_0 

TID_0. Mapped to AC_BE as per 802.11 standard.

TID_1 

TID_1. Mapped to AC_BK as per 802.11 standard.

TID_2 

TID_2. Mapped to AC_BK as per 802.11 standard.

TID_3 

TID_3. Mapped to AC_BE as per 802.11 standard.

TID_4 

TID_4. Mapped to AC_VI as per 802.11 standard.

TID_5 

TID_5. Mapped to AC_VI as per 802.11 standard.

TID_6 

TID_6. Mapped to AC_VO as per 802.11 standard.

TID_7 

TID_7. Mapped to AC_VO as per 802.11 standard.

TID_MGT 

Non standard Management TID used internally.

TID_MAX 

Number of TID supported.

Definition at line 340 of file mac_types.h.

Interface types.

Enumerator:
VIF_STA 

ESS STA interface.

VIF_IBSS 

IBSS STA interface.

VIF_AP 

AP interface.

VIF_MESH_POINT 

Mesh Point interface.

VIF_MONITOR 

Monitor interface.

VIF_UNKNOWN 

Unknown type.

Definition at line 33 of file mac_types.h.


Function Documentation

enum mac_akm_suite mac_akm_suite_value ( uint32_t  akm_suite  ) 

Convert IEE802.11 AKM suite into enum mac_akm_suite.

Parameters:
[in] akm_suite Ful AKM suite
Returns:
The corresponding enum value and -1 if the suite is unknown
enum mac_cipher_suite mac_cipher_suite_value ( uint32_t  cipher_suite  ) 

Convert IEE802.11 Cipher suite into enum mac_cipher_suite.

Parameters:
[in] cipher_suite Full Cipher suite
Returns:
The corresponding enum value and -1 if the suite is unknown
static uint32_t mac_ext_ie_find ( uint32_t  addr,
uint16_t  buflen,
uint8_t  ext_ie_id,
uint16_t *  len 
) [static]

Find an extended information element in the variable part of a management frame body.

Parameters:
[in] addr Address of the variable part of the management frame body to look for the IE into.
[in] buflen Length of the frame body variable part.
[in] ext_ie_id Identifier of the extended information element to look for.
[out] len Length of the complete element
Returns:
0 if the IE is not found otherwise the address of the first IE ID location in the frame passed as a parameter.

Definition at line 98 of file mac_ie.c.

References ASSERT_ERR, co_read8p(), MAC_ELTID_EXT, mac_ie_find(), MAC_INFOELT_EXT_ID_OFT, and MAC_INFOELT_EXT_INFO_OFT.

uint32_t mac_ie_country_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the Country element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_country_reg().

uint32_t mac_ie_csa_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Channel Switch Announcement element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_csa().

uint32_t mac_ie_ds_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the DS element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scan_search_ds(), and scanu_scan_frame_handler().

uint32_t mac_ie_ecsa_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Extended Channel Switch Announcement element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_csa().

uint32_t mac_ie_erp_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the ERP element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_beacon_check().

uint32_t mac_ie_ext_rates_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the Extended Supported Rates element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_rate_set().

static uint32_t mac_ie_find ( uint32_t  addr,
uint16_t  buflen,
uint8_t  ie_id,
uint16_t *  len 
) [static]

Find an information element in the variable part of a management frame body.

Parameters:
[in] addr Address of the variable part of the management frame body to look for the IE into.
[in] buflen Length of the frame body variable part.
[in] ie_id Identifier of the information element to look for.
[out] len Length of the complete element
Returns:
0 if the IE is not found otherwise the address of the first IE ID location in the frame passed as a parameter.
Warning:
To find a vendor specific information element, see mac_vsie_find. To find an extended information element, see mac_ext_ie_find

Definition at line 52 of file mac_ie.c.

References co_read8p(), mac_ie_len(), and MAC_INFOELT_LEN_OFT.

Referenced by mac_ext_ie_find(), and mac_vsie_find().

uint32_t mac_ie_he_capa_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the HE capability element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_he_oper_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the HE operation element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_ht_capa_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the HT capability element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_ht_capa().

uint32_t mac_ie_ht_oper_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the HT operation element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_beacon_check(), and scanu_join_frame_handler().

__INLINE uint16_t mac_ie_len ( uint32_t  addr  ) 

Compute the total length of an information element.

Parameters:
[in] addr Address of the information element.
Returns:
The length of the information element, including the two bytes (ID + Length) header

Definition at line 50 of file mac_ie.h.

References co_read8p(), MAC_INFOELT_INFO_OFT, and MAC_INFOELT_LEN_OFT.

Referenced by mac_ie_find(), scanu_check_ssid(), scanu_get_multi_bssid_info(), and scanu_new_bssid_set().

uint32_t mac_ie_mde_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the MDE element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_mobility_domain().

uint32_t mac_ie_mesh_awake_win_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Mesh Awake Window element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_mesh_conf_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Mesh Configuration element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_mesh_id_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the Mesh ID element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_mesh_peer_mgmt_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the Mesh Peering Management element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_mgmt_mic_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Management MIC element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by mfp_check_mmic_ie().

uint32_t mac_ie_mu_edca_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the MU EDCA element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_multi_bssid_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Multiple BSSID element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_multi_bssid_info().

uint32_t mac_ie_multi_bssid_index_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the nonTransmitted BSSID index element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_multi_bssid_info().

uint32_t mac_ie_non_txed_bssid_capa_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the nonTransmitted BSSID capability element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_multi_bssid_info().

uint32_t mac_ie_op_mode_notif_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Operating Mode Notification element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_beacon_check().

uint32_t mac_ie_power_constraint_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the Power Constraint element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_power_constraint().

uint32_t mac_ie_qos_capa_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the QoS Capability element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_rates_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the Supported Rates element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_rate_set().

uint32_t mac_ie_rsn_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the RSN element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_security_info().

uint32_t mac_ie_sec_chnl_offset_find ( uint32_t  buffer,
uint16_t  buflen,
bool *  valid_len 
)

Search for the Secondary Channel Offset element in a frame buffer.

Note:
For the IEs associated to Channel Switch Announcement, we return the address of the element even if its length is invalid, and we return an additional valid flag for the length. Indeed a channel switch might be announced using several IEs, and all of them need to be valid to ensure we have the complete information about the new channel.
Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] valid_len Indicates whether the length of the element is valid or not
Returns:
The address of the element if it is present, 0 otherwise

Referenced by me_extract_csa().

uint32_t mac_ie_ssid_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the SSID element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_multi_bssid_info(), and scanu_scan_frame_handler().

uint32_t mac_ie_sub_non_txed_bssid_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the nonTransmitted BSSID profile sub-element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_multi_bssid_info().

uint32_t mac_ie_tim_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the TIM element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by rxl_frame_handle().

uint32_t mac_ie_uora_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the UORA element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise
uint32_t mac_ie_vht_capa_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the VHT capability element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_vht_capa().

uint32_t mac_ie_vht_oper_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the VHT operation element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_beacon_check(), and scanu_join_frame_handler().

uint32_t mac_ie_wapi_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the WAPI element in a frame buffer.

Not part of IEEE 802.11.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_security_info().

uint32_t mac_ie_wide_bw_chnl_find ( uint32_t  buffer,
uint16_t  buflen,
bool *  valid_len 
)

Search for the Wide Bandwidth Channel sub-element in a frame buffer.

Note:
For the IEs associated to Channel Switch Announcement, we return the address of the element even if its length is invalid, and we return an additional valid flag for the length. Indeed a channel switch might be announced using several IEs, and all of them need to be valid to ensure we have the complete information about the new channel.
Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] valid_len Indicates whether the length of the element is valid or not
Returns:
The address of the element if it is present, 0 otherwise

Referenced by me_extract_csa().

uint32_t mac_ie_wmm_param_find ( uint32_t  buffer,
uint16_t  buflen 
)

Search for the WMM parameter element in a frame buffer.

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by me_extract_edca_params().

uint32_t mac_ie_wpa_find ( uint32_t  buffer,
uint16_t  buflen,
uint8_t *  ie_len 
)

Search for the WPA element in a frame buffer.

This is the depercated pre-RSN element

Parameters:
[in] buffer Address of the frame buffer
[in] buflen Buffer length
[out] ie_len Length of the information part of the element
Returns:
The address of the element if it is present and has a valid length, 0 otherwise

Referenced by scanu_get_security_info().

__INLINE bool mac_nontxed_bssid_get ( uint8_t  bssid_index,
uint8_t  max_bssid_ind,
struct mac_addr const *  ref_bssid,
struct mac_addr bssid 
)

Get the value of the nonTransmitted BSSID, based on the reference BSSID, the nonTransmitted BSSID index and the Maximum BSSID indicator.

Parameters:
[in] bssid_index nonTransmitted BSSID index
[in] max_bssid_ind Maximum BSSID indicator
[in] ref_bssid Pointer to the reference BSSID
[out] bssid nonTransmitted BSSID value
Returns:
false if the BSSID index or Max BSSID indicator are outside our supported range

Definition at line 384 of file mac.h.

References mac_addr::array, and CO_BIT.

Referenced by scanu_new_bssid_set().

uint32_t mac_paid_gid_ap_compute ( struct mac_addr const *  mac_addr,
uint16_t  aid 
)

Compute the PAID/GID to be put in the THD for frames that need to be sent to a STA connected to an AP or a TDLS peer.

See also:
802.11ac-2013, table 9-5b for details about the computation.
Parameters:
[in] mac_addr Pointer to the BSSID of the AP
[in] aid Association ID of the STA
Returns:
The PAID/GID

Referenced by me_sta_add_req_handler().

uint32_t mac_paid_gid_sta_compute ( struct mac_addr const *  mac_addr  ) 

Compute the PAID/GID to be put in the THD for frames that need to be sent to an AP or a Mesh peer.

See also:
802.11ac-2013, table 9-5b for details about the computation.
Parameters:
[in] mac_addr Pointer to the BSSID of the AP or the MAC address of the mesh peer
Returns:
The PAID/GID

Referenced by me_sta_add_req_handler(), and scanu_join_cfm_handler().

__INLINE void mac_ref_bssid_get ( uint8_t  bssid_index,
uint8_t  max_bssid_ind,
struct mac_addr const *  bssid,
struct mac_addr ref_bssid 
)

Get the value of the refernec BSSID, based on the nonTransmitted BSSID, the nonTransmitted BSSID index and the Maximum BSSID indicator.

Parameters:
[in] bssid_index nonTransmitted BSSID index
[in] max_bssid_ind Maximum BSSID indicator
[in] bssid nonTransmitted BSSID value
[out] ref_bssid Pointer to the reference BSSID

Definition at line 417 of file mac.h.

References mac_addr::array, and CO_BIT.

Referenced by scanu_join_req_handler().

static uint32_t mac_vsie_find ( uint32_t  addr,
uint16_t  buflen,
uint8_t const *  oui,
uint8_t  ouilen,
uint16_t *  len 
) [static]

Find a vendor specific information element in the variable part of a management frame body.

Parameters:
[in] addr Address of the variable part of the management frame body to look for the IE into.
[in] buflen Length of the frame body variable part.
[in] oui Pointer to the OUI identifier to look for.
[in] ouilen Length of the OUI identifier.
[out] len Length of the complete element
Returns:
NULL if the VSIE is not found otherwise the pointer to the first VSIE ID location in the frame passed as a parameter.

Definition at line 148 of file mac_ie.c.

References ASSERT_ERR, co_cmp8p(), MAC_ELTID_OUI, mac_ie_find(), and MAC_INFOELT_INFO_OFT.


Variable Documentation

Structure of a short control frame MAC header.

Base structure of a HE Trigger frame.

Base part of the User Info field present in the HE trigger frames.

Structure of the User Info part of the HE Basic Trigger frame.

Structure of A-MSDU Header.

Structure of a Compressed Block Acknowledgment frame.

Multi-STA AID/TID info field.

Structure of BA SSC + 256-bit bitmap.

Structure of BA SSC + 128-bit bitmap.

Structure of BA SSC + 64-bit bitmap.

Structure of BA SSC + 32-bit bitmap.

Structure of generic BA SSC + bitmap.

Base structure of a Block Acknowledgment frame.

Structure of a Block Acknowledgment Request frame.

Structure of a Probe Request frame.

Structure of a Beacon or ProbeRsp frame.

Structure of Ethernet Header.

Structure of a 4-address QoS Data frame MAC header.

Structure of a 4-address Data frame MAC header.

Structure of a QoS Data + HTC frame MAC header.

Structure of a QoS Data frame MAC header.

Structure of a Data/Management frame MAC header.

Structure of a long control frame MAC header.

const uint8_t mac_ac2aci[AC_MAX]
Initial value:
{
    [AC_BK] = 1,
    [AC_BE] = 0,
    [AC_VI] = 2,
    [AC_VO] = 3,
}

Array converting an AC to its corresponding ACI. See Table 9-136 in 802.11-2016.

Definition at line 61 of file mac.c.

const uint8_t mac_ac2uapsd[AC_MAX]
Initial value:

Array converting an AC to its corresponding bit in the QoS Information field.

Definition at line 45 of file mac.c.

Referenced by rxl_pm_check().

const uint8_t mac_aci2ac[AC_MAX]
Initial value:
{
    [0] = AC_BE,
    [1] = AC_BK,
    [2] = AC_VI,
    [3] = AC_VO,
}

Array converting an ACI to its corresponding AC. See Table 9-136 in 802.11-2016.

Definition at line 53 of file mac.c.

const uint8_t mac_id2rate[MAC_RATESET_LEN]
Initial value:

Array converting a MAC HW rate id into its corresponding standard rate value.

Definition at line 69 of file mac.c.

Referenced by scanu_build_ie().

const uint8_t mac_tid2ac[TID_MAX]
Initial value:
{
    AC_BE,    
    AC_BK,    
    AC_BK,    
    AC_BE,    
    AC_VI,    
    AC_VI,    
    AC_VO,    
    AC_VO,    
    AC_VO     
}

Array converting a TID to its associated AC.

Definition at line 32 of file mac.c.

Referenced by bam_create_ba_agg(), mm_ba_add_req_handler(), rxl_pm_check(), txl_frame_send_tdls_channel_switch_req_frame(), and txl_frame_send_tdls_channel_switch_rsp_frame().


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1