include/linux/ieee80211-eht.h
Source file repositories/reference/linux-study-clean/include/linux/ieee80211-eht.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/ieee80211-eht.h- Extension
.h- Size
- 42119 bytes
- Lines
- 1285
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/if_ether.hlinux/ieee80211-he.h
Detected Declarations
struct ieee80211_ttlm_elemstruct ieee80211_eht_mcs_nss_supp_20mhz_onlystruct ieee80211_eht_mcs_nss_supp_bwstruct ieee80211_eht_cap_elem_fixedstruct ieee80211_eht_cap_elemstruct ieee80211_eht_operationstruct ieee80211_eht_operation_infostruct ieee80211_bandwidth_indicationstruct ieee80211_multi_link_elemstruct ieee80211_mle_basic_common_infostruct ieee80211_mle_preq_common_infostruct ieee80211_mle_tdls_common_infostruct ieee80211_mle_per_sta_profileenum ieee80211_protected_eht_actioncodeenum ieee80211_mle_subelemsfunction ieee80211_eht_mcs_nss_sizefunction ieee80211_eht_ppe_sizefunction ieee80211_eht_capa_size_okfunction ieee80211_eht_oper_size_okfunction ieee80211_eht_oper_infofunction ieee80211_eht_oper_dis_subchan_bitmapfunction ieee80211_bandwidth_indication_size_okfunction ieee80211_mle_size_okfunction typefunction typefunction typefunction typefunction typefunction typefunction typefunction ieee80211_mle_size_okfunction ieee80211_mle_type_okfunction ieee80211_mle_basic_sta_prof_size_okfunction ieee80211_mle_basic_sta_prof_size_okfunction ieee80211_mle_reconf_sta_prof_size_okfunction ieee80211_tid_to_link_map_size_okfunction ieee80211_emlsr_pad_delay_in_usfunction ieee80211_emlsr_trans_delay_in_usfunction ieee80211_emlmr_pad_delay_in_usfunction ieee80211_emlmr_trans_delay_in_usfunction ieee80211_eml_trans_timeout_in_us
Annotated Snippet
struct ieee80211_ttlm_elem {
u8 control;
u8 optional[];
} __packed;
#define IEEE80211_EHT_MCS_NSS_RX 0x0f
#define IEEE80211_EHT_MCS_NSS_TX 0xf0
/**
* struct ieee80211_eht_mcs_nss_supp_20mhz_only - EHT 20MHz only station max
* supported NSS for per MCS.
*
* For each field below, bits 0 - 3 indicate the maximal number of spatial
* streams for Rx, and bits 4 - 7 indicate the maximal number of spatial streams
* for Tx.
*
* @rx_tx_mcs7_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 0 - 7.
* @rx_tx_mcs9_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 8 - 9.
* @rx_tx_mcs11_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 10 - 11.
* @rx_tx_mcs13_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 12 - 13.
* @rx_tx_max_nss: array of the previous fields for easier loop access
*/
struct ieee80211_eht_mcs_nss_supp_20mhz_only {
union {
struct {
u8 rx_tx_mcs7_max_nss;
u8 rx_tx_mcs9_max_nss;
u8 rx_tx_mcs11_max_nss;
u8 rx_tx_mcs13_max_nss;
};
u8 rx_tx_max_nss[4];
};
};
/**
* struct ieee80211_eht_mcs_nss_supp_bw - EHT max supported NSS per MCS (except
* 20MHz only stations).
*
* For each field below, bits 0 - 3 indicate the maximal number of spatial
* streams for Rx, and bits 4 - 7 indicate the maximal number of spatial streams
* for Tx.
*
* @rx_tx_mcs9_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 0 - 9.
* @rx_tx_mcs11_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 10 - 11.
* @rx_tx_mcs13_max_nss: indicates the maximum number of spatial streams
* supported for reception and the maximum number of spatial streams
* supported for transmission for MCS 12 - 13.
* @rx_tx_max_nss: array of the previous fields for easier loop access
*/
struct ieee80211_eht_mcs_nss_supp_bw {
union {
struct {
u8 rx_tx_mcs9_max_nss;
u8 rx_tx_mcs11_max_nss;
u8 rx_tx_mcs13_max_nss;
};
u8 rx_tx_max_nss[3];
};
};
/**
* struct ieee80211_eht_cap_elem_fixed - EHT capabilities fixed data
*
* This structure is the "EHT Capabilities element" fixed fields as
* described in P802.11be_D2.0 section 9.4.2.313.
*
* @mac_cap_info: MAC capabilities, see IEEE80211_EHT_MAC_CAP*
* @phy_cap_info: PHY capabilities, see IEEE80211_EHT_PHY_CAP*
*/
struct ieee80211_eht_cap_elem_fixed {
u8 mac_cap_info[2];
u8 phy_cap_info[9];
} __packed;
/**
* struct ieee80211_eht_cap_elem - EHT capabilities element
* @fixed: fixed parts, see &ieee80211_eht_cap_elem_fixed
* @optional: optional parts
Annotation
- Immediate include surface: `linux/types.h`, `linux/if_ether.h`, `linux/ieee80211-he.h`.
- Detected declarations: `struct ieee80211_ttlm_elem`, `struct ieee80211_eht_mcs_nss_supp_20mhz_only`, `struct ieee80211_eht_mcs_nss_supp_bw`, `struct ieee80211_eht_cap_elem_fixed`, `struct ieee80211_eht_cap_elem`, `struct ieee80211_eht_operation`, `struct ieee80211_eht_operation_info`, `struct ieee80211_bandwidth_indication`, `struct ieee80211_multi_link_elem`, `struct ieee80211_mle_basic_common_info`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.