Ben Greear | a82abc2 | 2011-11-28 10:40:22 -0800 | [diff] [blame] | 1 | #ifndef __IEEE80211 |
| 2 | #define __IEEE80211 |
| 3 | |
| 4 | /* 802.11n HT capability AMPDU settings (for ampdu_params_info) */ |
| 5 | #define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03 |
| 6 | #define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C |
| 7 | |
| 8 | #define IEEE80211_HT_CAP_SUP_WIDTH_20_40 0x0002 |
| 9 | #define IEEE80211_HT_CAP_SGI_40 0x0040 |
| 10 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 |
| 11 | |
| 12 | #define IEEE80211_HT_MCS_MASK_LEN 10 |
| 13 | |
| 14 | /** |
| 15 | * struct ieee80211_mcs_info - MCS information |
| 16 | * @rx_mask: RX mask |
| 17 | * @rx_highest: highest supported RX rate. If set represents |
| 18 | * the highest supported RX data rate in units of 1 Mbps. |
| 19 | * If this field is 0 this value should not be used to |
| 20 | * consider the highest RX data rate supported. |
| 21 | * @tx_params: TX parameters |
| 22 | */ |
| 23 | struct ieee80211_mcs_info { |
| 24 | __u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN]; |
| 25 | __u16 rx_highest; |
| 26 | __u8 tx_params; |
| 27 | __u8 reserved[3]; |
| 28 | } __attribute__ ((packed)); |
| 29 | |
| 30 | |
| 31 | /** |
| 32 | * struct ieee80211_ht_cap - HT capabilities |
| 33 | * |
| 34 | * This structure is the "HT capabilities element" as |
| 35 | * described in 802.11n D5.0 7.3.2.57 |
| 36 | */ |
| 37 | struct ieee80211_ht_cap { |
| 38 | __u16 cap_info; |
| 39 | __u8 ampdu_params_info; |
| 40 | |
| 41 | /* 16 bytes MCS information */ |
| 42 | struct ieee80211_mcs_info mcs; |
| 43 | |
| 44 | __u16 extended_ht_cap_info; |
| 45 | __u32 tx_BF_cap_info; |
| 46 | __u8 antenna_selection_info; |
| 47 | } __attribute__ ((packed)); |
| 48 | |
Johannes Berg | 54eb161 | 2012-11-12 13:07:18 +0100 | [diff] [blame] | 49 | struct ieee80211_vht_mcs_info { |
| 50 | __u16 rx_vht_mcs; |
| 51 | __u16 rx_highest; |
| 52 | __u16 tx_vht_mcs; |
| 53 | __u16 tx_highest; |
| 54 | } __attribute__ ((packed)); |
| 55 | |
| 56 | struct ieee80211_vht_cap { |
| 57 | __u32 cap_info; |
| 58 | struct ieee80211_vht_mcs_info mcs; |
| 59 | } __attribute__ ((packed)); |
| 60 | |
Ben Greear | a82abc2 | 2011-11-28 10:40:22 -0800 | [diff] [blame] | 61 | #endif /* __IEEE80211 */ |