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.

Dependency Surface

Detected Declarations

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

Implementation Notes