]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
iw: Add channel busy time to survey
authorFelix Fietkau <nbd@openwrt.org>
Tue, 11 Jan 2011 00:51:12 +0000 (09:51 +0900)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 11 Jan 2011 08:32:39 +0000 (09:32 +0100)
Print channel busy time in survey dump.

This patch comes from OpenWRT.
Fixed up for unsigned values.

[Johannes: fixed up for compiler warnings]

Cc: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Bruno Randolf <br1@einfach.org>
survey.c

index 83c54b39a3caf09ca7ee619d136ace9a59ed5024..0810d0c2721ef3288504521e9a433ebd51b25881 100644 (file)
--- a/survey.c
+++ b/survey.c
@@ -44,12 +44,27 @@ static int print_survey_handler(struct nl_msg *msg, void *arg)
        }
 
        if (sinfo[NL80211_SURVEY_INFO_FREQUENCY])
-               printf("\tfrequency:\t%u MHz%s\n",
+               printf("\tfrequency:\t\t\t%u MHz%s\n",
                        nla_get_u32(sinfo[NL80211_SURVEY_INFO_FREQUENCY]),
                        sinfo[NL80211_SURVEY_INFO_IN_USE] ? " [in use]" : "");
        if (sinfo[NL80211_SURVEY_INFO_NOISE])
-               printf("\tnoise:\t\t%d dBm\n",
+               printf("\tnoise:\t\t\t\t%d dBm\n",
                        (int8_t)nla_get_u8(sinfo[NL80211_SURVEY_INFO_NOISE]));
+       if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME])
+               printf("\tchannel active time:\t\t%llu ms\n",
+                       (unsigned long long)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME]));
+       if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY])
+               printf("\tchannel busy time:\t\t%llu ms\n",
+                       (unsigned long long)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY]));
+       if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY])
+               printf("\textension channel busy time:\t%llu ms\n",
+                       (unsigned long long)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY]));
+       if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_RX])
+               printf("\tchannel receive time:\t\t%llu ms\n",
+                       (unsigned long long)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_RX]));
+       if (sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_TX])
+               printf("\tchannel transmit time:\t\t%llu ms\n",
+                       (unsigned long long)nla_get_u64(sinfo[NL80211_SURVEY_INFO_CHANNEL_TIME_TX]));
        return NL_SKIP;
 }