static char * format_hwmodes(int modes)
{
- static char buf[15];
+ static char buf[17];
if (modes <= 0)
snprintf(buf, sizeof(buf), "unknown");
else
- snprintf(buf, sizeof(buf), "802.11%s%s%s%s%s%s",
+ snprintf(buf, sizeof(buf), "802.11%s%s%s%s%s%s%s",
(modes & IWINFO_80211_A) ? "a" : "",
(modes & IWINFO_80211_B) ? "b" : "",
(modes & IWINFO_80211_G) ? "g" : "",
(modes & IWINFO_80211_N) ? "n" : "",
(modes & IWINFO_80211_AC) ? "ac" : "",
- (modes & IWINFO_80211_AD) ? "ad" : "");
+ (modes & IWINFO_80211_AD) ? "ad" : "",
+ (modes & IWINFO_80211_AX) ? "ax" : "");
return buf;
}
l = sizeof(buf) - (p - buf);
}
}
+ else if (r->is_he)
+ {
+ p += snprintf(p, l, ", HE-MCS %d, %dMHz", r->mcs, r->mhz);
+ l = sizeof(buf) - (p - buf);
+
+ p += snprintf(p, l, ", HE-NSS %d", r->nss);
+ l = sizeof(buf) - (p - buf);
+
+ p += snprintf(p, l, ", HE-GI %d", r->he_gi);
+ l = sizeof(buf) - (p - buf);
+
+ p += snprintf(p, l, ", HE-DCM %d", r->he_dcm);
+ l = sizeof(buf) - (p - buf);
+ }
}
return buf;
}
+static void lookup_path(const struct iwinfo_ops *iw, const char *phy)
+{
+ const char *path;
+
+ if (!iw->phy_path || iw->phy_path(phy, &path) || !path)
+ return;
+
+ printf("%s\n", path);
+}
+
int main(int argc, char **argv)
{
int i, rv = 0;
}
else
{
+ if (!strcmp(argv[2], "path")) {
+ lookup_path(iw, argv[3]);
+ return 0;
+ }
switch (argv[2][0])
{
case 'p':