diff options
author | Vinit Deshpande <vinitd@google.com> | 2015-03-06 13:55:43 -0800 |
---|---|---|
committer | Vinit Deshpande <vinitd@google.com> | 2015-03-06 13:55:43 -0800 |
commit | 316f28d5e1d1f9c75e37da6942268b65e9e9962e (patch) | |
tree | c871c77e5f4b2c95dd10fb79e6aa35fe395346be | |
parent | 7f7a807c4c8c3559e21d0a9b9f1ffdcb4b66ea40 (diff) | |
parent | 04cfb272f41e662e871f77aba429d2a0cf93f9d5 (diff) | |
download | hardware_libhardware_legacy-316f28d5e1d1f9c75e37da6942268b65e9e9962e.zip hardware_libhardware_legacy-316f28d5e1d1f9c75e37da6942268b65e9e9962e.tar.gz hardware_libhardware_legacy-316f28d5e1d1f9c75e37da6942268b65e9e9962e.tar.bz2 |
am "introduce ssid whitelist"
merged from partner/m-wireless-wifi-dev
04cfb27 introduce ssid whitelist
-rw-r--r-- | include/hardware_legacy/gscan.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/include/hardware_legacy/gscan.h b/include/hardware_legacy/gscan.h index 2e72130..5d62dd9 100644 --- a/include/hardware_legacy/gscan.h +++ b/include/hardware_legacy/gscan.h @@ -251,7 +251,7 @@ typedef struct { typedef struct { int network_index; // index of the network found in the pno list - char ssid[32]; + char ssid[32+1]; // null terminated wifi_channel channel; int rssi; } wifi_epno_result; @@ -268,5 +268,34 @@ typedef struct { wifi_error wifi_set_epno_list(wifi_request_id id, wifi_interface_handle iface, int num_networks, wifi_epno_network *networks, wifi_epno_handler handler); + +/* SSID white list */ +/* Note that this feature requires firmware to be able to indicate to kernel sme and wpa_supplicant + * that the SSID of the network has changed + * and thus requires further changed in cfg80211 stack, for instance, the below function would change: + + void __cfg80211_roamed(struct wireless_dev *wdev, + struct cfg80211_bss *bss, + const u8 *req_ie, size_t req_ie_len, + const u8 *resp_ie, size_t resp_ie_len) + * when firmware roam to a new SSID the corresponding link layer stats info need to be updated: + struct wifi_interface_link_layer_info; + */ +typedef struct { + char ssid[32+1]; // null terminated +} wifi_ssid; + +wifi_error wifi_set_ssid_white_list(wifi_request_id id, wifi_interface_handle iface, + int num_networks, wifi_ssid *ssids); + +typedef struct { + int max_number_epno_networks_by_crc32; //max number of epno entries if crc32 is specified + int max_number_epno_networks_by_ssid; //max number of epno entries if ssid is specified + int max_number_of_white_losted_ssid; //max number of white listed SSIDs, M target is 2 to 4 */ +} wifi_roam_autojoin_offload_capabilities; + +wifi_error wifi_get_roam_autojoin_offload_capabilities(wifi_interface_handle handle, + wifi_roam_autojoin_offload_capabilities *capabilities); + #endif |