/* * Copyright 2022 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.6; import @1.0::CommandId; import @1.0::WifiStatus; import @1.4::IWifiRttController; import IWifiRttControllerEventCallback; /** * Interface used to perform RTT(Round trip time) operations. */ interface IWifiRttController extends @1.4::IWifiRttController { /** * Requests notifications of significant events on this rtt controller. * Multiple calls to this must register multiple callbacks each of which must * receive all events. * * @param callback An instance of the |IWifiRttControllerEventCallback| HIDL * interface object. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID| */ registerEventCallback_1_6(IWifiRttControllerEventCallback callback) generates (WifiStatus status); /** * API to request RTT measurement. * * @param cmdId command Id to use for this invocation. * @param rttConfigs Vector of |RttConfig| parameters. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|, * |WifiStatusCode.ERROR_INVALID_ARGS|, * |WifiStatusCode.ERROR_NOT_AVAILABLE|, * |WifiStatusCode.ERROR_UNKNOWN| */ rangeRequest_1_6(CommandId cmdId, vec rttConfigs) generates (WifiStatus status); /** * Get RTT responder information e.g. WiFi channel to enable responder on. * * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|, * |WifiStatusCode.ERROR_NOT_AVAILABLE|, * |WifiStatusCode.ERROR_UNKNOWN| * @return info Instance of |RttResponderInfo|. */ getResponderInfo_1_6() generates (WifiStatus status, RttResponder info); /** * Enable RTT responder mode. * * @param cmdId command Id to use for this invocation. * @parm channelHint Hint of the channel information where RTT responder must * be enabled on. * @param maxDurationInSeconds Timeout of responder mode. * @param info Instance of |RttResponderInfo|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|, * |WifiStatusCode.ERROR_INVALID_ARGS|, * |WifiStatusCode.ERROR_NOT_AVAILABLE|, * |WifiStatusCode.ERROR_UNKNOWN| */ enableResponder_1_6(CommandId cmdId, WifiChannelInfo channelHint, uint32_t maxDurationInSeconds, RttResponder info) generates (WifiStatus status); /** * RTT capabilities of the device. * * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|, * |WifiStatusCode.ERROR_UNKNOWN| * @return capabilities Instance of |RttCapabilities|. */ getCapabilities_1_6() generates (WifiStatus status, RttCapabilities capabilities); };