aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/wpa_cli.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-01-04 11:10:41 (GMT)
committerJouni Malinen <j@w1.fi>2014-01-07 08:45:10 (GMT)
commit1f965e622a5351ee50d00bbc7285ec84bb2af1c7 (patch)
tree518c4440062d473a6dbbabace9370e716db86ff4 /wpa_supplicant/wpa_cli.c
parente766f56643f91cc1071d5a5ed43582cb404ec5a8 (diff)
downloadhostap-1f965e622a5351ee50d00bbc7285ec84bb2af1c7.zip
hostap-1f965e622a5351ee50d00bbc7285ec84bb2af1c7.tar.gz
hostap-1f965e622a5351ee50d00bbc7285ec84bb2af1c7.tar.bz2
Allow external programs to request wpa_radio work items
The new control interface command RADIO_WORK can be used by external programs to request radio allocation slots from wpa_supplicant if exclusive radio control is needed, e.g., for offchannel operations. If such operations are done directly to the driver, wpa_supplicant may not have enough information to avoid conflicting operations. This new command can be used to provide enough information and radio scheduling to avoid issues with such cases. Signed-hostap: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'wpa_supplicant/wpa_cli.c')
-rw-r--r--wpa_supplicant/wpa_cli.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index aabaa3c..6e2a3ef 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -2426,6 +2426,12 @@ static int wpa_cli_cmd_flush(struct wpa_ctrl *ctrl, int argc, char *argv[])
}
+static int wpa_cli_cmd_radio_work(struct wpa_ctrl *ctrl, int argc, char *argv[])
+{
+ return wpa_cli_cmd(ctrl, "RADIO_WORK", 1, argc, argv);
+}
+
+
enum wpa_cli_cmd_flags {
cli_cmd_flag_none = 0x00,
cli_cmd_flag_sensitive = 0x01
@@ -2893,6 +2899,8 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
{ "driver", wpa_cli_cmd_driver, NULL, cli_cmd_flag_none,
"<command> = driver private commands" },
#endif /* ANDROID */
+ { "radio_work", wpa_cli_cmd_radio_work, NULL, cli_cmd_flag_none,
+ "= radio_work <show/add/done>" },
{ NULL, NULL, NULL, cli_cmd_flag_none, NULL }
};