34 #ifndef IEEE80211RADIOTAP_H
35 #define IEEE80211RADIOTAP_H
40 #define PKTHDR_RADIOTAP_VERSION 0
186 enum ieee80211_radiotap_type {
187 IEEE80211_RADIOTAP_TSFT = 0,
188 IEEE80211_RADIOTAP_FLAGS = 1,
189 IEEE80211_RADIOTAP_RATE = 2,
190 IEEE80211_RADIOTAP_CHANNEL = 3,
191 IEEE80211_RADIOTAP_FHSS = 4,
192 IEEE80211_RADIOTAP_DBM_ANTSIGNAL = 5,
193 IEEE80211_RADIOTAP_DBM_ANTNOISE = 6,
194 IEEE80211_RADIOTAP_LOCK_QUALITY = 7,
195 IEEE80211_RADIOTAP_TX_ATTENUATION = 8,
196 IEEE80211_RADIOTAP_DB_TX_ATTENUATION = 9,
197 IEEE80211_RADIOTAP_DBM_TX_POWER = 10,
198 IEEE80211_RADIOTAP_ANTENNA = 11,
199 IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12,
200 IEEE80211_RADIOTAP_DB_ANTNOISE = 13,
201 IEEE80211_RADIOTAP_RX_FLAGS = 14,
202 IEEE80211_RADIOTAP_TX_FLAGS = 15,
203 IEEE80211_RADIOTAP_RTS_RETRIES = 16,
204 IEEE80211_RADIOTAP_DATA_RETRIES = 17,
206 IEEE80211_RADIOTAP_MCS = 19,
207 IEEE80211_RADIOTAP_AMPDU_STATUS = 20,
210 IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE = 29,
211 IEEE80211_RADIOTAP_VENDOR_NAMESPACE = 30,
212 IEEE80211_RADIOTAP_EXT = 31
216 #define IEEE80211_CHAN_TURBO 0x0010
217 #define IEEE80211_CHAN_CCK 0x0020
218 #define IEEE80211_CHAN_OFDM 0x0040
219 #define IEEE80211_CHAN_2GHZ 0x0080
220 #define IEEE80211_CHAN_5GHZ 0x0100
221 #define IEEE80211_CHAN_PASSIVE 0x0200
222 #define IEEE80211_CHAN_DYN 0x0400
223 #define IEEE80211_CHAN_GFSK 0x0800
226 #define IEEE80211_RADIOTAP_F_CFP 0x01
229 #define IEEE80211_RADIOTAP_F_SHORTPRE 0x02
233 #define IEEE80211_RADIOTAP_F_WEP 0x04
236 #define IEEE80211_RADIOTAP_F_FRAG 0x08
239 #define IEEE80211_RADIOTAP_F_FCS 0x10
240 #define IEEE80211_RADIOTAP_F_DATAPAD 0x20
244 #define IEEE80211_RADIOTAP_F_BADFCS 0x40
247 #define IEEE80211_RADIOTAP_F_RX_BADPLCP 0x0002
250 #define IEEE80211_RADIOTAP_F_TX_FAIL 0x0001
252 #define IEEE80211_RADIOTAP_F_TX_CTS 0x0002
253 #define IEEE80211_RADIOTAP_F_TX_RTS 0x0004
254 #define IEEE80211_RADIOTAP_F_TX_NOACK 0x0008
257 #define IEEE80211_RADIOTAP_AMPDU_REPORT_ZEROLEN 0x0001
258 #define IEEE80211_RADIOTAP_AMPDU_IS_ZEROLEN 0x0002
259 #define IEEE80211_RADIOTAP_AMPDU_LAST_KNOWN 0x0004
260 #define IEEE80211_RADIOTAP_AMPDU_IS_LAST 0x0008
261 #define IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR 0x0010
262 #define IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_KNOWN 0x0020
265 #define IEEE80211_RADIOTAP_MCS_HAVE_BW 0x01
266 #define IEEE80211_RADIOTAP_MCS_HAVE_MCS 0x02
267 #define IEEE80211_RADIOTAP_MCS_HAVE_GI 0x04
268 #define IEEE80211_RADIOTAP_MCS_HAVE_FMT 0x08
269 #define IEEE80211_RADIOTAP_MCS_HAVE_FEC 0x10
270 #define IEEE80211_RADIOTAP_MCS_HAVE_STBC 0x20
271 #define IEEE80211_RADIOTAP_MCS_HAVE_NESS 0x40
272 #define IEEE80211_RADIOTAP_MCS_NESS_BIT1 0x80
275 #define IEEE80211_RADIOTAP_MCS_BW_MASK 0x03
276 #define IEEE80211_RADIOTAP_MCS_BW_20 0
277 #define IEEE80211_RADIOTAP_MCS_BW_40 1
278 #define IEEE80211_RADIOTAP_MCS_BW_20L 2
279 #define IEEE80211_RADIOTAP_MCS_BW_20U 3
280 #define IEEE80211_RADIOTAP_MCS_SGI 0x04
281 #define IEEE80211_RADIOTAP_MCS_FMT_GF 0x08
282 #define IEEE80211_RADIOTAP_MCS_FEC_LDPC 0x10
283 #define IEEE80211_RADIOTAP_MCS_STBC_MASK 0x60
284 #define IEEE80211_RADIOTAP_MCS_STBC_SHIFT 5
285 #define IEEE80211_RADIOTAP_MCS_STBC_1 1
286 #define IEEE80211_RADIOTAP_MCS_STBC_2 2
287 #define IEEE80211_RADIOTAP_MCS_STBC_3 3
288 #define IEEE80211_RADIOTAP_MCS_NESS_BIT0 0x80