From: Ben Greear <[email protected]>

This can be helpful for calculating roaming time and other
higher precision stats.

Signed-off-by: Ben Greear <[email protected]>
---
 nl80211.h | 2 ++
 station.c | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/nl80211.h b/nl80211.h
index e1ea2cb..ebaae12 100644
--- a/nl80211.h
+++ b/nl80211.h
@@ -3139,6 +3139,7 @@ enum nl80211_sta_bss_param {
  * @NL80211_STA_INFO_TX_DURATION: aggregate PPDU duration for all frames
  *     sent to the station (u64, usec)
  * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
+ * @NL80211_STA_INFO_AUTH_AT_MS: Timestamp of last assoc -> auth transition, 
in ms
  * @__NL80211_STA_INFO_AFTER_LAST: internal
  * @NL80211_STA_INFO_MAX: highest possible station info attribute
  */
@@ -3184,6 +3185,7 @@ enum nl80211_sta_info {
        NL80211_STA_INFO_CONNECTED_TO_GATE,
        NL80211_STA_INFO_TX_DURATION,
        NL80211_STA_INFO_AIRTIME_WEIGHT,
+       NL80211_STA_INFO_AUTH_AT_MS,
 
        /* keep last */
        __NL80211_STA_INFO_AFTER_LAST,
diff --git a/station.c b/station.c
index 25cbbc3..3b0c5f1 100644
--- a/station.c
+++ b/station.c
@@ -557,6 +557,9 @@ static int print_sta_handler(struct nl_msg *msg, void *arg)
        if (sinfo[NL80211_STA_INFO_CONNECTED_TIME])
                printf("\n\tconnected time:\t%u seconds",
                        nla_get_u32(sinfo[NL80211_STA_INFO_CONNECTED_TIME]));
+       if (sinfo[NL80211_STA_INFO_AUTH_AT_MS])
+               printf("\n\tauthenticated at:\t%llu ms",
+                        (unsigned long 
long)nla_get_u64(sinfo[NL80211_STA_INFO_AUTH_AT_MS]));
 
        printf("\n");
        return NL_SKIP;
-- 
2.7.5

Reply via email to