1/* 2 * Copyright 2020 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.5; 18 19import @1.0::CommandIdShort; 20import @1.0::WifiStatus; 21import @1.4::IWifiNanIface; 22import @1.4::NanConfigRequest; 23import @1.4::NanEnableRequest; 24import IWifiNanIfaceEventCallback; 25import NanConfigRequestSupplemental; 26 27/** 28 * Interface used to represent a single NAN (Neighbour Aware Network) iface. 29 * 30 * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness 31 * Networking (NAN) Technical Specification". 32 */ 33interface IWifiNanIface extends @1.4::IWifiNanIface { 34 /** 35 * Enable NAN: configures and activates NAN clustering (does not start 36 * a discovery session or set up data-interfaces or data-paths). Use the 37 * |IWifiNanIface.configureRequest| method to change the configuration of an already enabled 38 * NAN interface. 39 * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyEnableResponse|. 40 * 41 * Note: supersedes the @1.4::IWifiNanIface.enableRequest() method which is deprecated as of 42 * HAL version 1.5. 43 * 44 * @param cmdId command Id to use for this invocation. 45 * @param msg1 Instance of |NanEnableRequest|. 46 * @param msg2 Instance of |NanConfigRequestSupplemental|. 47 * @return status WifiStatus of the operation. 48 * Possible status codes: 49 * |WifiStatusCode.SUCCESS|, 50 * |WifiStatusCode.ERROR_NOT_SUPPORTED|, 51 * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, 52 * |WifiStatusCode.ERROR_INVALID_ARGS|, 53 * |WifiStatusCode.ERROR_UNKNOWN| 54 */ 55 enableRequest_1_5(CommandIdShort cmdId, NanEnableRequest msg1, 56 NanConfigRequestSupplemental msg2) generates (WifiStatus status); 57 58 /** 59 * Configure NAN: configures an existing NAN functionality (i.e. assumes 60 * |IWifiNanIface.enableRequest| already submitted and succeeded). 61 * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyConfigResponse|. 62 * 63 * Note: supersedes the @1.4::IWifiNanIface.configRequest() method which is deprecated as of 64 * HAL version 1.5. 65 * 66 * @param cmdId command Id to use for this invocation. 67 * @param msg1 Instance of |NanConfigRequest|. 68 * @param msg2 Instance of |NanConfigRequestSupplemental|. 69 * @return status WifiStatus of the operation. 70 * Possible status codes: 71 * |WifiStatusCode.SUCCESS|, 72 * |WifiStatusCode.ERROR_NOT_SUPPORTED|, 73 * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, 74 * |WifiStatusCode.ERROR_INVALID_ARGS|, 75 * |WifiStatusCode.ERROR_UNKNOWN| 76 */ 77 configRequest_1_5(CommandIdShort cmdId, NanConfigRequest msg1, 78 NanConfigRequestSupplemental msg2) generates (WifiStatus status); 79 80 /** 81 * Requests notifications of significant events on this iface. Multiple calls 82 * to this must register multiple callbacks each of which must receive all 83 * events. 84 * 85 * Note: supersedes the @1.2::IWifiNanIface.registerEventCallback() method which is deprecated 86 * as of HAL version 1.5. 87 * 88 * @param callback An instance of the |IWifiNanIfaceEventCallback| HIDL interface 89 * object. 90 * @return status WifiStatus of the operation. 91 * Possible status codes: 92 * |WifiStatusCode.SUCCESS|, 93 * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID| 94 */ 95 registerEventCallback_1_5(IWifiNanIfaceEventCallback callback) generates (WifiStatus status); 96 97 /** 98 * Get NAN capabilities. Asynchronous response is with 99 * |IWifiNanIfaceEventCallback.notifyCapabilitiesResponse|. 100 * 101 * Note: supersedes the @1.0::IWifiNanIface.getCapabilitiesRequest() method which is deprecated 102 * as of HAL version 1.5. 103 * 104 * @param cmdId command Id to use for this invocation. 105 * @return status WifiStatus of the operation. 106 * Possible status codes: 107 * |WifiStatusCode.SUCCESS|, 108 * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, 109 * |WifiStatusCode.ERROR_UNKNOWN| 110 */ 111 getCapabilitiesRequest_1_5(CommandIdShort cmdId) generates (WifiStatus status); 112}; 113