summaryrefslogtreecommitdiff
path: root/wireless.c
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-02-17 12:12:26 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-02-17 15:12:50 +0100
commitb5cfcfe34e6b44f2be90bf24e879dc25f0f07b9e (patch)
treee6e48509c03565a6402e66d5a3c7f32d1ddde04c /wireless.c
parent0244609f376d6b11b98c9488b964fa9133e250fa (diff)
downloadnetifd-b5cfcfe34e6b44f2be90bf24e879dc25f0f07b9e.tar.gz
wireless: add a "get_validate" methode to ubus
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'wireless.c')
-rw-r--r--wireless.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/wireless.c b/wireless.c
index 9a68e01..d886bf2 100644
--- a/wireless.c
+++ b/wireless.c
@@ -701,6 +701,30 @@ wireless_device_status(struct wireless_device *wdev, struct blob_buf *b)
blobmsg_close_table(b, c);
}
+void
+wireless_device_get_validate(struct wireless_device *wdev, struct blob_buf *b)
+{
+ struct uci_blob_param_list *p;
+ void *c, *d;
+ int i;
+
+ c = blobmsg_open_table(b, wdev->name);
+
+ d = blobmsg_open_table(b, "device");
+ p = wdev->drv->device.config;
+ for (i = 0; i < p->n_params; i++)
+ blobmsg_add_string(b, p->params[i].name, uci_get_validate_string(p, i));
+ blobmsg_close_table(b, d);
+
+ d = blobmsg_open_table(b, "interface");
+ p = wdev->drv->interface.config;
+ for (i = 0; i < p->n_params; i++)
+ blobmsg_add_string(b, p->params[i].name, uci_get_validate_string(p, i));
+ blobmsg_close_table(b, d);
+
+ blobmsg_close_table(b, c);
+}
+
static void
wireless_interface_set_data(struct wireless_interface *vif)
{