utils: add iwinfo_band2ghz() and iwinfo_ghz2band() helpers

To classify bands, to be used as ubus values.

Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
Andre Heider 2022-11-22 09:39:12 +01:00 committed by Jo-Philipp Wich
parent e084781afc
commit 9e14e643c5
2 changed files with 37 additions and 0 deletions

View file

@ -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);

View file

@ -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