diff options
Diffstat (limited to 'wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal')
| -rw-r--r-- | wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal index 77423ed46..471744195 100644 --- a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal +++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal @@ -105,6 +105,40 @@ interface ISupplicantStaIfaceCallback { }; /** + * OSU Method. Refer to section 4.8.1.3 of the Hotspot 2.0 spec. + */ + enum OsuMethod : uint8_t { + OMA_DM = 0, + SOAP_XML_SPP = 1 + }; + + /** + * ANQP data for IEEE Std 802.11u-2011. + * The format of the data within these elements follows the IEEE + * Std 802.11u-2011 standard. + */ + struct AnqpData { + vec<uint8_t> venueName; + vec<uint8_t> roamingConsortium; + vec<uint8_t> ipAddrTypeAvailability; + vec<uint8_t> naiRealm; + vec<uint8_t> anqp3gppCellularNetwork; + vec<uint8_t> domainName; + }; + + /** + * ANQP data for Hotspot 2.0. + * The format of the data within these elements follows the Hotspot 2.0 + * standard. + */ + struct Hs20AnqpData { + vec<uint8_t> operatorFriendlyName; + vec<uint8_t> wanMetrics; + vec<uint8_t> connectionCapability; + vec<uint8_t> osuProvidersList; + }; + + /** * Used to indicate that a new network has been added. * * @param id Network ID allocated to the corresponding network. @@ -138,4 +172,49 @@ interface ISupplicantStaIfaceCallback { */ oneway onStateChanged( State newState, Bssid bssid, SupplicantNetworkId id, Ssid ssid); + + /** + * Used to indicate the result of ANQP (either for IEEE 802.11u Interworking + * or Hotspot 2.0) query. + * + * @param macAddress MAC address of the access point. + * @param data ANQP data fetched from the access point. + * All the fields in this struct must be empty if the query failed. + * @param hs20Data ANQP data fetched from the Hotspot 2.0 access point. + * All the fields in this struct must be empty if the query failed. + */ + oneway onAnqpQueryDone(MacAddress macAddress, + AnqpData data, + Hs20AnqpData hs20Data); + + /** + * Used to indicate the result of Hotspot 2.0 Icon query. + * + * @param macAddress MAC address of the access point. + * @param fileName Name of the file that was requested. + * @param data Icon data fetched from the access point. + * Must be empty if the query failed. + */ + oneway onHs20IconQueryDone(MacAddress macAddress, + string fileName, + vec<uint8_t> data); + + /** + * Used to indicate a Hotspot 2.0 subscription remediation event. + * + * @param osuMethod OSU method. + * @param url URL of the server. + */ + oneway onHs20SubscriptionRemediation(OsuMethod osuMethod, string url); + + /** + * Used to indicate a Hotspot 2.0 imminent deauth notice. + * @param code Code to indicate the deauth reason. + * Refer to section 3.2.1.2 of the Hotspot 2.0 spec. + * @param reAuthDelayInSec Delay before reauthenticating. + * @param url URL of the server. + */ + oneway onHs20DeauthImminentNotice(uint32_t code, + uint32_t reAuthDelayInSec, + string url); }; |
