From dba0f0690bec6b997a0567831ef6dd9e1cacb49b Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 21 Jan 2022 01:07:50 +0100 Subject: nl80211: add support for radiation and indoor chan restriction Add new 'flags' bits to declare these two channel restrictions. Signed-off-by: Christian Marangi --- iwinfo_nl80211.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'iwinfo_nl80211.c') diff --git a/iwinfo_nl80211.c b/iwinfo_nl80211.c index a9e2adf..630fdbf 100644 --- a/iwinfo_nl80211.c +++ b/iwinfo_nl80211.c @@ -3012,11 +3012,6 @@ static int nl80211_get_freqlist_cb(struct nl_msg *msg, void *arg) e->mhz = nla_get_u32(freqs[NL80211_FREQUENCY_ATTR_FREQ]); e->channel = nl80211_freq2channel(e->mhz); - e->restricted = ( - freqs[NL80211_FREQUENCY_ATTR_NO_IR] && - !freqs[NL80211_FREQUENCY_ATTR_RADAR] - ) ? 1 : 0; - if (freqs[NL80211_FREQUENCY_ATTR_NO_HT40_MINUS]) e->flags |= IWINFO_FREQ_NO_HT40MINUS; if (freqs[NL80211_FREQUENCY_ATTR_NO_HT40_PLUS]) @@ -3031,6 +3026,14 @@ static int nl80211_get_freqlist_cb(struct nl_msg *msg, void *arg) e->flags |= IWINFO_FREQ_NO_10MHZ; if (freqs[NL80211_FREQUENCY_ATTR_NO_HE]) e->flags |= IWINFO_FREQ_NO_HE; + if (freqs[NL80211_FREQUENCY_ATTR_NO_IR] && + !freqs[NL80211_FREQUENCY_ATTR_RADAR]) + e->flags |= IWINFO_FREQ_NO_IR; + if (freqs[NL80211_FREQUENCY_ATTR_INDOOR_ONLY]) + e->flags |= IWINFO_FREQ_INDOOR_ONLY; + + /* keep backwards compatibility */ + e->restricted = (e->flags & IWINFO_FREQ_NO_IR) ? 1 : 0; e++; arr->count++; -- cgit v1.2.1