diff options
author | Jonathan McCrohan <jmccrohan@gmail.com> | 2016-01-30 17:08:40 +0000 |
---|---|---|
committer | Jonathan McCrohan <jmccrohan@gmail.com> | 2016-01-30 17:08:40 +0000 |
commit | 947da597663e60b0a214d96bfcadc0cd042a49ff (patch) | |
tree | f4d3df7b9f3e41ee4beed2e049d9b52031404b8e /ieee80211.h | |
parent | cec92f1a82b9f29ec16a4c03c37487c7cb019acf (diff) | |
parent | 0b0aac6ce21bcb38d7e03dc2b3ff419861476a24 (diff) | |
download | wavemon-947da597663e60b0a214d96bfcadc0cd042a49ff.tar.gz |
Merge tag 'upstream/0.8.0'
Upstream version 0.8.0
Diffstat (limited to 'ieee80211.h')
-rw-r--r-- | ieee80211.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ieee80211.h b/ieee80211.h new file mode 100644 index 0000000..8745608 --- /dev/null +++ b/ieee80211.h @@ -0,0 +1,61 @@ +#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 */ |