include/linux/ieee80211-he.h
Source file repositories/reference/linux-study-clean/include/linux/ieee80211-he.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/ieee80211-he.h- Extension
.h- Size
- 30526 bytes
- Lines
- 826
- 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.h
Detected Declarations
struct ieee80211_twt_paramsstruct ieee80211_twt_setupstruct ieee80211_he_cap_elemstruct ieee80211_he_mcs_nss_suppstruct ieee80211_he_operationstruct ieee80211_he_sprstruct ieee80211_he_mu_edca_param_ac_recstruct ieee80211_mu_edca_param_setstruct ieee80211_he_6ghz_operstruct ieee80211_tx_pwr_envstruct ieee80211_he_6ghz_capaenum ieee80211_twt_setup_cmdenum ieee80211_he_mcs_supportenum ieee80211_he_highest_mcs_supported_subfield_encenum ieee80211_reg_conn_bitsenum ieee80211_tx_power_intrpt_typeenum ieee80211_tx_power_category_6ghzfunction ieee80211_he_mcs_nss_sizefunction ieee80211_he_ppe_sizefunction ieee80211_he_capa_size_okfunction ieee80211_valid_tpe_elementfunction ieee80211_he_6ghz_oper
Annotated Snippet
struct ieee80211_twt_params {
__le16 req_type;
__le64 twt;
u8 min_twt_dur;
__le16 mantissa;
u8 channel;
} __packed;
struct ieee80211_twt_setup {
u8 dialog_token;
u8 element_id;
u8 length;
u8 control;
u8 params[];
} __packed;
/**
* struct ieee80211_he_cap_elem - HE capabilities element
* @mac_cap_info: HE MAC Capabilities Information
* @phy_cap_info: HE PHY Capabilities Information
*
* This structure represents the fixed fields of the payload of the
* "HE capabilities element" as described in IEEE Std 802.11ax-2021
* sections 9.4.2.248.2 and 9.4.2.248.3.
*/
struct ieee80211_he_cap_elem {
u8 mac_cap_info[6];
u8 phy_cap_info[11];
} __packed;
#define IEEE80211_TX_RX_MCS_NSS_DESC_MAX_LEN 5
/**
* enum ieee80211_he_mcs_support - HE MCS support definitions
* @IEEE80211_HE_MCS_SUPPORT_0_7: MCSes 0-7 are supported for the
* number of streams
* @IEEE80211_HE_MCS_SUPPORT_0_9: MCSes 0-9 are supported
* @IEEE80211_HE_MCS_SUPPORT_0_11: MCSes 0-11 are supported
* @IEEE80211_HE_MCS_NOT_SUPPORTED: This number of streams isn't supported
*
* These definitions are used in each 2-bit subfield of the rx_mcs_*
* and tx_mcs_* fields of &struct ieee80211_he_mcs_nss_supp, which are
* both split into 8 subfields by number of streams. These values indicate
* which MCSes are supported for the number of streams the value appears
* for.
*/
enum ieee80211_he_mcs_support {
IEEE80211_HE_MCS_SUPPORT_0_7 = 0,
IEEE80211_HE_MCS_SUPPORT_0_9 = 1,
IEEE80211_HE_MCS_SUPPORT_0_11 = 2,
IEEE80211_HE_MCS_NOT_SUPPORTED = 3,
};
/**
* struct ieee80211_he_mcs_nss_supp - HE Tx/Rx HE MCS NSS Support Field
*
* This structure holds the data required for the Tx/Rx HE MCS NSS Support Field
* described in P802.11ax_D2.0 section 9.4.2.237.4
*
* @rx_mcs_80: Rx MCS map 2 bits for each stream, total 8 streams, for channel
* widths less than 80MHz.
* @tx_mcs_80: Tx MCS map 2 bits for each stream, total 8 streams, for channel
* widths less than 80MHz.
* @rx_mcs_160: Rx MCS map 2 bits for each stream, total 8 streams, for channel
* width 160MHz.
* @tx_mcs_160: Tx MCS map 2 bits for each stream, total 8 streams, for channel
* width 160MHz.
* @rx_mcs_80p80: Rx MCS map 2 bits for each stream, total 8 streams, for
* channel width 80p80MHz.
* @tx_mcs_80p80: Tx MCS map 2 bits for each stream, total 8 streams, for
* channel width 80p80MHz.
*/
struct ieee80211_he_mcs_nss_supp {
__le16 rx_mcs_80;
__le16 tx_mcs_80;
__le16 rx_mcs_160;
__le16 tx_mcs_160;
__le16 rx_mcs_80p80;
__le16 tx_mcs_80p80;
} __packed;
/**
* struct ieee80211_he_operation - HE Operation element
* @he_oper_params: HE Operation Parameters + BSS Color Information
* @he_mcs_nss_set: Basic HE-MCS And NSS Set
* @optional: Optional fields VHT Operation Information, Max Co-Hosted
* BSSID Indicator, and 6 GHz Operation Information
*
* This structure represents the payload of the "HE Operation
* element" as described in IEEE Std 802.11ax-2021 section 9.4.2.249.
Annotation
- Immediate include surface: `linux/types.h`, `linux/if_ether.h`.
- Detected declarations: `struct ieee80211_twt_params`, `struct ieee80211_twt_setup`, `struct ieee80211_he_cap_elem`, `struct ieee80211_he_mcs_nss_supp`, `struct ieee80211_he_operation`, `struct ieee80211_he_spr`, `struct ieee80211_he_mu_edca_param_ac_rec`, `struct ieee80211_mu_edca_param_set`, `struct ieee80211_he_6ghz_oper`, `struct ieee80211_tx_pwr_env`.
- 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.