diff options
author | Vinit Deshpande <vinitd@google.com> | 2015-03-11 14:41:31 -0700 |
---|---|---|
committer | Vinit Deshpande <vinitd@google.com> | 2015-03-27 11:41:58 -0700 |
commit | 28e08ed5cf06ac99ccd4e0213664e5c33bdaf099 (patch) | |
tree | 0be1b1e1dcb83e9fa42f0e1d4295eeecceea411f | |
parent | 3e778d3b8acf9ec3ce76d32255ae2b1aec3ac7d1 (diff) | |
download | platform_hardware_libhardware_legacy-28e08ed5cf06ac99ccd4e0213664e5c33bdaf099.tar.gz platform_hardware_libhardware_legacy-28e08ed5cf06ac99ccd4e0213664e5c33bdaf099.tar.bz2 platform_hardware_libhardware_legacy-28e08ed5cf06ac99ccd4e0213664e5c33bdaf099.zip |
HAL API to offload passpoint match to wifi chipset
This change introduces wifi_set_passpoint_list and wifi_reset_passpoint_list
which implement the functionality of offloading passpoint match to
the chipset firmware.
Change-Id: I8a3730d4e23891b1dce47b8cf877e9b3c04ac279
-rw-r--r-- | include/hardware_legacy/gscan.h | 26 |
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 |