]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
Report max TX power from NL80211_BAND_ATTR_FREQS
authorJohannes Berg <johannes@sipsolutions.net>
Sun, 23 Nov 2008 11:11:26 +0000 (12:11 +0100)
committerJohannes Berg <johannes@sipsolutions.net>
Sun, 23 Nov 2008 11:11:26 +0000 (12:11 +0100)
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
info.c
nl80211.h

diff --git a/info.c b/info.c
index ced78dd09c14a2e9b781d180c5ce3aba91c2d5ca..9b0471959df4ca99706ec497d37ed9c754944f43 100644 (file)
--- a/info.c
+++ b/info.c
@@ -34,6 +34,7 @@ static int print_phy_handler(struct nl_msg *msg, void *arg)
                [NL80211_FREQUENCY_ATTR_PASSIVE_SCAN] = { .type = NLA_FLAG },
                [NL80211_FREQUENCY_ATTR_NO_IBSS] = { .type = NLA_FLAG },
                [NL80211_FREQUENCY_ATTR_RADAR] = { .type = NLA_FLAG },
+               [NL80211_FREQUENCY_ATTR_MAX_TX_POWER] = { .type = NLA_U32 },
        };
 
        struct nlattr *tb_rate[NL80211_BITRATE_ATTR_MAX + 1];
@@ -142,6 +143,11 @@ static int print_phy_handler(struct nl_msg *msg, void *arg)
                        if (!tb_freq[NL80211_FREQUENCY_ATTR_FREQ])
                                continue;
                        printf("\t\t\t* %d MHz", nla_get_u32(tb_freq[NL80211_FREQUENCY_ATTR_FREQ]));
+
+                       if (tb_freq[NL80211_FREQUENCY_ATTR_MAX_TX_POWER] &&
+                           !tb_freq[NL80211_FREQUENCY_ATTR_DISABLED])
+                               printf(" (%.1f dBm)", 0.01 * nla_get_u32(tb_freq[NL80211_FREQUENCY_ATTR_MAX_TX_POWER]));
+
                        open = 0;
                        if (tb_freq[NL80211_FREQUENCY_ATTR_DISABLED])
                                print_flag("disabled", &open);
index e4cc7869b22f0b2ebf76a023dd6ca20c20b4c398..596961d2b746ee780c8165baa12d1b91444a6c98 100644 (file)
--- a/nl80211.h
+++ b/nl80211.h
@@ -497,6 +497,8 @@ enum nl80211_band_attr {
  *     on this channel in current regulatory domain.
  * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory
  *     on this channel in current regulatory domain.
+ * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
+ *     (100 * dBm).
  */
 enum nl80211_frequency_attr {
        __NL80211_FREQUENCY_ATTR_INVALID,
@@ -505,12 +507,15 @@ enum nl80211_frequency_attr {
        NL80211_FREQUENCY_ATTR_PASSIVE_SCAN,
        NL80211_FREQUENCY_ATTR_NO_IBSS,
        NL80211_FREQUENCY_ATTR_RADAR,
+       NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
 
        /* keep last */
        __NL80211_FREQUENCY_ATTR_AFTER_LAST,
        NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
 };
 
+#define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER
+
 /**
  * enum nl80211_bitrate_attr - bitrate attributes
  * @NL80211_BITRATE_ATTR_RATE: Bitrate in units of 100 kbps