aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2012-07-21 00:48:19 +0300
committerArik Nemtsov <arik@wizery.com>2012-08-02 13:04:01 +0300
commitf7a1a0e0c350b461d222a2416934e3ce55d9b306 (patch)
tree32fcce9efee1b8d6dcc15565a405f26793e70373
parent7d265efb895e1ca8eefe3fb4c60d702c0bea26df (diff)
downloadexternal_wpa_supplicant_8_ti-f7a1a0e0c350b461d222a2416934e3ce55d9b306.zip
external_wpa_supplicant_8_ti-f7a1a0e0c350b461d222a2416934e3ce55d9b306.tar.gz
external_wpa_supplicant_8_ti-f7a1a0e0c350b461d222a2416934e3ce55d9b306.tar.bz2
Prep work to configure a prioritized interface (BRCM)
Add a new configurable property which points to the interface name that should prioritized in case of resolving connection conflicts. (This appears to be prep work which doesn't get used however we include it to better align with JB) Signed-off-by: Eyal Shapira <eyal@wizery.com>
-rw-r--r--src/ap/ap_config.c3
-rw-r--r--src/ap/ap_config.h3
-rw-r--r--wpa_supplicant/config.c6
-rw-r--r--wpa_supplicant/config.h13
4 files changed, 25 insertions, 0 deletions
diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
index ec9e17d..b9e1c5f 100644
--- a/src/ap/ap_config.c
+++ b/src/ap/ap_config.c
@@ -474,6 +474,9 @@ static void hostapd_config_free_bss(struct hostapd_bss_config *conf)
}
#endif /* CONFIG_IEEE80211R */
+#ifdef ANDROID_P2P
+ os_free(conf->prioritize);
+#endif
#ifdef CONFIG_WPS
os_free(conf->wps_pin_requests);
os_free(conf->device_name);
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
index a203599..4e10a0f 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -315,6 +315,9 @@ struct hostapd_bss_config {
u8 uuid[16];
char *wps_pin_requests;
char *device_name;
+#ifdef ANDROID_P2P
+ char *prioritize;
+#endif
char *manufacturer;
char *model_name;
char *model_number;
diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
index b254585..17952fc 100644
--- a/wpa_supplicant/config.c
+++ b/wpa_supplicant/config.c
@@ -1908,6 +1908,9 @@ void wpa_config_free(struct wpa_config *config)
wpabuf_free(config->wps_nfc_dh_pubkey);
wpabuf_free(config->wps_nfc_dh_privkey);
wpabuf_free(config->wps_nfc_dev_pw);
+#ifdef ANDROID_P2P
+ os_free(config->prioritize);
+#endif
os_free(config);
}
@@ -2965,6 +2968,9 @@ static const struct global_parse_data global_fields[] = {
{ INT(p2p_group_idle), 0 },
{ FUNC(p2p_pref_chan), CFG_CHANGED_P2P_PREF_CHAN },
#endif /* CONFIG_P2P */
+#ifdef ANDROID_P2P
+ { STR_RANGE(prioritize, 0, 32), CFG_CHANGED_IFACE_PRIORITY },
+#endif
{ FUNC(country), CFG_CHANGED_COUNTRY },
{ INT(bss_max_count), 0 },
{ INT(bss_expiration_age), 0 },
diff --git a/wpa_supplicant/config.h b/wpa_supplicant/config.h
index 94f5986..caa051e 100644
--- a/wpa_supplicant/config.h
+++ b/wpa_supplicant/config.h
@@ -171,6 +171,9 @@ struct wpa_cred {
#define CFG_CHANGED_P2P_LISTEN_CHANNEL BIT(11)
#define CFG_CHANGED_P2P_OPER_CHANNEL BIT(12)
#define CFG_CHANGED_P2P_PREF_CHAN BIT(13)
+#ifdef ANDROID_P2P
+#define CFG_CHANGED_IFACE_PRIORITY BIT(14)
+#endif
/**
* struct wpa_config - wpa_supplicant configuration data
@@ -694,6 +697,16 @@ struct wpa_config {
* sched_scan_num_short_intervals - see sched_scan_short_interval
*/
int sched_scan_num_short_intervals;
+
+#ifdef ANDROID_P2P
+ /**
+ * prioritize - Prioritize an Interface
+ * Interface name of the interface that needs to be proritized; Useful
+ * for resolving conflicts in connection. up to 16 octets encoded in
+ * UTF-8
+ */
+ char *prioritize;
+#endif
};