diff options
-rw-r--r-- | include/iwinfo/utils.h | 3 | ||||
-rw-r--r-- | iwinfo_utils.c | 34 |
2 files changed, 37 insertions, 0 deletions
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 |