+@@ -3364,6 +3396,9 @@ enum nl80211_bss_scan_width {
+ * (not present if no beacon frame has been received yet)
+ * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
+ * @NL80211_BSS_TSF is known to be from a probe response (flag attribute)
++ * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry
++ * was last updated by a received frame. The value is expected to be
++ * accurate to about 10ms. (u64, nanoseconds)
+ * @__NL80211_BSS_AFTER_LAST: internal
+ * @NL80211_BSS_MAX: highest BSS attribute
+ */
+@@ -3383,6 +3418,7 @@ enum nl80211_bss {
+ NL80211_BSS_CHAN_WIDTH,
+ NL80211_BSS_BEACON_TSF,
+ NL80211_BSS_PRESP_DATA,
++ NL80211_BSS_LAST_SEEN_BOOTTIME,
+
+ /* keep last */
+ __NL80211_BSS_AFTER_LAST,
+@@ -4589,4 +4625,28 @@ enum nl80211_tdls_peer_capability {
+ NL80211_TDLS_PEER_WMM = 1<<2,
+ };
+
++/**
++ * enum nl80211_sched_scan_plan - scanning plan for scheduled scan
++ * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved
++ * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In
++ * seconds (u32).
++ * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this
++ * scan plan (u32). The last scan plan must not specify this attribute
++ * because it will run infinitely. A value of zero is invalid as it will
++ * make the scan plan meaningless.
++ * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number
++ * currently defined
++ * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use
++ */
++enum nl80211_sched_scan_plan {
++ __NL80211_SCHED_SCAN_PLAN_INVALID,
++ NL80211_SCHED_SCAN_PLAN_INTERVAL,
++ NL80211_SCHED_SCAN_PLAN_ITERATIONS,
++
++ /* keep last */
++ __NL80211_SCHED_SCAN_PLAN_AFTER_LAST,
++ NL80211_SCHED_SCAN_PLAN_MAX =
++ __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1
++};
++
+ #endif /* __LINUX_NL80211_H */