1/* 2 * Copyright 2019 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.4; 18 19import @1.0::CommandIdShort; 20import @1.0::WifiStatus; 21import @1.2::IWifiNanIface; 22import @1.2::NanConfigRequestSupplemental; 23import NanConfigRequest; 24import NanEnableRequest; 25 26/** 27 * Interface used to represent a single NAN (Neighbour Aware Network) iface. 28 * 29 * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness 30 * Networking (NAN) Technical Specification". 31 */ 32interface IWifiNanIface extends @1.2::IWifiNanIface { 33 /** 34 * Enable NAN: configures and activates NAN clustering (does not start 35 * a discovery session or set up data-interfaces or data-paths). Use the 36 * |IWifiNanIface.configureRequest| method to change the configuration of an already enabled 37 * NAN interface. 38 * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyEnableResponse|. 39 * 40 * Note: supersedes the @1.2::IWifiNanIface.enableRequest() method which is deprecated as of 41 * HAL version 1.4. 42 * 43 * @param cmdId command Id to use for this invocation. 44 * @param msg1 Instance of |NanEnableRequest|. 45 * @param msg2 Instance of |NanConfigRequestSupplemental|. 46 * @return status WifiStatus of the operation. 47 * Possible status codes: 48 * |WifiStatusCode.SUCCESS|, 49 * |WifiStatusCode.ERROR_NOT_SUPPORTED|, 50 * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, 51 * |WifiStatusCode.ERROR_INVALID_ARGS|, 52 * |WifiStatusCode.ERROR_UNKNOWN| 53 */ 54 enableRequest_1_4(CommandIdShort cmdId, NanEnableRequest msg1, 55 NanConfigRequestSupplemental msg2) generates (WifiStatus status); 56 57 /** 58 * Configure NAN: configures an existing NAN functionality (i.e. assumes 59 * |IWifiNanIface.enableRequest| already submitted and succeeded). 60 * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyConfigResponse|. 61 * 62 * Note: supersedes the @1.2::IWifiNanIface.configRequest() method which is deprecated as of 63 * HAL version 1.4. 64 * 65 * @param cmdId command Id to use for this invocation. 66 * @param msg1 Instance of |NanConfigRequest|. 67 * @param msg1 Instance of |NanConfigRequestSupplemental|. 68 * @return status WifiStatus of the operation. 69 * Possible status codes: 70 * |WifiStatusCode.SUCCESS|, 71 * |WifiStatusCode.ERROR_NOT_SUPPORTED|, 72 * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, 73 * |WifiStatusCode.ERROR_INVALID_ARGS|, 74 * |WifiStatusCode.ERROR_UNKNOWN| 75 */ 76 configRequest_1_4(CommandIdShort cmdId, NanConfigRequest msg1, 77 NanConfigRequestSupplemental msg2) generates (WifiStatus status); 78}; 79