aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMDJ <melodydeejay@gmail.com>2012-07-25 13:30:27 +0800
committerMichael Bestas <mikeioannina@gmail.com>2013-04-05 03:49:05 +0300
commit4d11042be9623f74660d930c7bcb82ae6e6fd4df (patch)
treedbb324afdc00044c6dd640e5b612ba4a15636336
parent4d29f0d12afde09b0f84b8220c5ebeadefde9a8d (diff)
downloadexternal_wpa_supplicant_8-4d11042be9623f74660d930c7bcb82ae6e6fd4df.zip
external_wpa_supplicant_8-4d11042be9623f74660d930c7bcb82ae6e6fd4df.tar.gz
external_wpa_supplicant_8-4d11042be9623f74660d930c7bcb82ae6e6fd4df.tar.bz2
wpa_supplicant_8 - Hostapd: Android related changes for sockets
Android related changes for socket handling. Similar to ctrl_iface.c in wpa_supplicant/ctrl_iface.c Ported from jellybean (was Change-Id: I3f72f5e4746ccdd007f647a923d41629afc17d94) http://review.cyanogenmod.org/20317 Signed-off-by: Vishal Mahaveer <a0271468@ti.com> Signed-off-by: Michael Bestas <mikeioannina@gmail.com> Change-Id: Ibf95b753d60e47fa2e04d7b703c40851d2a13875
-rw-r--r--hostapd/Android.mk4
-rw-r--r--hostapd/ctrl_iface.c16
2 files changed, 20 insertions, 0 deletions
diff --git a/hostapd/Android.mk b/hostapd/Android.mk
index 2e12012..374911d 100644
--- a/hostapd/Android.mk
+++ b/hostapd/Android.mk
@@ -43,7 +43,11 @@ endif
# Use Android specific directory for control interface sockets
L_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\"
+ifdef USES_TI_MAC80211
+L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/wpa_supplicant\"
+else
L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/hostapd\"
+endif
# To force sizeof(enum) = 4
ifeq ($(TARGET_ARCH),arm)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
index 1b8bede..d2f53f1 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -14,6 +14,10 @@
#include <sys/stat.h>
#include <stddef.h>
+#ifdef USES_TI_MAC80211
+#include <cutils/sockets.h>
+#endif /* USES_TI_MAC80211 */
+
#include "utils/common.h"
#include "utils/eloop.h"
#include "common/version.h"
@@ -1015,6 +1019,14 @@ int hostapd_ctrl_iface_init(struct hostapd_data *hapd)
if (hapd->conf->ctrl_interface == NULL)
return 0;
+#ifdef USES_TI_MAC80211
+ os_snprintf(addr.sun_path, sizeof(addr.sun_path), "wpa_%s",
+ hapd->conf->ctrl_interface);
+ s = android_get_control_socket(addr.sun_path);
+ if (s >= 0)
+ goto havesock;
+#endif /* USES_TI_MAC80211 */
+
if (mkdir(hapd->conf->ctrl_interface, S_IRWXU | S_IRWXG) < 0) {
if (errno == EEXIST) {
wpa_printf(MSG_DEBUG, "Using existing control "
@@ -1095,6 +1107,10 @@ int hostapd_ctrl_iface_init(struct hostapd_data *hapd)
}
os_free(fname);
+#ifdef USES_TI_MAC80211
+havesock:
+#endif /* USES_TI_MAC80211 */
+
hapd->ctrl_sock = s;
eloop_register_read_sock(s, hostapd_ctrl_iface_receive, hapd,
NULL);