external/wpa_supplicant_6
Revision | eee21e1de8514a43f3e9089c136e7e27cc27a9fc (tree) |
---|---|
Time | 2011-03-23 01:55:48 |
Author | Dmitry Shmidt <dimitrysh@goog...> |
Commiter | Dmitry Shmidt |
Add SCAN_INTERVAL command and remove system property access
Change-Id: Ia6fcdc44cf65b861d978f851bbe79b09b015d3c2
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
@@ -424,6 +424,17 @@ static int wpa_supplicant_ctrl_iface_bssid(struct wpa_supplicant *wpa_s, | ||
424 | 424 | } |
425 | 425 | |
426 | 426 | #ifdef ANDROID |
427 | +static int wpa_supplicant_ctrl_iface_scan_interval( | |
428 | + struct wpa_supplicant *wpa_s, char *cmd) | |
429 | +{ | |
430 | + int scan_int = atoi(cmd); | |
431 | + if (scan_int < 0) | |
432 | + return -1; | |
433 | + wpa_s->scan_interval = scan_int; | |
434 | + return 0; | |
435 | +} | |
436 | + | |
437 | + | |
427 | 438 | static int wpa_supplicant_ctrl_iface_blacklist( |
428 | 439 | struct wpa_supplicant *wpa_s, char *cmd, char *buf, size_t buflen) |
429 | 440 | { |
@@ -1737,6 +1748,9 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s, | ||
1737 | 1748 | if (wpa_supplicant_ctrl_iface_bssid(wpa_s, buf + 6)) |
1738 | 1749 | reply_len = -1; |
1739 | 1750 | #ifdef ANDROID |
1751 | + } else if (os_strncmp(buf, "SCAN_INTERVAL ", 14) == 0) { | |
1752 | + reply_len = wpa_supplicant_ctrl_iface_scan_interval( | |
1753 | + wpa_s, buf + 14); | |
1740 | 1754 | } else if (os_strncmp(buf, "BLACKLIST", 9) == 0) { |
1741 | 1755 | reply_len = wpa_supplicant_ctrl_iface_blacklist( |
1742 | 1756 | wpa_s, buf + 9, reply, reply_size); |
@@ -748,6 +748,26 @@ static int wpa_cli_cmd_bssid(struct wpa_ctrl *ctrl, int argc, char *argv[]) | ||
748 | 748 | |
749 | 749 | |
750 | 750 | #ifdef ANDROID |
751 | +static int wpa_cli_cmd_scan_interval(struct wpa_ctrl *ctrl, int argc, | |
752 | + char *argv[]) | |
753 | +{ | |
754 | + char cmd[256]; | |
755 | + int res; | |
756 | + | |
757 | + if (argc != 1) { | |
758 | + printf("Invalid SCAN_INTERVAL command: needs one argument " | |
759 | + "scan_interval value)\n"); | |
760 | + return -1; | |
761 | + } | |
762 | + res = os_snprintf(cmd, sizeof(cmd), "SCAN_INTERVAL %s", argv[0]); | |
763 | + if (res < 0 || (size_t) res >= sizeof(cmd) - 1) { | |
764 | + printf("Too long SCAN_INTERVAL command.\n"); | |
765 | + return -1; | |
766 | + } | |
767 | + return wpa_ctrl_command(ctrl, cmd); | |
768 | +} | |
769 | + | |
770 | + | |
751 | 771 | static int wpa_cli_cmd_blacklist(struct wpa_ctrl *ctrl, int argc, char *argv[]) |
752 | 772 | { |
753 | 773 | char cmd[256], *pos, *end; |
@@ -1262,6 +1282,9 @@ static struct wpa_cli_cmd wpa_cli_commands[] = { | ||
1262 | 1282 | cli_cmd_flag_none, |
1263 | 1283 | "<network id> <BSSID> = set preferred BSSID for an SSID" }, |
1264 | 1284 | #ifdef ANDROID |
1285 | + { "scan_interval", wpa_cli_cmd_scan_interval, | |
1286 | + cli_cmd_flag_none, | |
1287 | + "<value> = set scan_interval parameter" }, | |
1265 | 1288 | { "blacklist", wpa_cli_cmd_blacklist, |
1266 | 1289 | cli_cmd_flag_none, |
1267 | 1290 | "<BSSID> = add a BSSID to the blacklist\n" |
@@ -39,9 +39,6 @@ | ||
39 | 39 | #include "blacklist.h" |
40 | 40 | #include "wpas_glue.h" |
41 | 41 | #include "wps_supplicant.h" |
42 | -#ifdef ANDROID | |
43 | -#include <cutils/properties.h> | |
44 | -#endif | |
45 | 42 | |
46 | 43 | const char *wpa_supplicant_version = |
47 | 44 | "wpa_supplicant v" VERSION_STR "\n" |
@@ -1733,7 +1730,9 @@ static struct wpa_supplicant * wpa_supplicant_alloc(void) | ||
1733 | 1730 | if (wpa_s == NULL) |
1734 | 1731 | return NULL; |
1735 | 1732 | wpa_s->scan_req = 1; |
1736 | - | |
1733 | +#ifdef ANDROID | |
1734 | + wpa_s->scan_interval = 5; | |
1735 | +#endif | |
1737 | 1736 | return wpa_s; |
1738 | 1737 | } |
1739 | 1738 |
@@ -2005,16 +2004,6 @@ struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global *global, | ||
2005 | 2004 | return NULL; |
2006 | 2005 | } |
2007 | 2006 | |
2008 | -#ifdef ANDROID | |
2009 | - char scan_prop[PROPERTY_VALUE_MAX]; | |
2010 | - char *endp; | |
2011 | - if (property_get("wifi.supplicant_scan_interval", scan_prop, "6") != 0) { | |
2012 | - wpa_s->scan_interval = (int)strtol(scan_prop, &endp, 0); | |
2013 | - if (endp == scan_prop) { | |
2014 | - wpa_s->scan_interval = 6; | |
2015 | - } | |
2016 | - } | |
2017 | -#endif | |
2018 | 2007 | wpa_s->next = global->ifaces; |
2019 | 2008 | global->ifaces = wpa_s; |
2020 | 2009 |