Add 'signal_poll' command interface
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
This commit is contained in:
parent
746bba1a5e
commit
60b24b0de4
2 changed files with 33 additions and 0 deletions
|
@ -2870,6 +2870,26 @@ static int wpa_supplicant_ctrl_iface_sta_autoconnect(
|
|||
}
|
||||
|
||||
|
||||
static int wpa_supplicant_signal_poll(struct wpa_supplicant *wpa_s, char *buf,
|
||||
size_t buflen)
|
||||
{
|
||||
struct wpa_signal_info si;
|
||||
int ret;
|
||||
|
||||
ret = wpa_drv_signal_poll(wpa_s, &si);
|
||||
if (ret)
|
||||
return -1;
|
||||
|
||||
ret = os_snprintf(buf, buflen, "RSSI=%d\nLINKSPEED=%d\n"
|
||||
"NOISE=%d\nFREQUENCY=%u\n",
|
||||
si.current_signal, si.current_txrate / 1000,
|
||||
si.current_noise, si.frequency);
|
||||
if (ret < 0 || (unsigned int) ret > buflen)
|
||||
return -1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
|
||||
char *buf, size_t *resp_len)
|
||||
{
|
||||
|
@ -3262,6 +3282,9 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
|
|||
if (wpa_supplicant_ctrl_iface_tdls_teardown(wpa_s, buf + 14))
|
||||
reply_len = -1;
|
||||
#endif /* CONFIG_TDLS */
|
||||
} else if (os_strncmp(buf, "SIGNAL_POLL", 11) == 0) {
|
||||
reply_len = wpa_supplicant_signal_poll(wpa_s, reply,
|
||||
reply_size);
|
||||
} else {
|
||||
os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
|
||||
reply_len = 16;
|
||||
|
|
|
@ -2293,6 +2293,13 @@ static int wpa_cli_cmd_tdls_teardown(struct wpa_ctrl *ctrl, int argc,
|
|||
}
|
||||
|
||||
|
||||
static int wpa_cli_cmd_signal_poll(struct wpa_ctrl *ctrl, int argc,
|
||||
char *argv[])
|
||||
{
|
||||
return wpa_ctrl_command(ctrl, "SIGNAL_POLL");
|
||||
}
|
||||
|
||||
|
||||
enum wpa_cli_cmd_flags {
|
||||
cli_cmd_flag_none = 0x00,
|
||||
cli_cmd_flag_sensitive = 0x01
|
||||
|
@ -2608,6 +2615,9 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
|
|||
{ "tdls_teardown", wpa_cli_cmd_tdls_teardown,
|
||||
cli_cmd_flag_none,
|
||||
"<addr> = tear down TDLS with <addr>" },
|
||||
{ "signal_poll", wpa_cli_cmd_signal_poll,
|
||||
cli_cmd_flag_none,
|
||||
"= get signal parameters" },
|
||||
{ NULL, NULL, cli_cmd_flag_none, NULL }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue