Patchwork [RFC,1/3] wpa_supplicant: Define 20/40 BSS Coexistence IEs

login
register
mail settings
Submitter Rajkumar Manoharan
Date April 18, 2012, 1:44 p.m.
Message ID <1334756650-10624-1-git-send-email-rmanohar@qca.qualcomm.com>
Download mbox | patch
Permalink /patch/153511/
State Superseded
Headers show

Comments

Rajkumar Manoharan - April 18, 2012, 1:44 p.m.
This patch defines 20/40 BSS Intolerant Channel Report IE
(IEEE 802.11-2012 8.4.2.60) and 20/40 BSS Coexistence element
(IEEE 802.11-2012 8.4.2.62).

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
---
 src/common/ieee802_11_defs.h |   22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

Patch

diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 3bef006..a25d3d0 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -254,6 +254,7 @@ 
 #define WLAN_ACTION_VENDOR_SPECIFIC 127
 
 /* Public action codes */
+#define WLAN_PA_20_40_BSS_COEX 0
 #define WLAN_PA_VENDOR_SPECIFIC 9
 #define WLAN_PA_GAS_INITIAL_REQ 10
 #define WLAN_PA_GAS_INITIAL_RESP 11
@@ -875,7 +876,6 @@  enum p2p_sd_status {
 #define WLAN_AKM_SUITE_8021X		0x000FAC01
 #define WLAN_AKM_SUITE_PSK		0x000FAC02
 
-
 /* IEEE 802.11v - WNM Action field values */
 enum wnm_action {
 	WNM_EVENT_REQ = 0,
@@ -915,4 +915,24 @@  enum wnm_action {
 #define WNM_BSS_TM_REQ_BSS_TERMINATION_INCLUDED BIT(3)
 #define WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT BIT(4)
 
+/* IEEE 802.11, 7.3.2.60 20/40 BSS Coexistence parameters */
+#define WLAN_20_40_BSS_COEX_INFO_REQ            BIT(0)
+#define WLAN_20_40_BSS_COEX_40MHZ_INTOL         BIT(1)
+#define WLAN_20_40_BSS_COEX_20MHZ_WIDTH_REQ     BIT(2)
+#define WLAN_20_40_BSS_COEX_OBSS_EXEMPT_REQ     BIT(3)
+#define WLAN_20_40_BSS_COEX_OBSS_EXEMPT_GRNT    BIT(4)
+
+struct ieee80211_2040_bss_coex_ie {
+	u8 element_id;
+	u8 length;
+	u8 coex_param;
+} STRUCT_PACKED;
+
+struct ieee80211_2040_intol_chan_report {
+	u8 element_id;
+	u8 length;
+	u8 op_class;
+	u8 variable[0];	/* Channel List */
+} STRUCT_PACKED;
+
 #endif /* IEEE802_11_DEFS_H */