blob: efcebdac00f1625648e41a1a49bc3252bcef3bcd [file] [log] [blame]
/*
* Copyright 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.wifi.supplicant@1.4;
import @1.0::ISupplicantStaIfaceCallback.AnqpData;
import @1.0::ISupplicantStaIfaceCallback.Hs20AnqpData;
import @1.3::ISupplicantStaIfaceCallback;
import @1.0::ISupplicantStaIfaceCallback.State;
import @1.0::Bssid;
/**
* Callback Interface exposed by the supplicant service
* for each station mode interface (ISupplicantStaIface).
*
* Clients need to host an instance of this HIDL interface object and
* pass a reference of the object to the supplicant via the
* corresponding |ISupplicantStaIface.registerCallback_1_4| method.
*/
interface ISupplicantStaIfaceCallback extends @1.3::ISupplicantStaIfaceCallback {
/**
* ANQP data for IEEE Std 802.11-2016.
* The format of the data within these elements follows the IEEE
* Std 802.11-2016 standard, section 9.4.5.
*/
struct AnqpData {
/**
* Baseline information as defined in HAL 1.0.
*/
@1.0::ISupplicantStaIfaceCallback.AnqpData V1_0;
/*
* Container for v1.0 of this struct
*/
vec<uint8_t> venueUrl;
};
/**
* Used to indicate a Hotspot 2.0 terms and conditions acceptance is requested from the user
* before allowing the device to get internet access.
*
* @param bssid BSSID of the access point.
* @param url URL of the T&C server.
*/
oneway onHs20TermsAndConditionsAcceptanceRequestedNotification(Bssid bssid, string url);
/**
* Used to indicate the result of ANQP (either for IEEE 802.11u Interworking
* or Hotspot 2.0) query.
*
* @param bssid BSSID 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_1_4(Bssid bssid, AnqpData data, Hs20AnqpData hs20Data);
};