You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
261 lines
10 KiB
261 lines
10 KiB
/* |
|
* Copyright 2016 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.0; |
|
|
|
import IWifiIface; |
|
import IWifiNanIfaceEventCallback; |
|
|
|
/** |
|
* Interface used to represent a single NAN(Neighbour Aware Network) iface. |
|
* |
|
* References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness |
|
* Networking (NAN) Technical Specification". |
|
*/ |
|
interface IWifiNanIface extends IWifiIface { |
|
/** |
|
* Requests notifications of significant events on this iface. Multiple calls |
|
* to this must register multiple callbacks each of which must receive all |
|
* events. |
|
* |
|
* @param callback An instance of the |IWifiNanIfaceEventCallback| HIDL interface |
|
* object. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID| |
|
*/ |
|
registerEventCallback(IWifiNanIfaceEventCallback callback) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Get NAN capabilities. Asynchronous response is with |
|
* |IWifiNanIfaceEventCallback.notifyCapabilitiesResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
getCapabilitiesRequest(CommandIdShort cmdId) generates (WifiStatus status); |
|
|
|
/** |
|
* Enable NAN: configures and activates NAN clustering (does not start |
|
* a discovery session or set up data-interfaces or data-paths). Use the |
|
* |IWifiNanIface.configureRequest| method to change the configuration of an already enabled |
|
* NAN interface. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyEnableResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanEnableRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
enableRequest(CommandIdShort cmdId, NanEnableRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Configure NAN: configures an existing NAN functionality (i.e. assumes |
|
* |IWifiNanIface.enableRequest| already submitted and succeeded). |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyConfigResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanConfigRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
configRequest(CommandIdShort cmdId, NanConfigRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Disable NAN functionality. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyDisableResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
disableRequest(CommandIdShort cmdId) generates (WifiStatus status); |
|
|
|
/** |
|
* Publish request to start advertising a discovery service. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStartPublishResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanPublishRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
startPublishRequest(CommandIdShort cmdId, NanPublishRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Stop publishing a discovery service. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStopPublishResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param sessionId ID of the publish discovery session to be stopped. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
stopPublishRequest(CommandIdShort cmdId, uint8_t sessionId) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Subscribe request to start searching for a discovery service. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStartSubscribeResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanSubscribeRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
startSubscribeRequest(CommandIdShort cmdId, NanSubscribeRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Stop subscribing to a discovery service. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStopSubscribeResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param sessionId ID of the subscribe discovery session to be stopped. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
stopSubscribeRequest(CommandIdShort cmdId, uint8_t sessionId) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* NAN transmit follow up message request. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyTransmitFollowupResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanTransmitFollowupRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
transmitFollowupRequest(CommandIdShort cmdId, NanTransmitFollowupRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Create a NAN Data Interface. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyCreateDataInterfaceResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
createDataInterfaceRequest(CommandIdShort cmdId, string ifaceName) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Delete a NAN Data Interface. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyDeleteDataInterfaceResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
deleteDataInterfaceRequest(CommandIdShort cmdId, string ifaceName) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Initiate a data-path (NDP) setup operation: Initiator. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyInitiateDataPathResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanInitiateDataPathRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
initiateDataPathRequest(CommandIdShort cmdId, NanInitiateDataPathRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Respond to a received data indication as part of a data-path (NDP) setup operation. An |
|
* indication is received by the Responder from the Initiator. |
|
* Asynchronous response is with |
|
* |IWifiNanIfaceEventCallback.notifyRespondToDataPathIndicationResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param msg Instance of |NanRespondToDataPathIndicationRequest|. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_INVALID_ARGS|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
respondToDataPathIndicationRequest(CommandIdShort cmdId, |
|
NanRespondToDataPathIndicationRequest msg) |
|
generates (WifiStatus status); |
|
|
|
/** |
|
* Data-path (NDP) termination request: executed by either Initiator or Responder. |
|
* Asynchronous response is with |IWifiNanIfaceEventCallback.notifyTerminateDataPathResponse|. |
|
* |
|
* @param cmdId command Id to use for this invocation. |
|
* @param ndpInstanceId Data-path instance ID to be terminated. |
|
* @return status WifiStatus of the operation. |
|
* Possible status codes: |
|
* |WifiStatusCode.SUCCESS|, |
|
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
|
* |WifiStatusCode.ERROR_UNKNOWN| |
|
*/ |
|
terminateDataPathRequest(CommandIdShort cmdId, uint32_t ndpInstanceId) |
|
generates (WifiStatus status); |
|
};
|
|
|