#ifndef __IEEE80211 #define __IEEE80211 /* 802.11n HT capability AMPDU settings (for ampdu_params_info) */ #define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03 #define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C #define IEEE80211_HT_CAP_SUP_WIDTH_20_40 0x0002 #define IEEE80211_HT_CAP_SGI_40 0x0040 #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 #define IEEE80211_HT_MCS_MASK_LEN 10 /** * struct ieee80211_mcs_info - MCS information * @rx_mask: RX mask * @rx_highest: highest supported RX rate. If set represents * the highest supported RX data rate in units of 1 Mbps. * If this field is 0 this value should not be used to * consider the highest RX data rate supported. * @tx_params: TX parameters */ struct ieee80211_mcs_info { __u8 rx_mask[IEEE80211_HT_MCS_MASK_LEN]; __u16 rx_highest; __u8 tx_params; __u8 reserved[3]; } __attribute__ ((packed)); /** * struct ieee80211_ht_cap - HT capabilities * * This structure is the "HT capabilities element" as * described in 802.11n D5.0 7.3.2.57 */ struct ieee80211_ht_cap { __u16 cap_info; __u8 ampdu_params_info; /* 16 bytes MCS information */ struct ieee80211_mcs_info mcs; __u16 extended_ht_cap_info; __u32 tx_BF_cap_info; __u8 antenna_selection_info; } __attribute__ ((packed)); struct ieee80211_vht_mcs_info { __u16 rx_vht_mcs; __u16 rx_highest; __u16 tx_vht_mcs; __u16 tx_highest; } __attribute__ ((packed)); struct ieee80211_vht_cap { __u32 cap_info; struct ieee80211_vht_mcs_info mcs; } __attribute__ ((packed)); #endif /* __IEEE80211 */