46 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#include <net/ieee80211_radiotap.h>3 4struct tx_radiotap_hdr {5 struct ieee80211_radiotap_header_fixed hdr;6 u8 rate;7 u8 txpower;8 u8 rts_retries;9 u8 data_retries;10} __packed;11 12#define TX_RADIOTAP_PRESENT ( \13 (1 << IEEE80211_RADIOTAP_RATE) | \14 (1 << IEEE80211_RADIOTAP_DBM_TX_POWER) | \15 (1 << IEEE80211_RADIOTAP_RTS_RETRIES) | \16 (1 << IEEE80211_RADIOTAP_DATA_RETRIES) | \17 0)18 19#define IEEE80211_FC_VERSION_MASK 0x000320#define IEEE80211_FC_TYPE_MASK 0x000c21#define IEEE80211_FC_TYPE_MGT 0x000022#define IEEE80211_FC_TYPE_CTL 0x000423#define IEEE80211_FC_TYPE_DATA 0x000824#define IEEE80211_FC_SUBTYPE_MASK 0x00f025#define IEEE80211_FC_TOFROMDS_MASK 0x030026#define IEEE80211_FC_TODS_MASK 0x010027#define IEEE80211_FC_FROMDS_MASK 0x020028#define IEEE80211_FC_NODS 0x000029#define IEEE80211_FC_TODS 0x010030#define IEEE80211_FC_FROMDS 0x020031#define IEEE80211_FC_DSTODS 0x030032 33struct rx_radiotap_hdr {34 struct ieee80211_radiotap_header_fixed hdr;35 u8 flags;36 u8 rate;37 u8 antsignal;38} __packed;39 40#define RX_RADIOTAP_PRESENT ( \41 (1 << IEEE80211_RADIOTAP_FLAGS) | \42 (1 << IEEE80211_RADIOTAP_RATE) | \43 (1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL) |\44 0)45 46