/* * Copyright 2016 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@1.0; interface IWifiStaIfaceEventCallback { /** * Information elements contained within the |ScanResult| structure. * These elements correspond to the IEEE_802.11 standard. */ struct InformationElement { uint8_t id; vec data; }; /** * Structure describing all the information about a single access point seen * during the scan. */ struct ScanResult { int64_t timeStampInUs; vec ssid; Bssid bssid; int8_t rssi; WifiChannelInMhz frequency; uint16_t beaconPeriodInMs; uint16_t capability; vec informationElements; }; /** * Mask of flags set in the |ScanData| instance. */ enum ScanDataFlagMask { /** * Indicates that a scan was interrupted/did not occur so results may be * incomplete. */ WIFI_SCAN_FLAG_INTERRUPTED = 1 << 0, }; /** * Structure describing all the information about all the access points seen during * the scan. */ struct ScanData { /** * Bitset containing |ScanDataFlagMask| values. */ uint32_t flags; /** * Bitset where each bit indicates if the bucket with that index was * scanned. */ uint32_t bucketsScanned; /** * List of scan results. */ vec results; }; /** * Callback indicating that an ongoing background scan request has failed. * The background scan needs to be restarted to continue scanning. */ oneway onBackgroundScanFailure(CommandId cmdId); /** * Called for each received beacon/probe response for a scan with the * |REPORT_EVENTS_FULL_RESULTS| flag set in * |BackgroundScanBucketParameters.eventReportScheme|. * * @param cmdId command Id corresponding to the request. * @parm result Full scan result for an AP. */ oneway onBackgroundFullScanResult(CommandId cmdId, ScanResult result); /** * Called when the |BackgroundScanBucketParameters.eventReportScheme| flags * for at least one bucket that was just scanned was * |REPORT_EVENTS_EACH_SCAN| or one of the configured thresholds was * breached. * * @param cmdId command Id corresponding to the request. * @parm scanDatas List of scan result for all AP's seen since last callback. */ oneway onBackgroundScanResults(CommandId cmdId, vec scanDatas); };