diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-03-16 15:04:31 -0700 |
---|---|---|
committer | Dmitry Shmidt <dimitrysh@google.com> | 2011-05-09 14:24:52 -0700 |
commit | 696359e14f6a38ce3cecb98021562c0252021960 (patch) | |
tree | fd1892cb6b3f5fb0952ab1417735aa5a00ca9301 /wpa_supplicant/wpa_cli.c | |
parent | 657a704326e96437d8edaf37fcb6c354b7114358 (diff) | |
download | external_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.c | 61 |
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" }, |