iwinfo: expose available HT rates

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2016-06-30 00:36:01 +02:00
parent f8174eacef
commit 23417e94d2

View file

@ -226,6 +226,41 @@ rpc_iwinfo_call_encryption(const char *name)
rpc_iwinfo_add_encryption(name, &crypto); rpc_iwinfo_add_encryption(name, &crypto);
} }
static void
rpc_iwinfo_call_htmodes(const char *name)
{
int modes;
void *c;
if (!iw->htmodelist(ifname, &modes))
{
c = blobmsg_open_array(&buf, name);
if (modes & IWINFO_HTMODE_HT20)
blobmsg_add_string(&buf, NULL, "HT20");
if (modes & IWINFO_HTMODE_HT40)
blobmsg_add_string(&buf, NULL, "HT40");
if (modes & IWINFO_HTMODE_VHT20)
blobmsg_add_string(&buf, NULL, "VHT20");
if (modes & IWINFO_HTMODE_VHT40)
blobmsg_add_string(&buf, NULL, "VHT40");
if (modes & IWINFO_HTMODE_VHT80)
blobmsg_add_string(&buf, NULL, "VHT80");
if (modes & IWINFO_HTMODE_VHT80_80)
blobmsg_add_string(&buf, NULL, "VHT80+80");
if (modes & IWINFO_HTMODE_VHT160)
blobmsg_add_string(&buf, NULL, "VHT160");
blobmsg_close_array(&buf, c);
}
}
static void static void
rpc_iwinfo_call_hwmodes(const char *name) rpc_iwinfo_call_hwmodes(const char *name)
{ {
@ -303,6 +338,7 @@ rpc_iwinfo_info(struct ubus_context *ctx, struct ubus_object *obj,
rpc_iwinfo_call_int("bitrate", iw->bitrate, NULL); rpc_iwinfo_call_int("bitrate", iw->bitrate, NULL);
rpc_iwinfo_call_encryption("encryption"); rpc_iwinfo_call_encryption("encryption");
rpc_iwinfo_call_htmodes("htmodes");
rpc_iwinfo_call_hwmodes("hwmodes"); rpc_iwinfo_call_hwmodes("hwmodes");
c = blobmsg_open_table(&buf, "hardware"); c = blobmsg_open_table(&buf, "hardware");