aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/wpa_cli.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2011-03-16 15:04:31 -0700
committerDmitry Shmidt <dimitrysh@google.com>2011-05-09 14:24:52 -0700
commit696359e14f6a38ce3cecb98021562c0252021960 (patch)
treefd1892cb6b3f5fb0952ab1417735aa5a00ca9301 /wpa_supplicant/wpa_cli.c
parent657a704326e96437d8edaf37fcb6c354b7114358 (diff)
downloadexternal_wpa_supplicant_8-696359e14f6a38ce3cecb98021562c0252021960.zip
external_wpa_supplicant_8-696359e14f6a38ce3cecb98021562c0252021960.tar.gz
external_wpa_supplicant_8-696359e14f6a38ce3cecb98021562c0252021960.tar.bz2
wpa_cli: Add blacklist and log_level commands
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'wpa_supplicant/wpa_cli.c')
-rw-r--r--wpa_supplicant/wpa_cli.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index a1db53a..1d27f33 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -1220,6 +1220,58 @@ static int wpa_cli_cmd_bssid(struct wpa_ctrl *ctrl, int argc, char *argv[])
}
+static int wpa_cli_cmd_blacklist(struct wpa_ctrl *ctrl, int argc, char *argv[])
+{
+ char cmd[256], *pos, *end;
+ int i, ret;
+
+ end = cmd + sizeof(cmd);
+ pos = cmd;
+ ret = os_snprintf(pos, end - pos, "BLACKLIST");
+ if (ret < 0 || ret >= end - pos) {
+ printf("Too long BLACKLIST command.\n");
+ return -1;
+ }
+ pos += ret;
+ for (i = 0; i < argc; i++) {
+ ret = os_snprintf(pos, end - pos, " %s", argv[i]);
+ if (ret < 0 || ret >= end - pos) {
+ printf("Too long BLACKLIST command.\n");
+ return -1;
+ }
+ pos += ret;
+ }
+
+ return wpa_ctrl_command(ctrl, cmd);
+}
+
+
+static int wpa_cli_cmd_log_level(struct wpa_ctrl *ctrl, int argc, char *argv[])
+{
+ char cmd[256], *pos, *end;
+ int i, ret;
+
+ end = cmd + sizeof(cmd);
+ pos = cmd;
+ ret = os_snprintf(pos, end - pos, "LOG_LEVEL");
+ if (ret < 0 || ret >= end - pos) {
+ printf("Too long LOG_LEVEL command.\n");
+ return -1;
+ }
+ pos += ret;
+ for (i = 0; i < argc; i++) {
+ ret = os_snprintf(pos, end - pos, " %s", argv[i]);
+ if (ret < 0 || ret >= end - pos) {
+ printf("Too long LOG_LEVEL command.\n");
+ return -1;
+ }
+ pos += ret;
+ }
+
+ return wpa_ctrl_command(ctrl, cmd);
+}
+
+
static int wpa_cli_cmd_list_networks(struct wpa_ctrl *ctrl, int argc,
char *argv[])
{
@@ -2388,6 +2440,15 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
{ "bssid", wpa_cli_cmd_bssid,
cli_cmd_flag_none,
"<network id> <BSSID> = set preferred BSSID for an SSID" },
+ { "blacklist", wpa_cli_cmd_blacklist,
+ cli_cmd_flag_none,
+ "<BSSID> = add a BSSID to the blacklist\n"
+ "blacklist clear = clear the blacklist\n"
+ "blacklist = display the blacklist" },
+ { "log_level", wpa_cli_cmd_log_level,
+ cli_cmd_flag_none,
+ "<level> [<timestamp>] = update the log level/timestamp of wpa_supplicant\n"
+ "log_level = display the current log level and log options" },
{ "list_networks", wpa_cli_cmd_list_networks,
cli_cmd_flag_none,
"= list configured networks" },