Add 20/40 BSS coexistence and intolerant channel report IEs. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> --- include/linux/ieee80211.h | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index a26108e..af6f57f 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h @@ -634,6 +634,34 @@ struct ieee80211_rann_ie { #define WLAN_SA_QUERY_TR_ID_LEN 2 +/** + * struct ieee80211_2040_bss_coex_ie + * + * This structure refers to "20/40 BSS Coexistence information element" + */ +struct ieee80211_2040_bss_coex_ie { + u8 element_id; + u8 length; +#define IEEE80211_2040_BC_INFO_REQ 0x01 +#define IEEE80211_2040_BC_40MHZ_INTOL 0x02 +#define IEEE80211_2040_BC_20MHZ_WIDTH_REQ 0x04 +#define IEEE80211_2040_BC_OBSS_SCAN_EXMPT_REQ 0x08 +#define IEEE80211_2040_BC_OBSS_SCAN_EXMPT_GRNT 0x10 + u8 coex_param; +} __packed; + +/** + * struct ieee80211_2040_intol_chan_report + * + * This structure refers to "20/40 BSS Intolerant Channel Report" + */ +struct ieee80211_2040_intol_chan_report { + u8 element_id; + u8 length; + u8 reg_class; + u8 variable[0]; +} __packed; + struct ieee80211_mgmt { __le16 frame_control; __le16 duration; @@ -761,6 +789,13 @@ struct ieee80211_mgmt { u8 action; u8 smps_control; } __attribute__ ((packed)) ht_smps; + struct { + u8 action_code; + struct ieee80211_2040_bss_coex_ie + bc_elem; + struct ieee80211_2040_intol_chan_report + ic_report; + } __packed bss_coex; } u; } __attribute__ ((packed)) action; } u; @@ -1253,6 +1288,7 @@ enum ieee80211_eid { WLAN_EID_RRM_ENABLED_CAPABILITIES = 70, WLAN_EID_MULTIPLE_BSSID = 71, WLAN_EID_BSS_COEX_2040 = 72, + WLAN_EID_BSS_2040_INTOL_CHAN_REPORT = 73, WLAN_EID_OVERLAP_BSS_SCAN_PARAM = 74, WLAN_EID_EXT_CAPABILITY = 127, -- 1.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html