summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinit Deshpande <vinitd@google.com>2015-03-27 21:51:10 +0000
committerAndroid Partner Code Review <android-gerrit-partner@google.com>2015-03-27 21:51:11 +0000
commit4c50959717fcf4b5bf10721b4dda0d2c2f423eaf (patch)
tree6a2e6005c4df8386a01ffded9e5345ce33ac508d
parent3fabb28c4b19ea110aee0fde881c7dc315980b16 (diff)
parent28e08ed5cf06ac99ccd4e0213664e5c33bdaf099 (diff)
downloadhardware_libhardware_legacy-4c50959717fcf4b5bf10721b4dda0d2c2f423eaf.zip
hardware_libhardware_legacy-4c50959717fcf4b5bf10721b4dda0d2c2f423eaf.tar.gz
hardware_libhardware_legacy-4c50959717fcf4b5bf10721b4dda0d2c2f423eaf.tar.bz2
Merge "HAL API to offload passpoint match to wifi chipset" into m-wireless-dev
-rw-r--r--include/hardware_legacy/gscan.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/hardware_legacy/gscan.h b/include/hardware_legacy/gscan.h
index 463c4c1..3d7d5da 100644
--- a/include/hardware_legacy/gscan.h
+++ b/include/hardware_legacy/gscan.h
@@ -422,5 +422,31 @@ typedef struct {
wifi_error wifi_set_bssid_preference(wifi_request_id id, wifi_interface_handle iface,
int num_bssid, wifi_bssid_preference *prefs);
+typedef struct {
+ int id; // identifier of this network block, report this in event
+ char realm[256]; // null terminated UTF8 encoded realm, 0 if unspecified
+ int64_t roamingConsortiumIds[16]; // roaming consortium ids to match, 0s if unspecified
+ byte plmn[3]; // mcc/mnc combination as per rules, 0s if unspecified
+} wifi_passpoint_network;
+
+typedef struct {
+ void (*on_passpoint_network_found)(
+ wifi_request_id id,
+ int net_id, // network block identifier for the matched network
+ wifi_scan_result *result, // scan result, with channel and beacon information
+ int anqp_len, // length of ANQP blob
+ byte *anqp // ANQP data, in the information_element format
+ );
+} wifi_passpoint_event_handler;
+
+/* Sets a list for passpoint networks for PNO purposes; it should be matched
+ * against any passpoint networks (designated by Interworking element) found
+ * during regular PNO scan. */
+wifi_error wifi_set_passpoint_list(wifi_request_id id, wifi_interface_handle iface, int num,
+ wifi_passpoint_network *networks, wifi_passpoint_event_handler handler);
+
+/* Reset passpoint network list - no Passpoint networks should be matched after this */
+wifi_error wifi_reset_passpoint_list(wifi_request_id id, wifi_interface_handle iface);
+
#endif