wpa_cli: Add 'driver' command support

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index 1d27f33..7453a54 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -2352,6 +2352,26 @@
 }
 
 
+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 @@
 	{ "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 }
 };