1 #include <net/ieee80211_radiotap.h> 2 3 struct tx_radiotap_hdr { 4 struct ieee80211_radiotap_header hdr; 5 u8 rate; 6 u8 txpower; 7 u8 rts_retries; 8 u8 data_retries; 9 } __packed; 10 11 #define TX_RADIOTAP_PRESENT ( \ 12 (1 << IEEE80211_RADIOTAP_RATE) | \ 13 (1 << IEEE80211_RADIOTAP_DBM_TX_POWER) | \ 14 (1 << IEEE80211_RADIOTAP_RTS_RETRIES) | \ 15 (1 << IEEE80211_RADIOTAP_DATA_RETRIES) | \ 16 0) 17 18 #define IEEE80211_FC_VERSION_MASK 0x0003 19 #define IEEE80211_FC_TYPE_MASK 0x000c 20 #define IEEE80211_FC_TYPE_MGT 0x0000 21 #define IEEE80211_FC_TYPE_CTL 0x0004 22 #define IEEE80211_FC_TYPE_DATA 0x0008 23 #define IEEE80211_FC_SUBTYPE_MASK 0x00f0 24 #define IEEE80211_FC_TOFROMDS_MASK 0x0300 25 #define IEEE80211_FC_TODS_MASK 0x0100 26 #define IEEE80211_FC_FROMDS_MASK 0x0200 27 #define IEEE80211_FC_NODS 0x0000 28 #define IEEE80211_FC_TODS 0x0100 29 #define IEEE80211_FC_FROMDS 0x0200 30 #define IEEE80211_FC_DSTODS 0x0300 31 32 struct rx_radiotap_hdr { 33 struct ieee80211_radiotap_header hdr; 34 u8 flags; 35 u8 rate; 36 u8 antsignal; 37 } __packed; 38 39 #define RX_RADIOTAP_PRESENT ( \ 40 (1 << IEEE80211_RADIOTAP_FLAGS) | \ 41 (1 << IEEE80211_RADIOTAP_RATE) | \ 42 (1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL) |\ 43 0) 44 45