aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ieee80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r--include/linux/ieee80211.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 7e8a498efe6d..67c1a6c45837 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -714,6 +714,30 @@ enum ieee80211_ht_chanwidth_values {
714 IEEE80211_HT_CHANWIDTH_ANY = 1, 714 IEEE80211_HT_CHANWIDTH_ANY = 1,
715}; 715};
716 716
717/**
718 * enum ieee80211_opmode_bits - VHT operating mode field bits
719 * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK: channel width mask
720 * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ: 20 MHz channel width
721 * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ: 40 MHz channel width
722 * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_80MHZ: 80 MHz channel width
723 * @IEEE80211_OPMODE_NOTIF_CHANWIDTH_160MHZ: 160 MHz or 80+80 MHz channel width
724 * @IEEE80211_OPMODE_NOTIF_RX_NSS_MASK: number of spatial streams mask
725 * (the NSS value is the value of this field + 1)
726 * @IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT: number of spatial streams shift
727 * @IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF: indicates streams in SU-MIMO PPDU
728 * using a beamforming steering matrix
729 */
730enum ieee80211_vht_opmode_bits {
731 IEEE80211_OPMODE_NOTIF_CHANWIDTH_MASK = 3,
732 IEEE80211_OPMODE_NOTIF_CHANWIDTH_20MHZ = 0,
733 IEEE80211_OPMODE_NOTIF_CHANWIDTH_40MHZ = 1,
734 IEEE80211_OPMODE_NOTIF_CHANWIDTH_80MHZ = 2,
735 IEEE80211_OPMODE_NOTIF_CHANWIDTH_160MHZ = 3,
736 IEEE80211_OPMODE_NOTIF_RX_NSS_MASK = 0x70,
737 IEEE80211_OPMODE_NOTIF_RX_NSS_SHIFT = 4,
738 IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF = 0x80,
739};
740
717#define WLAN_SA_QUERY_TR_ID_LEN 2 741#define WLAN_SA_QUERY_TR_ID_LEN 2
718 742
719struct ieee80211_mgmt { 743struct ieee80211_mgmt {
@@ -844,6 +868,10 @@ struct ieee80211_mgmt {
844 __le16 capability; 868 __le16 capability;
845 u8 variable[0]; 869 u8 variable[0];
846 } __packed tdls_discover_resp; 870 } __packed tdls_discover_resp;
871 struct {
872 u8 action_code;
873 u8 operating_mode;
874 } __packed vht_opmode_notif;
847 } u; 875 } u;
848 } __packed action; 876 } __packed action;
849 } u; 877 } u;
@@ -1598,6 +1626,7 @@ enum ieee80211_eid {
1598 1626
1599 WLAN_EID_VHT_CAPABILITY = 191, 1627 WLAN_EID_VHT_CAPABILITY = 191,
1600 WLAN_EID_VHT_OPERATION = 192, 1628 WLAN_EID_VHT_OPERATION = 192,
1629 WLAN_EID_OPMODE_NOTIF = 199,
1601 1630
1602 /* 802.11ad */ 1631 /* 802.11ad */
1603 WLAN_EID_NON_TX_BSSID_CAP = 83, 1632 WLAN_EID_NON_TX_BSSID_CAP = 83,
@@ -1652,6 +1681,7 @@ enum ieee80211_category {
1652 WLAN_CATEGORY_WMM = 17, 1681 WLAN_CATEGORY_WMM = 17,
1653 WLAN_CATEGORY_FST = 18, 1682 WLAN_CATEGORY_FST = 18,
1654 WLAN_CATEGORY_UNPROT_DMG = 20, 1683 WLAN_CATEGORY_UNPROT_DMG = 20,
1684 WLAN_CATEGORY_VHT = 21,
1655 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, 1685 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
1656 WLAN_CATEGORY_VENDOR_SPECIFIC = 127, 1686 WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
1657}; 1687};
@@ -1677,6 +1707,13 @@ enum ieee80211_ht_actioncode {
1677 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7, 1707 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7,
1678}; 1708};
1679 1709
1710/* VHT action codes */
1711enum ieee80211_vht_actioncode {
1712 WLAN_VHT_ACTION_COMPRESSED_BF = 0,
1713 WLAN_VHT_ACTION_GROUPID_MGMT = 1,
1714 WLAN_VHT_ACTION_OPMODE_NOTIF = 2,
1715};
1716
1680/* Self Protected Action codes */ 1717/* Self Protected Action codes */
1681enum ieee80211_self_protected_actioncode { 1718enum ieee80211_self_protected_actioncode {
1682 WLAN_SP_RESERVED = 0, 1719 WLAN_SP_RESERVED = 0,