aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2011-04-08 15:03:17 -0700
committerDmitry Shmidt <dimitrysh@google.com>2011-05-09 14:24:53 -0700
commit0716c12e57090ce9904fb5948da1285fc36c1fe4 (patch)
treea78914fb4bca522ee5af4a7b397303152456ed1b
parent43007fd3a75a07189a11510e131216284b48e098 (diff)
downloadwpa_supplicant_8-0716c12e57090ce9904fb5948da1285fc36c1fe4.tar.gz
wpa_cli: Add 'driver' command support
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
-rw-r--r--wpa_supplicant/wpa_cli.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index 1d27f335..7453a546 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -2352,6 +2352,26 @@ static int wpa_cli_cmd_signal_poll(struct wpa_ctrl *ctrl, int argc,
}
+static int wpa_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
+{
+ char cmd[256];
+ int i;
+ int len;
+
+ if (argc < 1) {
+ printf("Invalid DRIVER command: needs one argument (cmd)\n");
+ return -1;
+ }
+
+ len = os_snprintf(cmd, sizeof(cmd), "DRIVER %s", argv[0]);
+ for (i=1; i < argc; i++)
+ len += os_snprintf(cmd + len, sizeof(cmd) - len, " %s", argv[i]);
+ cmd[sizeof(cmd) - 1] = '\0';
+ printf("%s: %s\n", __func__, cmd);
+ return wpa_ctrl_command(ctrl, cmd);
+}
+
+
enum wpa_cli_cmd_flags {
cli_cmd_flag_none = 0x00,
cli_cmd_flag_sensitive = 0x01
@@ -2679,6 +2699,9 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
{ "signal_poll", wpa_cli_cmd_signal_poll,
cli_cmd_flag_none,
"= get signal parameters" },
+ { "driver", wpa_cli_cmd_driver,
+ cli_cmd_flag_none,
+ "<command> = driver private commands" },
{ NULL, NULL, cli_cmd_flag_none, NULL }
};