include/linux/ieee80211-uhr.h
Source file repositories/reference/linux-study-clean/include/linux/ieee80211-uhr.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/ieee80211-uhr.h- Extension
.h- Size
- 22086 bytes
- Lines
- 648
- 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/bitfield.hlinux/if_ether.hieee80211-eht.h
Detected Declarations
struct ieee80211_uhr_operationstruct ieee80211_uhr_npca_infostruct ieee80211_uhr_dps_infostruct ieee80211_uhr_dbe_infostruct ieee80211_uhr_p_edca_infostruct ieee80211_uhr_cap_dbestruct ieee80211_uhr_cap_macstruct ieee80211_uhr_cap_phystruct ieee80211_uhr_capstruct ieee80211_smd_infostruct ieee80211_uhr_mode_change_tupleenum ieee80211_uhr_dbe_oper_bwenum ieee80211_uhr_dbe_max_supported_bwenum ieee80211_protected_uhr_actionenum ieee80211_uhr_link_reconfig_request_typeenum ieee80211_uhr_link_reconfig_response_typeenum ieee80211_uhr_link_reconfig_notify_typeenum ieee80211_uhr_mode_change_controlenum ieee80211_uhr_mode_change_mode_idfunction ieee80211_uhr_dbe_bw_mhzfunction ieee80211_uhr_oper_size_okfunction ieee80211_uhr_oper_size_okfunction ieee80211_uhr_npca_dis_subch_bitmapfunction ieee80211_uhr_oper_size_okfunction ieee80211_uhr_capa_size_okfunction ieee80211_uhr_capa_get_om_pu_to_usfunction ieee80211_uhr_dbe_capfunction ieee80211_uhr_mode_change_tuple_size
Annotated Snippet
struct ieee80211_uhr_operation {
__le16 params;
u8 basic_mcs_nss_set[4];
u8 variable[];
} __packed;
#define IEEE80211_UHR_NPCA_PARAMS_PRIMARY_CHAN_OFFS 0x0000000F
#define IEEE80211_UHR_NPCA_PARAMS_MIN_DUR_THRESH 0x000000F0
#define IEEE80211_UHR_NPCA_PARAMS_SWITCH_DELAY 0x00003F00
#define IEEE80211_UHR_NPCA_PARAMS_SWITCH_BACK_DELAY 0x000FC000
#define IEEE80211_UHR_NPCA_PARAMS_INIT_QSRC 0x00300000
#define IEEE80211_UHR_NPCA_PARAMS_MOPLEN 0x00400000
#define IEEE80211_UHR_NPCA_PARAMS_DIS_SUBCH_BMAP_PRES 0x00800000
/**
* struct ieee80211_uhr_npca_info - npca operation information
*
* This structure is the "NPCA Operation Parameters field format" of "UHR
* Operation Element" fields as described in P802.11bn_D1.3
* subclause 9.4.2.353. See Figure 9-aa4.
*
* Refer to IEEE80211_UHR_NPCA*
* @params:
* NPCA Primary Channel - NPCA primary channel
* NPCA_Min Duration Threshold - Minimum duration of inter-BSS activity
* NPCA Switching Delay -
* Time needed by an NPCA AP to switch from the
* BSS primary channel to the NPCA primary channel
* in the unit of 4 µs.
* NPCA Switching Back Delay -
* Time to switch from the NPCA primary channel
* to the BSS primary channel in the unit of 4 µs.
* NPCA Initial QSRC -
* Initialize the EDCAF QSRC[AC] variables
* when an NPCA STA in the BSS
* switches to NPCA operation.
* NPCA MOPLEN -
* Indicates which conditions can be used to
* initiate an NPCA operation,
* 1 -> both PHYLEN NPCA operation and MOPLEN
* NPCA operation are
* permitted in the BSS
* 0 -> only PHYLEN NPCA operation is allowed in the BSS.
* NPCA Disabled Subchannel Bitmap Present -
* Indicates whether the NPCA Disabled Subchannel
* Bitmap field is present. A 1 in this field indicates that
* the NPCA Disabled Subchannel Bitmap field is present
* @dis_subch_bmap:
* A bit in the bitmap that lies within the BSS bandwidth is set
* to 1 to indicate that the corresponding 20 MHz subchannel is
* punctured and is set to 0 to indicate that the corresponding
* 20 MHz subchannel is not punctured. A bit in the bitmap that
* falls outside of the BSS bandwidth is reserved. This field is
* present when the value of the NPCA Disabled Subchannel Bitmap
* Field Present field is equal to 1, and not present, otherwise
*/
struct ieee80211_uhr_npca_info {
__le32 params;
__le16 dis_subch_bmap[];
} __packed;
#define IEEE80211_UHR_DPS_PADDING_DELAY 0x0000003F
#define IEEE80211_UHR_DPS_TRANSITION_DELAY 0x00003F00
#define IEEE80211_UHR_DPS_ICF_REQUIRED 0x00010000
#define IEEE80211_UHR_DPS_PARAMETERIZED_FLAG 0x00020000
#define IEEE80211_UHR_DPS_LC_MODE_BW 0x001C0000
#define IEEE80211_UHR_DPS_LC_MODE_NSS 0x01E00000
#define IEEE80211_UHR_DPS_LC_MODE_MCS 0x1E000000
#define IEEE80211_UHR_DPS_MOBILE_AP_DPS_STATIC_HCM 0x20000000
/**
* struct ieee80211_uhr_dps_info - DPS operation information
*
* This structure is the "DPS Operation Parameter field" of "UHR
* Operation Element" fields as described in P802.11bn_D1.3
* subclause 9.4.1.87. See Figure 9-207u.
*
* Refer to IEEE80211_UHR_DPS*
* @params:
* DPS Padding Delay -
* Indicates the minimum MAC padding
* duration that is required by a DPS STA
* in an ICF to cause the STA to transition
* from the lower capability mode to the
* higher capability mode. The DPS Padding
* Delay field is in units of 4 µs.
* DPS Transition Delay -
* Indicates the amount of time required by a
* DPS STA to transition from the higher
* capability mode to the lower capability
Annotation
- Immediate include surface: `linux/types.h`, `linux/bitfield.h`, `linux/if_ether.h`, `ieee80211-eht.h`.
- Detected declarations: `struct ieee80211_uhr_operation`, `struct ieee80211_uhr_npca_info`, `struct ieee80211_uhr_dps_info`, `struct ieee80211_uhr_dbe_info`, `struct ieee80211_uhr_p_edca_info`, `struct ieee80211_uhr_cap_dbe`, `struct ieee80211_uhr_cap_mac`, `struct ieee80211_uhr_cap_phy`, `struct ieee80211_uhr_cap`, `struct ieee80211_smd_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.