From: Andre Heider Date: Tue, 22 Nov 2022 08:39:12 +0000 (+0100) Subject: utils: add iwinfo_band2ghz() and iwinfo_ghz2band() helpers X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;ds=sidebyside;h=9e14e643c5e8bac2b8aeb4efb76cff3f86bf80ca;p=project%2Fiwinfo.git utils: add iwinfo_band2ghz() and iwinfo_ghz2band() helpers To classify bands, to be used as ubus values. Signed-off-by: Andre Heider --- diff --git a/include/iwinfo/utils.h b/include/iwinfo/utils.h index a7645de..7b8ceea 100644 --- a/include/iwinfo/utils.h +++ b/include/iwinfo/utils.h @@ -46,6 +46,9 @@ static inline int iwinfo_mbm2dbm(int gain) const char * const iwinfo_band_name(int mask); const char * const iwinfo_htmode_name(int mask); +uint32_t iwinfo_band2ghz(uint8_t band); +uint8_t iwinfo_ghz2band(uint32_t ghz); + size_t iwinfo_format_hwmodes(int modes, char *buf, size_t len); int iwinfo_htmode_is_ht(int htmode); int iwinfo_htmode_is_vht(int htmode); diff --git a/iwinfo_utils.c b/iwinfo_utils.c index 83f049a..a342b6a 100644 --- a/iwinfo_utils.c +++ b/iwinfo_utils.c @@ -115,6 +115,40 @@ const char * const iwinfo_htmode_name(int mask) return iwinfo_name(mask, IWINFO_HTMODE_COUNT, IWINFO_HTMODE_NAMES); } +uint32_t iwinfo_band2ghz(uint8_t band) +{ + switch (band) + { + case IWINFO_BAND_24: + return 2; + case IWINFO_BAND_5: + return 5; + case IWINFO_BAND_6: + return 6; + case IWINFO_BAND_60: + return 60; + } + + return 0; +} + +uint8_t iwinfo_ghz2band(uint32_t ghz) +{ + switch (ghz) + { + case 2: + return IWINFO_BAND_24; + case 5: + return IWINFO_BAND_5; + case 6: + return IWINFO_BAND_6; + case 60: + return IWINFO_BAND_60; + } + + return 0; +} + size_t iwinfo_format_hwmodes(int modes, char *buf, size_t len) { // bit numbers as per IWINFO_80211_*: ad ac ax a b g n