platform_hardware_interfaces/wifi/1.0/IWifiNanIface.hal
Etan Cohen ccb1562771 [AWARE] Remove support for vendor-specific attributes
Vendor-specific attribute support API is not fully functional or
thought out. The Tx portion is working but the Rx portion requires
additional configuration to prevent spamming the framework with all
vendor-specific attributes.

Remove until full solution is designed.

Bug: 35193235
Test: unit tests and integration (sl4a) tests.
Change-Id: I31a601af3b2c1f9f736130ce00abf73c55ac086a
2017-02-09 12:30:18 -08:00

243 lines
8.9 KiB
Text

/*
* 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.
*/
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.
*
* @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
* |configureRequest| method to change the configuration of an already enabled
* NAN interface.
*
* @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
* |enableRequest| already submitted and succeeded).
*
* @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.
*
* @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.
*
* @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.
*
* @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, uint16_t sessionId)
generates (WifiStatus status);
/**
* Subscribe request to start searching for a discovery service.
*
* @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.
*
* @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, uint16_t sessionId)
generates (WifiStatus status);
/**
* NAN transmit follow up message request.
*
* @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.
*
* @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.
*
* @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.
*
* @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.
*
* @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.
*
* @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);
};