0001
0002 #include <net/ieee80211_radiotap.h>
0003
0004 struct tx_radiotap_hdr {
0005 struct ieee80211_radiotap_header hdr;
0006 u8 rate;
0007 u8 txpower;
0008 u8 rts_retries;
0009 u8 data_retries;
0010 } __packed;
0011
0012 #define TX_RADIOTAP_PRESENT ( \
0013 (1 << IEEE80211_RADIOTAP_RATE) | \
0014 (1 << IEEE80211_RADIOTAP_DBM_TX_POWER) | \
0015 (1 << IEEE80211_RADIOTAP_RTS_RETRIES) | \
0016 (1 << IEEE80211_RADIOTAP_DATA_RETRIES) | \
0017 0)
0018
0019 #define IEEE80211_FC_VERSION_MASK 0x0003
0020 #define IEEE80211_FC_TYPE_MASK 0x000c
0021 #define IEEE80211_FC_TYPE_MGT 0x0000
0022 #define IEEE80211_FC_TYPE_CTL 0x0004
0023 #define IEEE80211_FC_TYPE_DATA 0x0008
0024 #define IEEE80211_FC_SUBTYPE_MASK 0x00f0
0025 #define IEEE80211_FC_TOFROMDS_MASK 0x0300
0026 #define IEEE80211_FC_TODS_MASK 0x0100
0027 #define IEEE80211_FC_FROMDS_MASK 0x0200
0028 #define IEEE80211_FC_NODS 0x0000
0029 #define IEEE80211_FC_TODS 0x0100
0030 #define IEEE80211_FC_FROMDS 0x0200
0031 #define IEEE80211_FC_DSTODS 0x0300
0032
0033 struct rx_radiotap_hdr {
0034 struct ieee80211_radiotap_header hdr;
0035 u8 flags;
0036 u8 rate;
0037 u8 antsignal;
0038 } __packed;
0039
0040 #define RX_RADIOTAP_PRESENT ( \
0041 (1 << IEEE80211_RADIOTAP_FLAGS) | \
0042 (1 << IEEE80211_RADIOTAP_RATE) | \
0043 (1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL) |\
0044 0)
0045