Home | History | Annotate | Download | only in iw
      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 
     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 
     61 #endif /* __IEEE80211 */
     62