cli: print the flags on the frequency list

Provide info for each flags applied to the frequency on frequency list
dump.

Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
Andre Heider 2023-01-11 12:13:44 +01:00 committed by Christian Marangi
parent 8ee7971c76
commit f766138662
No known key found for this signature in database
GPG key ID: AC001D09ADBFEAD7

View file

@ -79,6 +79,25 @@ static char * format_frequency(int freq)
return buf; return buf;
} }
static char * format_freqflags(uint32_t flags)
{
static char str[512] = "[";
char *pos = str + 1;
int i;
if (!flags)
return "";
for (i = 0; i < IWINFO_FREQ_FLAG_COUNT; i++)
if (flags & (1 << i))
pos += sprintf(pos, "%s, ", IWINFO_FREQ_FLAG_NAMES[i]);
*(pos - 2) = ']';
*(pos - 1) = 0;
return str;
}
static char * format_txpower(int pwr) static char * format_txpower(int pwr)
{ {
static char buf[16]; static char buf[16];
@ -742,12 +761,12 @@ static void print_freqlist(const struct iwinfo_ops *iw, const char *ifname)
{ {
e = (struct iwinfo_freqlist_entry *) &buf[i]; e = (struct iwinfo_freqlist_entry *) &buf[i];
printf("%s %s (Band: %s, Channel %s)%s\n", printf("%s %s (Band: %s, Channel %s) %s\n",
(freq == e->mhz) ? "*" : " ", (freq == e->mhz) ? "*" : " ",
format_frequency(e->mhz), format_frequency(e->mhz),
format_band(e->band), format_band(e->band),
format_channel(e->channel), format_channel(e->channel),
e->restricted ? " [restricted]" : ""); format_freqflags(e->flags));
} }
} }