linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iw] Report max TX power from NL80211_BAND_ATTR_FREQS
@ 2008-11-22 20:02 Jouni Malinen
  2008-11-23 11:12 ` Johannes Berg
  0 siblings, 1 reply; 2+ messages in thread
From: Jouni Malinen @ 2008-11-22 20:02 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

Signed-off-by: Jouni Malinen <j@w1.fi>


diff --git a/info.c b/info.c
index ced78dd..cd82ebc 100644
--- 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,10 @@ 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_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);
diff --git a/nl80211.h b/nl80211.h
index e4cc786..596961d 100644
--- 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

-- 
Jouni Malinen                                            PGP id EFC895FA

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH iw] Report max TX power from NL80211_BAND_ATTR_FREQS
  2008-11-22 20:02 [PATCH iw] Report max TX power from NL80211_BAND_ATTR_FREQS Jouni Malinen
@ 2008-11-23 11:12 ` Johannes Berg
  0 siblings, 0 replies; 2+ messages in thread
From: Johannes Berg @ 2008-11-23 11:12 UTC (permalink / raw)
  To: Jouni Malinen; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]


> +			if (!tb_freq[NL80211_FREQUENCY_ATTR_DISABLED])
> +				printf(" (%.1f dBm)", 0.01 * nla_get_u32(tb_freq[NL80211_FREQUENCY_ATTR_MAX_TX_POWER]));

You need to check whether that attribute is present too otherwise iw
will segfault on kernels that don't have it, I've fixed that and
committed it, thanks.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-11-23 11:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-22 20:02 [PATCH iw] Report max TX power from NL80211_BAND_ATTR_FREQS Jouni Malinen
2008-11-23 11:12 ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).