blob: 129c258104bec39d089eabaa2180554f4cd9006a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
/*
* 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<uint8_t> data;
};
/**
* Structure describing all the information about a single access point seen
* during the scan.
*/
struct ScanResult {
int64_t timeStampInUs;
vec<uint8_t> ssid;
Bssid bssid;
int8_t rssi;
WifiChannelInMhz frequency;
uint16_t beaconPeriodInMs;
uint16_t capability;
vec<InformationElement> 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<ScanResult> 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<ScanData> scanDatas);
};
|