mac80211: add support for radiotap timestamp field
[cascardo/linux.git] / include / net / ieee80211_radiotap.h
index b0fd947..ba07b9d 100644 (file)
@@ -190,6 +190,10 @@ struct ieee80211_radiotap_header {
  * IEEE80211_RADIOTAP_VHT      u16, u8, u8, u8[4], u8, u8, u16
  *
  *     Contains VHT information about this frame.
+ *
+ * IEEE80211_RADIOTAP_TIMESTAMP                u64, u16, u8, u8        variable
+ *
+ *     Contains timestamp information for this frame.
  */
 enum ieee80211_radiotap_type {
        IEEE80211_RADIOTAP_TSFT = 0,
@@ -214,6 +218,7 @@ enum ieee80211_radiotap_type {
        IEEE80211_RADIOTAP_MCS = 19,
        IEEE80211_RADIOTAP_AMPDU_STATUS = 20,
        IEEE80211_RADIOTAP_VHT = 21,
+       IEEE80211_RADIOTAP_TIMESTAMP = 22,
 
        /* valid in every it_present bitmap, even vendor namespaces */
        IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE = 29,
@@ -321,6 +326,22 @@ enum ieee80211_radiotap_type {
 #define IEEE80211_RADIOTAP_CODING_LDPC_USER2                   0x04
 #define IEEE80211_RADIOTAP_CODING_LDPC_USER3                   0x08
 
+/* For IEEE80211_RADIOTAP_TIMESTAMP */
+#define IEEE80211_RADIOTAP_TIMESTAMP_UNIT_MASK                 0x000F
+#define IEEE80211_RADIOTAP_TIMESTAMP_UNIT_MS                   0x0000
+#define IEEE80211_RADIOTAP_TIMESTAMP_UNIT_US                   0x0001
+#define IEEE80211_RADIOTAP_TIMESTAMP_UNIT_NS                   0x0003
+#define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_MASK                 0x00F0
+#define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_BEGIN_MDPU           0x0000
+#define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_EO_MPDU              0x0010
+#define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_EO_PPDU              0x0020
+#define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_PLCP_SIG_ACQ         0x0030
+#define IEEE80211_RADIOTAP_TIMESTAMP_SPOS_UNKNOWN              0x00F0
+
+#define IEEE80211_RADIOTAP_TIMESTAMP_FLAG_64BIT                        0x00
+#define IEEE80211_RADIOTAP_TIMESTAMP_FLAG_32BIT                        0x01
+#define IEEE80211_RADIOTAP_TIMESTAMP_FLAG_ACCURACY             0x02
+
 /* helpers */
 static inline int ieee80211_get_radiotap_len(unsigned char *data)
 {