| .. | .. |
|---|
| 1 | 1 | /* |
|---|
| 2 | 2 | * Copyright (c) 2017 Intel Deutschland GmbH |
|---|
| 3 | | - * Copyright (c) 2018 Intel Corporation |
|---|
| 3 | + * Copyright (c) 2018-2019 Intel Corporation |
|---|
| 4 | 4 | * |
|---|
| 5 | 5 | * Permission to use, copy, modify, and/or distribute this software for any |
|---|
| 6 | 6 | * purpose with or without fee is hereby granted, provided that the above |
|---|
| .. | .. |
|---|
| 75 | 75 | IEEE80211_RADIOTAP_TIMESTAMP = 22, |
|---|
| 76 | 76 | IEEE80211_RADIOTAP_HE = 23, |
|---|
| 77 | 77 | IEEE80211_RADIOTAP_HE_MU = 24, |
|---|
| 78 | + IEEE80211_RADIOTAP_ZERO_LEN_PSDU = 26, |
|---|
| 79 | + IEEE80211_RADIOTAP_LSIG = 27, |
|---|
| 78 | 80 | |
|---|
| 79 | 81 | /* valid in every it_present bitmap, even vendor namespaces */ |
|---|
| 80 | 82 | IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE = 29, |
|---|
| .. | .. |
|---|
| 115 | 117 | IEEE80211_RADIOTAP_F_TX_CTS = 0x0002, |
|---|
| 116 | 118 | IEEE80211_RADIOTAP_F_TX_RTS = 0x0004, |
|---|
| 117 | 119 | IEEE80211_RADIOTAP_F_TX_NOACK = 0x0008, |
|---|
| 120 | + IEEE80211_RADIOTAP_F_TX_NOSEQNO = 0x0010, |
|---|
| 118 | 121 | }; |
|---|
| 119 | 122 | |
|---|
| 120 | 123 | /* for IEEE80211_RADIOTAP_MCS "have" flags */ |
|---|
| .. | .. |
|---|
| 289 | 292 | |
|---|
| 290 | 293 | IEEE80211_RADIOTAP_HE_DATA6_NSTS = 0x000f, |
|---|
| 291 | 294 | IEEE80211_RADIOTAP_HE_DATA6_DOPPLER = 0x0010, |
|---|
| 295 | + IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_KNOWN = 0x0020, |
|---|
| 296 | + IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW = 0x00c0, |
|---|
| 297 | + IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_20MHZ = 0, |
|---|
| 298 | + IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_40MHZ = 1, |
|---|
| 299 | + IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_80MHZ = 2, |
|---|
| 300 | + IEEE80211_RADIOTAP_HE_DATA6_TB_PPDU_BW_160MHZ = 3, |
|---|
| 292 | 301 | IEEE80211_RADIOTAP_HE_DATA6_TXOP = 0x7f00, |
|---|
| 293 | 302 | IEEE80211_RADIOTAP_HE_DATA6_MIDAMBLE_PDCTY = 0x8000, |
|---|
| 294 | 303 | }; |
|---|
| .. | .. |
|---|
| 325 | 334 | IEEE80211_RADIOTAP_HE_MU_FLAGS2_CH2_CTR_26T_RU = 0x0800, |
|---|
| 326 | 335 | }; |
|---|
| 327 | 336 | |
|---|
| 337 | +enum ieee80211_radiotap_lsig_data1 { |
|---|
| 338 | + IEEE80211_RADIOTAP_LSIG_DATA1_RATE_KNOWN = 0x0001, |
|---|
| 339 | + IEEE80211_RADIOTAP_LSIG_DATA1_LENGTH_KNOWN = 0x0002, |
|---|
| 340 | +}; |
|---|
| 341 | + |
|---|
| 342 | +enum ieee80211_radiotap_lsig_data2 { |
|---|
| 343 | + IEEE80211_RADIOTAP_LSIG_DATA2_RATE = 0x000f, |
|---|
| 344 | + IEEE80211_RADIOTAP_LSIG_DATA2_LENGTH = 0xfff0, |
|---|
| 345 | +}; |
|---|
| 346 | + |
|---|
| 347 | +struct ieee80211_radiotap_lsig { |
|---|
| 348 | + __le16 data1, data2; |
|---|
| 349 | +}; |
|---|
| 350 | + |
|---|
| 351 | +enum ieee80211_radiotap_zero_len_psdu_type { |
|---|
| 352 | + IEEE80211_RADIOTAP_ZERO_LEN_PSDU_SOUNDING = 0, |
|---|
| 353 | + IEEE80211_RADIOTAP_ZERO_LEN_PSDU_NOT_CAPTURED = 1, |
|---|
| 354 | + IEEE80211_RADIOTAP_ZERO_LEN_PSDU_VENDOR = 0xff, |
|---|
| 355 | +}; |
|---|
| 356 | + |
|---|
| 328 | 357 | /** |
|---|
| 329 | 358 | * ieee80211_get_radiotap_len - get radiotap header length |
|---|
| 330 | 359 | */ |
|---|