2018-10-26 18:06:00 +02:00
|
|
|
/*
|
|
|
|
* Copyright 2018 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.3;
|
|
|
|
|
|
|
|
import @1.0::WifiStatus;
|
|
|
|
import @1.2::IWifiChip;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Interface that represents a chip that must be configured as a single unit.
|
|
|
|
*/
|
|
|
|
interface IWifiChip extends @1.2::IWifiChip {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Capabilities exposed by this chip.
|
|
|
|
*/
|
|
|
|
enum ChipCapabilityMask : @1.2::IWifiChip.ChipCapabilityMask {
|
|
|
|
/**
|
|
|
|
* Set Latency Mode.
|
|
|
|
*/
|
2018-12-14 08:38:58 +01:00
|
|
|
SET_LATENCY_MODE = 1 << 12,
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Support P2P MAC randomization
|
|
|
|
*/
|
|
|
|
P2P_RAND_MAC = 1 << 13
|
2018-10-26 18:06:00 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the capabilities supported by this chip.
|
|
|
|
*
|
|
|
|
* @return status WifiStatus of the operation.
|
|
|
|
* Possible status codes:
|
|
|
|
* |WifiStatusCode.SUCCESS|,
|
|
|
|
* |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
|
|
|
|
* |WifiStatusCode.ERROR_NOT_AVAILABLE|,
|
|
|
|
* |WifiStatusCode.ERROR_UNKNOWN|
|
|
|
|
* @return capabilities Bitset of |ChipCapabilityMask| values.
|
|
|
|
*/
|
|
|
|
getCapabilities_1_3()
|
|
|
|
generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This enum represents the different latency modes that can be set through
|
|
|
|
* setLatencyMode()
|
|
|
|
*/
|
|
|
|
enum LatencyMode : uint32_t {
|
|
|
|
NORMAL = 0,
|
|
|
|
LOW = 1
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* API to set the wifi latency mode
|
|
|
|
*
|
2019-03-22 01:04:23 +01:00
|
|
|
* The latency mode is a hint to the HAL to enable or disable Wi-Fi latency
|
|
|
|
* optimization. The optimization should be enabled if the mode is set to |LOW|
|
|
|
|
* and should be disabled if the mode is set to |NORMAL|.
|
|
|
|
* Wi-Fi latency optimization may trade-off latency against other Wi-Fi
|
|
|
|
* functionality such as scanning, roaming, etc. but it should not result in
|
|
|
|
* completely halting this functionality.
|
|
|
|
*
|
|
|
|
* The low latency mode targets applications such as gaming and virtual reality.
|
2018-10-26 18:06:00 +02:00
|
|
|
*/
|
|
|
|
setLatencyMode(LatencyMode mode) generates (WifiStatus status);
|
2018-11-02 08:34:39 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* API to flush debug ring buffer data to files.
|
|
|
|
*
|
|
|
|
* Force flush debug ring buffer using IBase::debug.
|
|
|
|
* This API help to collect firmware/driver/pkt logs.
|
|
|
|
*
|
|
|
|
* @return status WifiStatus of the operation.
|
|
|
|
* Possible status codes:
|
|
|
|
* |WifiStatusCode.SUCCESS|,
|
|
|
|
* |WifiStatusCode.UNKNOWN|
|
|
|
|
*/
|
|
|
|
flushRingBufferToFile() generates (WifiStatus status);
|
2018-10-26 18:06:00 +02:00
|
|
|
};
|