blob: 74d527d832681c5212ced6271c7dd4945eb56dc8 [file] [log] [blame]
Ahmed ElArabawy7d975e92018-10-26 09:06:00 -07001/*
2 * Copyright 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.hardware.wifi@1.3;
18
19import @1.0::WifiStatus;
20import @1.2::IWifiChip;
21
22/**
23 * Interface that represents a chip that must be configured as a single unit.
24 */
25interface IWifiChip extends @1.2::IWifiChip {
26
27 /**
28 * Capabilities exposed by this chip.
29 */
30 enum ChipCapabilityMask : @1.2::IWifiChip.ChipCapabilityMask {
31 /**
32 * Set Latency Mode.
33 */
34 SET_LATENCY_MODE = 1 << 12
35 };
36
37 /**
38 * Get the capabilities supported by this chip.
39 *
40 * @return status WifiStatus of the operation.
41 * Possible status codes:
42 * |WifiStatusCode.SUCCESS|,
43 * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
44 * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
45 * |WifiStatusCode.ERROR_UNKNOWN|
46 * @return capabilities Bitset of |ChipCapabilityMask| values.
47 */
48 getCapabilities_1_3()
49 generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities);
50
51 /**
52 * This enum represents the different latency modes that can be set through
53 * setLatencyMode()
54 */
55 enum LatencyMode : uint32_t {
56 NORMAL = 0,
57 LOW = 1
58 };
59
60 /**
61 * API to set the wifi latency mode
62 *
63 * Latency mode determines whether or not to optimize for reducing wifi
64 * latency as a tradeoff with other wifi functionality such as scanning,
65 * roaming, etc. This optimization is suitable for some applications such
66 * as gaming and virtual reality applications.
67 */
68 setLatencyMode(LatencyMode mode) generates (WifiStatus status);
69};