Merge "Camera: Delete streams after successful configuration"
diff --git a/audio/2.0/Android.bp b/audio/2.0/Android.bp
index 007dc8a..69ff791 100644
--- a/audio/2.0/Android.bp
+++ b/audio/2.0/Android.bp
@@ -19,14 +19,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0",
srcs: [
- "types.hal",
- "IDevice.hal",
- "IDevicesFactory.hal",
- "IPrimaryDevice.hal",
- "IStream.hal",
- "IStreamIn.hal",
- "IStreamOut.hal",
- "IStreamOutCallback.hal",
+ ":android.hardware.audio@2.0_hal",
],
out: [
"android/hardware/audio/2.0/types.cpp",
@@ -45,14 +38,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0",
srcs: [
- "types.hal",
- "IDevice.hal",
- "IDevicesFactory.hal",
- "IPrimaryDevice.hal",
- "IStream.hal",
- "IStreamIn.hal",
- "IStreamOut.hal",
- "IStreamOutCallback.hal",
+ ":android.hardware.audio@2.0_hal",
],
out: [
"android/hardware/audio/2.0/types.h",
diff --git a/audio/2.0/Android.mk b/audio/2.0/Android.mk
index f8767ec..e989364 100644
--- a/audio/2.0/Android.mk
+++ b/audio/2.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.audio@2.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/audio/2.0/IStreamIn.hal b/audio/2.0/IStreamIn.hal
index e34c95f..6f1f9df 100644
--- a/audio/2.0/IStreamIn.hal
+++ b/audio/2.0/IStreamIn.hal
@@ -91,7 +91,11 @@
* to the client;
* -- status queue is used for reporting operation status
* (e.g. amount of bytes actually read or error code).
- * The driver operates on a dedicated thread.
+ *
+ * The driver operates on a dedicated thread. The client must ensure that
+ * the thread is given an appropriate priority and assigned to correct
+ * scheduler and cgroup. For this purpose, the method returns identifiers
+ * of the driver thread.
*
* @param frameSize the size of a single frame, in bytes.
* @param framesCount the number of frames in a buffer.
@@ -105,15 +109,15 @@
* specified at the stream opening.
* @return statusMQ a message queue used for passing status from the driver
* using ReadStatus structures.
+ * @return threadInfo identifiers of the driver's dedicated thread.
*/
- prepareForReading(
- uint32_t frameSize, uint32_t framesCount,
- ThreadPriority threadPriority)
+ prepareForReading(uint32_t frameSize, uint32_t framesCount)
generates (
Result retval,
fmq_sync<ReadParameters> commandMQ,
fmq_sync<uint8_t> dataMQ,
- fmq_sync<ReadStatus> statusMQ);
+ fmq_sync<ReadStatus> statusMQ,
+ ThreadInfo threadInfo);
/*
* Return the amount of input frames lost in the audio driver since the last
diff --git a/audio/2.0/IStreamOut.hal b/audio/2.0/IStreamOut.hal
index 2ec080d..9ee32c5 100644
--- a/audio/2.0/IStreamOut.hal
+++ b/audio/2.0/IStreamOut.hal
@@ -85,11 +85,14 @@
* to the driver;
* -- status queue is used for reporting operation status
* (e.g. amount of bytes actually written or error code).
- * The driver operates on a dedicated thread.
+ *
+ * The driver operates on a dedicated thread. The client must ensure that
+ * the thread is given an appropriate priority and assigned to correct
+ * scheduler and cgroup. For this purpose, the method returns identifiers
+ * of the driver thread.
*
* @param frameSize the size of a single frame, in bytes.
* @param framesCount the number of frames in a buffer.
- * @param threadPriority priority of the driver thread.
* @return retval OK if both message queues were created successfully.
* INVALID_STATE if the method was already called.
* INVALID_ARGUMENTS if there was a problem setting up
@@ -99,15 +102,15 @@
* specified at the stream opening.
* @return statusMQ a message queue used for passing status from the driver
* using WriteStatus structures.
+ * @return threadInfo identifiers of the driver's dedicated thread.
*/
- prepareForWriting(
- uint32_t frameSize, uint32_t framesCount,
- ThreadPriority threadPriority)
+ prepareForWriting(uint32_t frameSize, uint32_t framesCount)
generates (
Result retval,
fmq_sync<WriteCommand> commandMQ,
fmq_sync<uint8_t> dataMQ,
- fmq_sync<WriteStatus> statusMQ);
+ fmq_sync<WriteStatus> statusMQ,
+ ThreadInfo threadInfo);
/*
* Return the number of audio frames written by the audio DSP to DAC since
diff --git a/audio/2.0/default/Android.mk b/audio/2.0/default/Android.mk
index eeea92c..cbeda35 100644
--- a/audio/2.0/default/Android.mk
+++ b/audio/2.0/default/Android.mk
@@ -38,7 +38,6 @@
libhidltransport \
libhwbinder \
liblog \
- libmediautils \
libutils \
android.hardware.audio@2.0 \
android.hardware.audio.common@2.0 \
diff --git a/audio/2.0/default/StreamIn.cpp b/audio/2.0/default/StreamIn.cpp
index 9c49170..a8229d3 100644
--- a/audio/2.0/default/StreamIn.cpp
+++ b/audio/2.0/default/StreamIn.cpp
@@ -20,7 +20,6 @@
#include <android/log.h>
#include <hardware/audio.h>
-#include <mediautils/SchedulingPolicyService.h>
#include <utils/Trace.h>
#include "StreamIn.h"
@@ -33,6 +32,8 @@
namespace V2_0 {
namespace implementation {
+using ::android::hardware::audio::common::V2_0::ThreadInfo;
+
namespace {
class ReadThread : public Thread {
@@ -43,8 +44,7 @@
StreamIn::CommandMQ* commandMQ,
StreamIn::DataMQ* dataMQ,
StreamIn::StatusMQ* statusMQ,
- EventFlag* efGroup,
- ThreadPriority threadPriority)
+ EventFlag* efGroup)
: Thread(false /*canCallJava*/),
mStop(stop),
mStream(stream),
@@ -52,13 +52,10 @@
mDataMQ(dataMQ),
mStatusMQ(statusMQ),
mEfGroup(efGroup),
- mThreadPriority(threadPriority),
mBuffer(new uint8_t[dataMQ->getQuantumCount()]) {
}
virtual ~ReadThread() {}
- status_t readyToRun() override;
-
private:
std::atomic<bool>* mStop;
audio_stream_in_t* mStream;
@@ -66,7 +63,6 @@
StreamIn::DataMQ* mDataMQ;
StreamIn::StatusMQ* mStatusMQ;
EventFlag* mEfGroup;
- ThreadPriority mThreadPriority;
std::unique_ptr<uint8_t[]> mBuffer;
IStreamIn::ReadParameters mParameters;
IStreamIn::ReadStatus mStatus;
@@ -77,16 +73,6 @@
void doRead();
};
-status_t ReadThread::readyToRun() {
- if (mThreadPriority != ThreadPriority::NORMAL) {
- int err = requestPriority(
- getpid(), getTid(), static_cast<int>(mThreadPriority), true /*asynchronous*/);
- ALOGW_IF(err, "failed to set priority %d for pid %d tid %d; error %d",
- static_cast<int>(mThreadPriority), getpid(), getTid(), err);
- }
- return OK;
-}
-
void ReadThread::doRead() {
size_t availableToWrite = mDataMQ->availableToWrite();
size_t requestedToRead = mParameters.params.read;
@@ -119,7 +105,7 @@
while(!std::atomic_load_explicit(mStop, std::memory_order_acquire)) {
// TODO: Remove manual event flag handling once blocking MQ is implemented. b/33815422
uint32_t efState = 0;
- mEfGroup->wait(static_cast<uint32_t>(MessageQueueFlagBits::NOT_FULL), &efState, NS_PER_SEC);
+ mEfGroup->wait(static_cast<uint32_t>(MessageQueueFlagBits::NOT_FULL), &efState);
if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::NOT_FULL))) {
continue; // Nothing to do.
}
@@ -313,14 +299,14 @@
}
Return<void> StreamIn::prepareForReading(
- uint32_t frameSize, uint32_t framesCount, ThreadPriority threadPriority,
- prepareForReading_cb _hidl_cb) {
+ uint32_t frameSize, uint32_t framesCount, prepareForReading_cb _hidl_cb) {
status_t status;
+ ThreadInfo threadInfo = { 0, 0 };
// Create message queues.
if (mDataMQ) {
ALOGE("the client attempts to call prepareForReading twice");
_hidl_cb(Result::INVALID_STATE,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
std::unique_ptr<CommandMQ> tempCommandMQ(new CommandMQ(1));
@@ -332,7 +318,7 @@
ALOGE_IF(!tempDataMQ->isValid(), "data MQ is invalid");
ALOGE_IF(!tempStatusMQ->isValid(), "status MQ is invalid");
_hidl_cb(Result::INVALID_ARGUMENTS,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
// TODO: Remove event flag management once blocking MQ is implemented. b/33815422
@@ -340,7 +326,7 @@
if (status != OK || !mEfGroup) {
ALOGE("failed creating event flag for data MQ: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
@@ -351,20 +337,23 @@
tempCommandMQ.get(),
tempDataMQ.get(),
tempStatusMQ.get(),
- mEfGroup,
- threadPriority);
+ mEfGroup);
status = mReadThread->run("reader", PRIORITY_URGENT_AUDIO);
if (status != OK) {
ALOGW("failed to start reader thread: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
mCommandMQ = std::move(tempCommandMQ);
mDataMQ = std::move(tempDataMQ);
mStatusMQ = std::move(tempStatusMQ);
- _hidl_cb(Result::OK, *mCommandMQ->getDesc(), *mDataMQ->getDesc(), *mStatusMQ->getDesc());
+ threadInfo.pid = getpid();
+ threadInfo.tid = mReadThread->getTid();
+ _hidl_cb(Result::OK,
+ *mCommandMQ->getDesc(), *mDataMQ->getDesc(), *mStatusMQ->getDesc(),
+ threadInfo);
return Void();
}
diff --git a/audio/2.0/default/StreamIn.h b/audio/2.0/default/StreamIn.h
index 3566430..b867387 100644
--- a/audio/2.0/default/StreamIn.h
+++ b/audio/2.0/default/StreamIn.h
@@ -44,7 +44,6 @@
using ::android::hardware::audio::V2_0::IStreamIn;
using ::android::hardware::audio::V2_0::ParameterValue;
using ::android::hardware::audio::V2_0::Result;
-using ::android::hardware::audio::V2_0::ThreadPriority;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::hardware::hidl_vec;
@@ -89,8 +88,7 @@
Return<void> getAudioSource(getAudioSource_cb _hidl_cb) override;
Return<Result> setGain(float gain) override;
Return<void> prepareForReading(
- uint32_t frameSize, uint32_t framesCount, ThreadPriority threadPriority,
- prepareForReading_cb _hidl_cb) override;
+ uint32_t frameSize, uint32_t framesCount, prepareForReading_cb _hidl_cb) override;
Return<uint32_t> getInputFramesLost() override;
Return<void> getCapturePosition(getCapturePosition_cb _hidl_cb) override;
Return<Result> start() override;
diff --git a/audio/2.0/default/StreamOut.cpp b/audio/2.0/default/StreamOut.cpp
index 6e46db2..6ccdbcd 100644
--- a/audio/2.0/default/StreamOut.cpp
+++ b/audio/2.0/default/StreamOut.cpp
@@ -20,7 +20,6 @@
#include <android/log.h>
#include <hardware/audio.h>
-#include <mediautils/SchedulingPolicyService.h>
#include <utils/Trace.h>
#include "StreamOut.h"
@@ -31,6 +30,8 @@
namespace V2_0 {
namespace implementation {
+using ::android::hardware::audio::common::V2_0::ThreadInfo;
+
namespace {
class WriteThread : public Thread {
@@ -41,8 +42,7 @@
StreamOut::CommandMQ* commandMQ,
StreamOut::DataMQ* dataMQ,
StreamOut::StatusMQ* statusMQ,
- EventFlag* efGroup,
- ThreadPriority threadPriority)
+ EventFlag* efGroup)
: Thread(false /*canCallJava*/),
mStop(stop),
mStream(stream),
@@ -50,13 +50,10 @@
mDataMQ(dataMQ),
mStatusMQ(statusMQ),
mEfGroup(efGroup),
- mThreadPriority(threadPriority),
mBuffer(new uint8_t[dataMQ->getQuantumCount()]) {
}
virtual ~WriteThread() {}
- status_t readyToRun() override;
-
private:
std::atomic<bool>* mStop;
audio_stream_out_t* mStream;
@@ -64,7 +61,6 @@
StreamOut::DataMQ* mDataMQ;
StreamOut::StatusMQ* mStatusMQ;
EventFlag* mEfGroup;
- ThreadPriority mThreadPriority;
std::unique_ptr<uint8_t[]> mBuffer;
IStreamOut::WriteStatus mStatus;
@@ -75,16 +71,6 @@
void doWrite();
};
-status_t WriteThread::readyToRun() {
- if (mThreadPriority != ThreadPriority::NORMAL) {
- int err = requestPriority(
- getpid(), getTid(), static_cast<int>(mThreadPriority), true /*asynchronous*/);
- ALOGW_IF(err, "failed to set priority %d for pid %d tid %d; error %d",
- static_cast<int>(mThreadPriority), getpid(), getTid(), err);
- }
- return OK;
-}
-
void WriteThread::doWrite() {
const size_t availToRead = mDataMQ->availableToRead();
mStatus.retval = Result::OK;
@@ -117,8 +103,7 @@
while(!std::atomic_load_explicit(mStop, std::memory_order_acquire)) {
// TODO: Remove manual event flag handling once blocking MQ is implemented. b/33815422
uint32_t efState = 0;
- mEfGroup->wait(
- static_cast<uint32_t>(MessageQueueFlagBits::NOT_EMPTY), &efState, NS_PER_SEC);
+ mEfGroup->wait(static_cast<uint32_t>(MessageQueueFlagBits::NOT_EMPTY), &efState);
if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::NOT_EMPTY))) {
continue; // Nothing to do.
}
@@ -297,14 +282,14 @@
}
Return<void> StreamOut::prepareForWriting(
- uint32_t frameSize, uint32_t framesCount, ThreadPriority threadPriority,
- prepareForWriting_cb _hidl_cb) {
+ uint32_t frameSize, uint32_t framesCount, prepareForWriting_cb _hidl_cb) {
status_t status;
+ ThreadInfo threadInfo = { 0, 0 };
// Create message queues.
if (mDataMQ) {
ALOGE("the client attempts to call prepareForWriting twice");
_hidl_cb(Result::INVALID_STATE,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
std::unique_ptr<CommandMQ> tempCommandMQ(new CommandMQ(1));
@@ -316,7 +301,7 @@
ALOGE_IF(!tempDataMQ->isValid(), "data MQ is invalid");
ALOGE_IF(!tempStatusMQ->isValid(), "status MQ is invalid");
_hidl_cb(Result::INVALID_ARGUMENTS,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
// TODO: Remove event flag management once blocking MQ is implemented. b/33815422
@@ -324,7 +309,7 @@
if (status != OK || !mEfGroup) {
ALOGE("failed creating event flag for data MQ: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
@@ -335,20 +320,23 @@
tempCommandMQ.get(),
tempDataMQ.get(),
tempStatusMQ.get(),
- mEfGroup,
- threadPriority);
+ mEfGroup);
status = mWriteThread->run("writer", PRIORITY_URGENT_AUDIO);
if (status != OK) {
ALOGW("failed to start writer thread: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor(), threadInfo);
return Void();
}
mCommandMQ = std::move(tempCommandMQ);
mDataMQ = std::move(tempDataMQ);
mStatusMQ = std::move(tempStatusMQ);
- _hidl_cb(Result::OK, *mCommandMQ->getDesc(), *mDataMQ->getDesc(), *mStatusMQ->getDesc());
+ threadInfo.pid = getpid();
+ threadInfo.tid = mWriteThread->getTid();
+ _hidl_cb(Result::OK,
+ *mCommandMQ->getDesc(), *mDataMQ->getDesc(), *mStatusMQ->getDesc(),
+ threadInfo);
return Void();
}
diff --git a/audio/2.0/default/StreamOut.h b/audio/2.0/default/StreamOut.h
index 6616557..bbe64a1 100644
--- a/audio/2.0/default/StreamOut.h
+++ b/audio/2.0/default/StreamOut.h
@@ -45,7 +45,6 @@
using ::android::hardware::audio::V2_0::IStreamOutCallback;
using ::android::hardware::audio::V2_0::ParameterValue;
using ::android::hardware::audio::V2_0::Result;
-using ::android::hardware::audio::V2_0::ThreadPriority;
using ::android::hardware::audio::V2_0::TimeSpec;
using ::android::hardware::Return;
using ::android::hardware::Void;
@@ -91,8 +90,7 @@
Return<uint32_t> getLatency() override;
Return<Result> setVolume(float left, float right) override;
Return<void> prepareForWriting(
- uint32_t frameSize, uint32_t framesCount, ThreadPriority threadPriority,
- prepareForWriting_cb _hidl_cb) override;
+ uint32_t frameSize, uint32_t framesCount, prepareForWriting_cb _hidl_cb) override;
Return<void> getRenderPosition(getRenderPosition_cb _hidl_cb) override;
Return<void> getNextWriteTimestamp(getNextWriteTimestamp_cb _hidl_cb) override;
Return<Result> setCallback(const sp<IStreamOutCallback>& callback) override;
diff --git a/audio/2.0/default/service.cpp b/audio/2.0/default/service.cpp
index 646d898..8b608c8 100644
--- a/audio/2.0/default/service.cpp
+++ b/audio/2.0/default/service.cpp
@@ -33,11 +33,20 @@
using android::hardware::registerPassthroughServiceImplementation;
using android::hardware::broadcastradio::V1_0::IBroadcastRadioFactory;
+using android::OK;
+
int main(int /* argc */, char* /* argv */ []) {
configureRpcThreadpool(16, true /*callerWillJoin*/);
- registerPassthroughServiceImplementation<IDevicesFactory>("audio_devices_factory");
- registerPassthroughServiceImplementation<IEffectsFactory>("audio_effects_factory");
- registerPassthroughServiceImplementation<ISoundTriggerHw>("sound_trigger.primary");
- registerPassthroughServiceImplementation<IBroadcastRadioFactory>("broadcastradio");
+ android::status_t status;
+ status = registerPassthroughServiceImplementation<IDevicesFactory>("audio_devices_factory");
+ LOG_ALWAYS_FATAL_IF(status != OK, "Error while registering audio service: %d", status);
+ status = registerPassthroughServiceImplementation<IEffectsFactory>("audio_effects_factory");
+ LOG_ALWAYS_FATAL_IF(status != OK, "Error while registering audio effects service: %d", status);
+ // Soundtrigger and FM radio might be not present.
+ status = registerPassthroughServiceImplementation<ISoundTriggerHw>("sound_trigger.primary");
+ ALOGE_IF(status != OK, "Error while registering soundtrigger service: %d", status);
+ status = registerPassthroughServiceImplementation<IBroadcastRadioFactory>("broadcastradio");
+ ALOGE_IF(status != OK, "Error while registering fm radio service: %d", status);
joinRpcThreadpool();
+ return status;
}
diff --git a/audio/2.0/types.hal b/audio/2.0/types.hal
index 8fc4314..8e9ff14 100644
--- a/audio/2.0/types.hal
+++ b/audio/2.0/types.hal
@@ -98,12 +98,3 @@
NOT_EMPTY = 1 << 0,
NOT_FULL = 1 << 1
};
-
-/*
- * The priority of threads executing reads and writes of audio data.
- */
-enum ThreadPriority : int32_t {
- NORMAL = 0,
- FAST_CAPTURE = 3,
- FAST_MIXER = 3
-};
diff --git a/audio/common/2.0/Android.bp b/audio/common/2.0/Android.bp
index 8c14995..5330086 100644
--- a/audio/common/2.0/Android.bp
+++ b/audio/common/2.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0",
srcs: [
- "types.hal",
+ ":android.hardware.audio.common@2.0_hal",
],
out: [
"android/hardware/audio/common/2.0/types.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0",
srcs: [
- "types.hal",
+ ":android.hardware.audio.common@2.0_hal",
],
out: [
"android/hardware/audio/common/2.0/types.h",
diff --git a/audio/common/2.0/Android.mk b/audio/common/2.0/Android.mk
index 423fe35..7d62779 100644
--- a/audio/common/2.0/Android.mk
+++ b/audio/common/2.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.audio.common@2.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/audio/common/2.0/types.hal b/audio/common/2.0/types.hal
index 63d66db..ae7f545 100644
--- a/audio/common/2.0/types.hal
+++ b/audio/common/2.0/types.hal
@@ -933,3 +933,8 @@
AudioPortSessionExt session;
} ext;
};
+
+struct ThreadInfo {
+ int64_t pid;
+ int64_t tid;
+};
diff --git a/audio/effect/2.0/Android.bp b/audio/effect/2.0/Android.bp
index 29bc890..83a702a 100644
--- a/audio/effect/2.0/Android.bp
+++ b/audio/effect/2.0/Android.bp
@@ -26,21 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0",
srcs: [
- "types.hal",
- "IAcousticEchoCancelerEffect.hal",
- "IAutomaticGainControlEffect.hal",
- "IBassBoostEffect.hal",
- "IDownmixEffect.hal",
- "IEffect.hal",
- "IEffectBufferProviderCallback.hal",
- "IEffectsFactory.hal",
- "IEnvironmentalReverbEffect.hal",
- "IEqualizerEffect.hal",
- "ILoudnessEnhancerEffect.hal",
- "INoiseSuppressionEffect.hal",
- "IPresetReverbEffect.hal",
- "IVirtualizerEffect.hal",
- "IVisualizerEffect.hal",
+ ":android.hardware.audio.effect@2.0_hal",
],
out: [
"android/hardware/audio/effect/2.0/types.cpp",
@@ -66,21 +52,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0",
srcs: [
- "types.hal",
- "IAcousticEchoCancelerEffect.hal",
- "IAutomaticGainControlEffect.hal",
- "IBassBoostEffect.hal",
- "IDownmixEffect.hal",
- "IEffect.hal",
- "IEffectBufferProviderCallback.hal",
- "IEffectsFactory.hal",
- "IEnvironmentalReverbEffect.hal",
- "IEqualizerEffect.hal",
- "ILoudnessEnhancerEffect.hal",
- "INoiseSuppressionEffect.hal",
- "IPresetReverbEffect.hal",
- "IVirtualizerEffect.hal",
- "IVisualizerEffect.hal",
+ ":android.hardware.audio.effect@2.0_hal",
],
out: [
"android/hardware/audio/effect/2.0/types.h",
diff --git a/audio/effect/2.0/Android.mk b/audio/effect/2.0/Android.mk
index 3383efd..d71255e 100644
--- a/audio/effect/2.0/Android.mk
+++ b/audio/effect/2.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.audio.effect@2.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/audio/effect/2.0/default/Effect.cpp b/audio/effect/2.0/default/Effect.cpp
index 0a4aeb7..83c8e09 100644
--- a/audio/effect/2.0/default/Effect.cpp
+++ b/audio/effect/2.0/default/Effect.cpp
@@ -77,10 +77,7 @@
// as the Thread uses mutexes, and this can lead to priority inversion.
while(!std::atomic_load_explicit(mStop, std::memory_order_acquire)) {
uint32_t efState = 0;
- mEfGroup->wait(
- static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_ALL),
- &efState,
- NS_PER_SEC);
+ mEfGroup->wait(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_ALL), &efState);
if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_ALL))
|| (efState & static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_QUIT))) {
continue; // Nothing to do or time to quit.
diff --git a/automotive/vehicle/2.0/Android.bp b/automotive/vehicle/2.0/Android.bp
index 3f5b383..e08d3ca 100644
--- a/automotive/vehicle/2.0/Android.bp
+++ b/automotive/vehicle/2.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0",
srcs: [
- "types.hal",
- "IVehicle.hal",
- "IVehicleCallback.hal",
+ ":android.hardware.automotive.vehicle@2.0_hal",
],
out: [
"android/hardware/automotive/vehicle/2.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0",
srcs: [
- "types.hal",
- "IVehicle.hal",
- "IVehicleCallback.hal",
+ ":android.hardware.automotive.vehicle@2.0_hal",
],
out: [
"android/hardware/automotive/vehicle/2.0/types.h",
diff --git a/automotive/vehicle/2.0/Android.mk b/automotive/vehicle/2.0/Android.mk
index ca83918..c540027 100644
--- a/automotive/vehicle/2.0/Android.mk
+++ b/automotive/vehicle/2.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.automotive.vehicle@2.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -1189,7 +1189,7 @@
LOCAL_MODULE := android.hardware.automotive.vehicle@2.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/automotive/vehicle/2.0/default/impl/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/DefaultConfig.h
index 270bf8c..0c549b9 100644
--- a/automotive/vehicle/2.0/default/impl/DefaultConfig.h
+++ b/automotive/vehicle/2.0/default/impl/DefaultConfig.h
@@ -174,6 +174,18 @@
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {0,0}
+ },
+
+ {
+ .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME_INFO),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE
+ },
+
+ {
+ .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME_CLEAR),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE
}
};
diff --git a/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
index 88717a9..d3d77b6 100644
--- a/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
+++ b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
@@ -15,9 +15,9 @@
*/
#define LOG_TAG "DefaultVehicleHal"
+#include <android/log.h>
#include <algorithm>
-#include <android/log.h>
#include <netinet/in.h>
#include <sys/socket.h>
@@ -181,87 +181,113 @@
return nullptr;
}
-void DefaultVehicleHal::initObd2LiveFrame(VehiclePropConfig& obd2LiveFramePropConfig) {
- mObd2SensorStore.reset(new Obd2SensorStore(
- obd2LiveFramePropConfig.configArray[0],
- obd2LiveFramePropConfig.configArray[1]));
- // precalculate OBD2 sensor values
- mObd2SensorStore->setIntegerSensor(
+static std::unique_ptr<Obd2SensorStore> fillDefaultObd2Frame(
+ size_t numVendorIntegerSensors,
+ size_t numVendorFloatSensors) {
+ std::unique_ptr<Obd2SensorStore> sensorStore(new Obd2SensorStore(
+ numVendorIntegerSensors, numVendorFloatSensors));
+
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS,
toInt(FuelSystemStatus::CLOSED_LOOP));
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::MALFUNCTION_INDICATOR_LIGHT_ON, 0);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::IGNITION_MONITORS_SUPPORTED,
toInt(IgnitionMonitorKind::SPARK));
- mObd2SensorStore->setIntegerSensor(Obd2IntegerSensorIndex::IGNITION_SPECIFIC_MONITORS,
+ sensorStore->setIntegerSensor(Obd2IntegerSensorIndex::IGNITION_SPECIFIC_MONITORS,
CommonIgnitionMonitors::COMPONENTS_AVAILABLE |
CommonIgnitionMonitors::MISFIRE_AVAILABLE |
SparkIgnitionMonitors::AC_REFRIGERANT_AVAILABLE |
SparkIgnitionMonitors::EVAPORATIVE_SYSTEM_AVAILABLE);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::INTAKE_AIR_TEMPERATURE, 35);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::COMMANDED_SECONDARY_AIR_STATUS,
toInt(SecondaryAirStatus::FROM_OUTSIDE_OR_OFF));
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::NUM_OXYGEN_SENSORS_PRESENT, 1);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::RUNTIME_SINCE_ENGINE_START, 500);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON, 0);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::WARMUPS_SINCE_CODES_CLEARED, 51);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::DISTANCE_TRAVELED_SINCE_CODES_CLEARED, 365);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE, 30);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE, 12);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::AMBIENT_AIR_TEMPERATURE, 18);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::MAX_FUEL_AIR_EQUIVALENCE_RATIO, 1);
- mObd2SensorStore->setIntegerSensor(
+ sensorStore->setIntegerSensor(
Obd2IntegerSensorIndex::FUEL_TYPE, toInt(FuelType::GASOLINE));
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD, 0.153);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK1, -0.16);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK1, -0.16);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK2, -0.16);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK2, -0.16);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::INTAKE_MANIFOLD_ABSOLUTE_PRESSURE, 7.5);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::ENGINE_RPM, 1250.);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::VEHICLE_SPEED, 40.);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::TIMING_ADVANCE, 2.5);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::THROTTLE_POSITION, 19.75);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::OXYGEN_SENSOR1_VOLTAGE, 0.265);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::FUEL_TANK_LEVEL_INPUT, 0.824);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::EVAPORATION_SYSTEM_VAPOR_PRESSURE, -0.373);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::CATALYST_TEMPERATURE_BANK1_SENSOR1, 190.);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::RELATIVE_THROTTLE_POSITION, 3.);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::ABSOLUTE_THROTTLE_POSITION_B, 0.306);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_D, 0.188);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_E, 0.094);
- mObd2SensorStore->setFloatSensor(
+ sensorStore->setFloatSensor(
Obd2FloatSensorIndex::COMMANDED_THROTTLE_ACTUATOR, 0.024);
+
+ return sensorStore;
+}
+
+void DefaultVehicleHal::initObd2LiveFrame(VehiclePropConfig& propConfig) {
+ auto sensorStore = fillDefaultObd2Frame(propConfig.configArray[0],
+ propConfig.configArray[1]);
+ mLiveObd2Frame = createVehiclePropValue(VehiclePropertyType::COMPLEX, 0);
+ sensorStore->fillPropValue(mLiveObd2Frame.get(), "");
+}
+
+void DefaultVehicleHal::initObd2FreezeFrame(VehiclePropConfig& propConfig) {
+ auto sensorStore = fillDefaultObd2Frame(propConfig.configArray[0],
+ propConfig.configArray[1]);
+
+ mFreezeObd2Frames.push_back(
+ createVehiclePropValue(VehiclePropertyType::COMPLEX,0));
+ mFreezeObd2Frames.push_back(
+ createVehiclePropValue(VehiclePropertyType::COMPLEX,0));
+ mFreezeObd2Frames.push_back(
+ createVehiclePropValue(VehiclePropertyType::COMPLEX,0));
+
+ sensorStore->fillPropValue(mFreezeObd2Frames[0].get(), "P0070");
+ sensorStore->fillPropValue(mFreezeObd2Frames[1].get(), "P0102");
+ sensorStore->fillPropValue(mFreezeObd2Frames[2].get(), "P0123");
}
void DefaultVehicleHal::parseRxProtoBuf(std::vector<uint8_t>& msg) {
@@ -598,11 +624,15 @@
switch (propId) {
case toInt(VehicleProperty::OBD2_LIVE_FRAME):
v = pool.obtainComplex();
- status = fillObd2LiveFrame(&v);
+ status = fillObd2LiveFrame(v.get());
break;
case toInt(VehicleProperty::OBD2_FREEZE_FRAME):
v = pool.obtainComplex();
- status = fillObd2FreezeFrame(&v);
+ status = fillObd2FreezeFrame(requestedPropValue, v.get());
+ break;
+ case toInt(VehicleProperty::OBD2_FREEZE_FRAME_INFO):
+ v = pool.obtainComplex();
+ status = fillObd2DtcInfo(v.get());
break;
default:
{
@@ -627,16 +657,24 @@
}
StatusCode DefaultVehicleHal::set(const VehiclePropValue& propValue) {
- StatusCode status = updateProperty(propValue);
-
- if (status == StatusCode::OK) {
- // Send property update to emulator
- emulator::EmulatorMessage msg;
- emulator::VehiclePropValue *val = msg.add_value();
- populateProtoVehiclePropValue(val, &propValue);
- msg.set_status(emulator::RESULT_OK);
- msg.set_msg_type(emulator::SET_PROPERTY_ASYNC);
- txMsg(msg);
+ auto propId = propValue.prop;
+ StatusCode status;
+ switch (propId) {
+ case toInt(VehicleProperty::OBD2_FREEZE_FRAME_CLEAR):
+ status = clearObd2FreezeFrames(propValue);
+ break;
+ default:
+ status = updateProperty(propValue);
+ if (status == StatusCode::OK) {
+ // Send property update to emulator
+ emulator::EmulatorMessage msg;
+ emulator::VehiclePropValue *val = msg.add_value();
+ populateProtoVehiclePropValue(val, &propValue);
+ msg.set_status(emulator::RESULT_OK);
+ msg.set_msg_type(emulator::SET_PROPERTY_ASYNC);
+ txMsg(msg);
+ }
+ break;
}
return status;
@@ -680,6 +718,9 @@
case toInt(VehicleProperty::OBD2_LIVE_FRAME):
initObd2LiveFrame(cfg);
break;
+ case toInt(VehicleProperty::OBD2_FREEZE_FRAME):
+ initObd2FreezeFrame(cfg);
+ break;
default:
// Need to handle each complex property separately
break;
@@ -721,21 +762,78 @@
mThread = std::thread(&DefaultVehicleHal::rxThread, this);
}
-StatusCode DefaultVehicleHal::fillObd2LiveFrame(VehiclePropValuePtr* v) {
- (*v)->value.int32Values = mObd2SensorStore->getIntegerSensors();
- (*v)->value.floatValues = mObd2SensorStore->getFloatSensors();
- (*v)->value.bytes = mObd2SensorStore->getSensorsBitmask();
+StatusCode DefaultVehicleHal::fillObd2LiveFrame(VehiclePropValue* v) {
+ v->prop = toInt(VehicleProperty::OBD2_LIVE_FRAME);
+ v->value.int32Values = mLiveObd2Frame->value.int32Values;
+ v->value.floatValues = mLiveObd2Frame->value.floatValues;
+ v->value.bytes = mLiveObd2Frame->value.bytes;
return StatusCode::OK;
}
-StatusCode DefaultVehicleHal::fillObd2FreezeFrame(VehiclePropValuePtr* v) {
- (*v)->value.int32Values = mObd2SensorStore->getIntegerSensors();
- (*v)->value.floatValues = mObd2SensorStore->getFloatSensors();
- (*v)->value.bytes = mObd2SensorStore->getSensorsBitmask();
- (*v)->value.stringValue = "P0010";
+template<typename Iterable>
+typename Iterable::const_iterator findPropValueAtTimestamp(
+ const Iterable& frames,
+ int64_t timestamp) {
+ return std::find_if(frames.begin(),
+ frames.end(),
+ [timestamp] (const std::unique_ptr<VehiclePropValue>&
+ propValue) -> bool {
+ return propValue->timestamp == timestamp;
+ });
+}
+
+StatusCode DefaultVehicleHal::fillObd2FreezeFrame(
+ const VehiclePropValue& requestedPropValue, VehiclePropValue* v) {
+ if (requestedPropValue.value.int64Values.size() != 1) {
+ ALOGE("asked for OBD2_FREEZE_FRAME without valid timestamp");
+ return StatusCode::INVALID_ARG;
+ }
+ auto timestamp = requestedPropValue.value.int64Values[0];
+ auto freezeFrameIter = findPropValueAtTimestamp(mFreezeObd2Frames,
+ timestamp);
+ if(mFreezeObd2Frames.end() == freezeFrameIter) {
+ ALOGE("asked for OBD2_FREEZE_FRAME at invalid timestamp");
+ return StatusCode::INVALID_ARG;
+ }
+ const std::unique_ptr<VehiclePropValue>& freezeFrame = *freezeFrameIter;
+ v->prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME);
+ v->value.int32Values = freezeFrame->value.int32Values;
+ v->value.floatValues = freezeFrame->value.floatValues;
+ v->value.bytes = freezeFrame->value.bytes;
+ v->value.stringValue = freezeFrame->value.stringValue;
+ v->timestamp = freezeFrame->timestamp;
return StatusCode::OK;
}
+StatusCode DefaultVehicleHal::clearObd2FreezeFrames(
+ const VehiclePropValue& propValue) {
+ if (propValue.value.int64Values.size() == 0) {
+ mFreezeObd2Frames.clear();
+ return StatusCode::OK;
+ } else {
+ for(int64_t timestamp: propValue.value.int64Values) {
+ auto freezeFrameIter = findPropValueAtTimestamp(mFreezeObd2Frames,
+ timestamp);
+ if(mFreezeObd2Frames.end() == freezeFrameIter) {
+ ALOGE("asked for OBD2_FREEZE_FRAME at invalid timestamp");
+ return StatusCode::INVALID_ARG;
+ }
+ mFreezeObd2Frames.erase(freezeFrameIter);
+ }
+ }
+ return StatusCode::OK;
+}
+
+StatusCode DefaultVehicleHal::fillObd2DtcInfo(VehiclePropValue* v) {
+ std::vector<int64_t> timestamps;
+ for(const auto& freezeFrame: mFreezeObd2Frames) {
+ timestamps.push_back(freezeFrame->timestamp);
+ }
+ v->value.int64Values = timestamps;
+ return StatusCode::OK;
+}
+
+
} // impl
diff --git a/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
index edfc224..4b89f55 100644
--- a/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
+++ b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
@@ -85,7 +85,8 @@
void doGetPropertyAll(emulator::EmulatorMessage& rxMsg, emulator::EmulatorMessage& respMsg);
void doSetProperty(emulator::EmulatorMessage& rxMsg, emulator::EmulatorMessage& respMsg);
VehiclePropValue* getVehiclePropValueLocked(int32_t propId, int32_t areaId);
- void initObd2LiveFrame(VehiclePropConfig& obd2LiveFramePropConfig);
+ void initObd2LiveFrame(VehiclePropConfig& propConfig);
+ void initObd2FreezeFrame(VehiclePropConfig& propConfig);
void parseRxProtoBuf(std::vector<uint8_t>& msg);
void populateProtoVehicleConfig(emulator::VehiclePropConfig* protoCfg,
const VehiclePropConfig& cfg);
@@ -96,14 +97,18 @@
void rxThread(void);
void txMsg(emulator::EmulatorMessage& txMsg);
StatusCode updateProperty(const VehiclePropValue& propValue);
- StatusCode fillObd2LiveFrame(VehiclePropValuePtr* v);
- StatusCode fillObd2FreezeFrame(VehiclePropValuePtr* v);
+ StatusCode fillObd2LiveFrame(VehiclePropValue* v);
+ StatusCode fillObd2FreezeFrame(const VehiclePropValue& requestedPropValue,
+ VehiclePropValue* v);
+ StatusCode fillObd2DtcInfo(VehiclePropValue *v);
+ StatusCode clearObd2FreezeFrames(const VehiclePropValue& propValue);
private:
// TODO: Use a hashtable to support indexing props
std::vector<std::unique_ptr<VehiclePropValue>> mProps;
std::atomic<int> mCurSocket;
std::atomic<int> mExit;
- std::unique_ptr<Obd2SensorStore> mObd2SensorStore{nullptr};
+ std::unique_ptr<VehiclePropValue> mLiveObd2Frame {nullptr};
+ std::vector<std::unique_ptr<VehiclePropValue>> mFreezeObd2Frames;
std::mutex mPropsMutex;
int mSocket;
std::mutex mTxMutex;
diff --git a/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp b/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
index 7c9a4d9..6922b86 100644
--- a/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
@@ -50,7 +50,7 @@
ASSERT_TRUE(parser->parseFromStream(&file, &aclMap));
- ASSERT_EQ(1, aclMap.size());
+ ASSERT_EQ(1u, aclMap.size());
auto it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_NE(aclMap.end(), it);
ASSERT_EQ(VehiclePropertyAccess::READ_WRITE, it->second.access);
@@ -74,7 +74,7 @@
for (auto it = range.first; it != range.second; ++it) {
auto& acl = it->second;
- ASSERT_EQ(1, expectedUids.count(acl.uid))
+ ASSERT_EQ(1u, expectedUids.count(acl.uid))
<< " uid: " << std::hex << acl.uid;
if (acl.uid == 0xbeef) {
@@ -93,12 +93,12 @@
ASSERT_FALSE(parser->parseFromStream(&file, &aclMap));
- ASSERT_EQ(1, aclMap.size());
+ ASSERT_EQ(1u, aclMap.size());
auto it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_NE(aclMap.end(), it);
ASSERT_EQ(VehiclePropertyAccess::READ, it->second.access);
ASSERT_EQ(toInt(VehicleProperty::HVAC_FAN_SPEED), it->second.propId);
- ASSERT_EQ(0xbeef, it->second.uid);
+ ASSERT_EQ(0xBEEFu, it->second.uid);
}
TEST_F(AccessControlConfigParserTest, badIntegerFormat) {
@@ -106,7 +106,7 @@
file << "S:0x0500 A12 RW " << std::endl;
ASSERT_FALSE(parser->parseFromStream(&file, &aclMap));
- ASSERT_EQ(0, aclMap.size());
+ ASSERT_EQ(0u, aclMap.size());
}
TEST_F(AccessControlConfigParserTest, ignoreNotSupportedProperties) {
@@ -114,7 +114,7 @@
file << "S:0x0666 1000 RW " << std::endl;
ASSERT_FALSE(parser->parseFromStream(&file, &aclMap));
- ASSERT_EQ(0, aclMap.size());
+ ASSERT_EQ(0u, aclMap.size());
}
TEST_F(AccessControlConfigParserTest, multipleCalls) {
@@ -122,12 +122,12 @@
configFile << "S:0x0500 1000 RW" << std::endl;
ASSERT_TRUE(parser->parseFromStream(&configFile, &aclMap));
- ASSERT_EQ(1, aclMap.size());
+ ASSERT_EQ(1u, aclMap.size());
std::stringstream configFile2;
configFile2 << "S:0x0501 1004 RW" << std::endl;
ASSERT_TRUE(parser->parseFromStream(&configFile2, &aclMap));
- ASSERT_EQ(2, aclMap.size());
+ ASSERT_EQ(2u, aclMap.size());
auto it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_NE(aclMap.end(), it);
diff --git a/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp b/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
index 1ca5824..274a843 100644
--- a/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
@@ -103,13 +103,13 @@
return StatusCode::OK;
}
- StatusCode subscribe(int32_t property,
- int32_t areas,
- float sampleRate) override {
+ StatusCode subscribe(int32_t /* property */,
+ int32_t /* areas */,
+ float /* sampleRate */) override {
return StatusCode::OK;
}
- StatusCode unsubscribe(int32_t property) override {
+ StatusCode unsubscribe(int32_t /* property */) override {
return StatusCode::OK;
}
@@ -323,20 +323,20 @@
ASSERT_EQ(StatusCode::OK, actualStatusCode);
ASSERT_EQ(toInt(VehicleProperty::VEHICLE_MAP_SERVICE), actualValue.prop);
- ASSERT_EQ(3, actualValue.value.bytes.size());
+ ASSERT_EQ(3u, actualValue.value.bytes.size());
ASSERT_EQ(1, actualValue.value.bytes[0]);
ASSERT_EQ(2, actualValue.value.bytes[1]);
ASSERT_EQ(3, actualValue.value.bytes[2]);
- ASSERT_EQ(2, actualValue.value.int32Values.size());
+ ASSERT_EQ(2u, actualValue.value.int32Values.size());
ASSERT_EQ(10, actualValue.value.int32Values[0]);
ASSERT_EQ(20, actualValue.value.int32Values[1]);
- ASSERT_EQ(2, actualValue.value.floatValues.size());
+ ASSERT_EQ(2u, actualValue.value.floatValues.size());
ASSERT_FLOAT_EQ(1.1, actualValue.value.floatValues[0]);
ASSERT_FLOAT_EQ(2.2, actualValue.value.floatValues[1]);
- ASSERT_EQ(2, actualValue.value.int64Values.size());
+ ASSERT_EQ(2u, actualValue.value.int64Values.size());
ASSERT_FLOAT_EQ(30, actualValue.value.int64Values[0]);
ASSERT_FLOAT_EQ(40, actualValue.value.int64Values[1]);
diff --git a/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h b/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
index a512fcf..8ba36d8 100644
--- a/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
+++ b/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
@@ -131,12 +131,12 @@
mEventCond.notify_one();
return Return<void>();
}
- Return<void> onPropertySet(const VehiclePropValue& value) override {
+ Return<void> onPropertySet(const VehiclePropValue& /* value */) override {
return Return<void>();
}
- Return<void> onPropertySetError(StatusCode errorCode,
- int32_t propId,
- int32_t areaId) override {
+ Return<void> onPropertySetError(StatusCode /* errorCode */,
+ int32_t /* propId */,
+ int32_t /* areaId */) override {
return Return<void>();
}
diff --git a/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp b/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
index 0d57284..7d37355 100644
--- a/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
@@ -85,9 +85,9 @@
// In this test we have T threads that concurrently in C cycles
// obtain and release O VehiclePropValue objects of FLOAT / INT32 types.
- const auto T = 2;
- const auto C = 500;
- const auto O = 100;
+ const int T = 2;
+ const int C = 500;
+ const int O = 100;
auto poolPtr = valuePool.get();
@@ -112,10 +112,10 @@
}
auto finish = elapsedRealtimeNano();
- ASSERT_EQ(T * C * O, stats->Obtained);
- ASSERT_EQ(T * C * O, stats->Recycled);
+ ASSERT_EQ(static_cast<uint32_t>(T * C * O), stats->Obtained);
+ ASSERT_EQ(static_cast<uint32_t>(T * C * O), stats->Recycled);
// Created less than obtained.
- ASSERT_GE(T * O, stats->Created);
+ ASSERT_GE(static_cast<uint32_t>(T * O), stats->Created);
auto elapsedMs = (finish - start) / 1000000;
ASSERT_GE(1000, elapsedMs); // Less a second to access 100K objects.
diff --git a/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
index 3a252af..761e550 100644
--- a/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
@@ -16,6 +16,7 @@
#include "Obd2SensorStore.h"
+#include <utils/SystemClock.h>
#include <vehicle_hal_manager/VehicleUtils.h>
namespace android {
@@ -98,6 +99,16 @@
return mSensorsBitmask.getBitmask();
}
+void Obd2SensorStore::fillPropValue(VehiclePropValue *propValue,
+ std::string dtc) const {
+ propValue->timestamp = elapsedRealtimeNano();
+ propValue->value.int32Values = getIntegerSensors();
+ propValue->value.floatValues = getFloatSensors();
+ propValue->value.bytes = getSensorsBitmask();
+ propValue->value.stringValue = dtc;
+}
+
+
} // namespace V2_0
} // namespace vehicle
diff --git a/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
index cbe9893..3e2a08e 100644
--- a/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
@@ -54,6 +54,10 @@
// Returns a vector that contains a bitmask for all stored sensors.
const std::vector<uint8_t>& getSensorsBitmask() const;
+ // Given a stringValue, fill in a VehiclePropValue
+ void fillPropValue(VehiclePropValue *propValue,
+ std::string dtc) const;
+
private:
class BitmaskInVector {
public:
diff --git a/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
index a79c55c..ac1245a 100644
--- a/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
@@ -129,7 +129,7 @@
if (!check(&o->value)) {
ALOGE("Discarding value for prop 0x%x because it contains "
"data that is not consistent with this pool. "
- "Expected type: %d, vector size: %d",
+ "Expected type: %d, vector size: %zu",
o->prop, mPropType, mVectorSize);
delete o;
} else {
diff --git a/automotive/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal
index 05e10be..fa432f4 100644
--- a/automotive/vehicle/2.0/types.hal
+++ b/automotive/vehicle/2.0/types.hal
@@ -1829,6 +1829,10 @@
* configArray[1] : number of vendor-specific float-valued sensors
* that can be returned in a frame.
*
+ * A get of this property must take the following form:
+ * int64Values[0]: timestamp of the freeze frame to retrieve.
+ * Valid timestamps are given by OBD2_DTC_INFO.
+ *
* The values are to be interpreted as follows:
* the indices defined in Obd2IntegerSensorIndex are to be used to
* read from int32Values;
@@ -1860,8 +1864,49 @@
| VehiclePropertyType:COMPLEX
| VehicleArea:GLOBAL),
-};
+ /*
+ * OBD2 Freeze Frame Information
+ *
+ * This property describes the current freeze frames stored in vehicle
+ * memory and available for retrieval via OBD2_FREEZE_FRAME.
+ *
+ * The values are to be interpreted as follows:
+ * each element of int64Values is the timestamp at which a a fault code
+ * has been detected and the corresponding freeze frame stored, and each
+ * such element can be used as the key to OBD2_FREEZE_FRAME to retrieve
+ * the corresponding freeze frame.
+ *
+ * @change_mode VehiclePropertyChangeMode:ON_CHANGE
+ * @access VehiclePropertyAccess:READ
+ */
+ OBD2_FREEZE_FRAME_INFO = (
+ 0x0D02
+ | VehiclePropertyGroup:SYSTEM
+ | VehiclePropertyType:COMPLEX
+ | VehicleArea:GLOBAL),
+ /*
+ * OBD2 Freeze Frame Clear
+ *
+ * This property allows deletion of any of the freeze frames stored in
+ * vehicle memory, as described by OBD2_DTC_INFO.
+ *
+ * A set of this property is to be interpreted as follows:
+ * if int64Values contains no elements, then all DTCs stored will be cleared;
+ * if int64Values contains one or more elements, then DTCs at the timestamps
+ * stored in int64Values will be cleared, and the others not cleared, except
+ * the memory will be compacted so that all remaining DTCs are stored
+ * contiguously.
+ *
+ * @change_mode VehiclePropertyChangeMode:ON_CHANGE
+ * @access VehiclePropertyAccess:WRITE
+ */
+ OBD2_FREEZE_FRAME_CLEAR = (
+ 0x0D03
+ | VehiclePropertyGroup:SYSTEM
+ | VehiclePropertyType:COMPLEX
+ | VehicleArea:GLOBAL),
+};
/*
* Bit flags for fan direction
*/
diff --git a/benchmarks/msgq/1.0/Android.bp b/benchmarks/msgq/1.0/Android.bp
index de84e81..7f8ea99 100644
--- a/benchmarks/msgq/1.0/Android.bp
+++ b/benchmarks/msgq/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.benchmarks.msgq@1.0",
srcs: [
- "IBenchmarkMsgQ.hal",
+ ":android.hardware.benchmarks.msgq@1.0_hal",
],
out: [
"android/hardware/benchmarks/msgq/1.0/BenchmarkMsgQAll.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.benchmarks.msgq@1.0",
srcs: [
- "IBenchmarkMsgQ.hal",
+ ":android.hardware.benchmarks.msgq@1.0_hal",
],
out: [
"android/hardware/benchmarks/msgq/1.0/IBenchmarkMsgQ.h",
diff --git a/biometrics/Android.bp b/biometrics/Android.bp
index eea4604..b4681e4 100644
--- a/biometrics/Android.bp
+++ b/biometrics/Android.bp
@@ -1,4 +1,5 @@
// This is an autogenerated file, do not edit.
subdirs = [
"fingerprint/2.1",
+ "fingerprint/2.1/vts/functional"
]
diff --git a/biometrics/fingerprint/2.1/Android.bp b/biometrics/fingerprint/2.1/Android.bp
index f285f16..586e1b3 100644
--- a/biometrics/fingerprint/2.1/Android.bp
+++ b/biometrics/fingerprint/2.1/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1",
srcs: [
- "types.hal",
- "IBiometricsFingerprint.hal",
- "IBiometricsFingerprintClientCallback.hal",
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
],
out: [
"android/hardware/biometrics/fingerprint/2.1/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1",
srcs: [
- "types.hal",
- "IBiometricsFingerprint.hal",
- "IBiometricsFingerprintClientCallback.hal",
+ ":android.hardware.biometrics.fingerprint@2.1_hal",
],
out: [
"android/hardware/biometrics/fingerprint/2.1/types.h",
diff --git a/biometrics/fingerprint/2.1/Android.mk b/biometrics/fingerprint/2.1/Android.mk
index 22da268..567b38a 100644
--- a/biometrics/fingerprint/2.1/Android.mk
+++ b/biometrics/fingerprint/2.1/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.biometrics.fingerprint@2.1-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -239,7 +239,7 @@
LOCAL_MODULE := android.hardware.biometrics.fingerprint@2.1-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
index 7f0d005..b106481 100644
--- a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
+++ b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2017 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.
diff --git a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.h b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.h
index 652a3e0..5923c84 100644
--- a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.h
+++ b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2017 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.
diff --git a/biometrics/fingerprint/2.1/default/service.cpp b/biometrics/fingerprint/2.1/default/service.cpp
index 0563acb..d6b91c6 100644
--- a/biometrics/fingerprint/2.1/default/service.cpp
+++ b/biometrics/fingerprint/2.1/default/service.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2017 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.
diff --git a/biometrics/fingerprint/2.1/types.hal b/biometrics/fingerprint/2.1/types.hal
index f462906..e389773 100644
--- a/biometrics/fingerprint/2.1/types.hal
+++ b/biometrics/fingerprint/2.1/types.hal
@@ -49,6 +49,8 @@
* followed by ERROR_CANCELED.
*/
enum FingerprintError : int32_t {
+ /* Used for testing, no error returned */
+ ERROR_NO_ERROR = 0,
/* The hardware has an error that can't be resolved. */
ERROR_HW_UNAVAILABLE = 1,
/* Bad data; operation can't continue */
diff --git a/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts b/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts
new file mode 100644
index 0000000..475333e
--- /dev/null
+++ b/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts
@@ -0,0 +1,461 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "IBiometricsFingerprint"
+
+package: "android.hardware.biometrics.fingerprint"
+
+import: "android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprintClientCallback"
+import: "android.hardware.biometrics.fingerprint@2.1::types"
+import: "android.hidl.base@1.0::types"
+
+interface: {
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SYS_UNKNOWN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SYS_OK"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SYS_ENOENT"
+ scalar_value: {
+ int32_t: -2
+ }
+ enumerator: "SYS_EINTR"
+ scalar_value: {
+ int32_t: -4
+ }
+ enumerator: "SYS_EIO"
+ scalar_value: {
+ int32_t: -5
+ }
+ enumerator: "SYS_EAGAIN"
+ scalar_value: {
+ int32_t: -11
+ }
+ enumerator: "SYS_ENOMEM"
+ scalar_value: {
+ int32_t: -12
+ }
+ enumerator: "SYS_EACCES"
+ scalar_value: {
+ int32_t: -13
+ }
+ enumerator: "SYS_EFAULT"
+ scalar_value: {
+ int32_t: -14
+ }
+ enumerator: "SYS_EBUSY"
+ scalar_value: {
+ int32_t: -16
+ }
+ enumerator: "SYS_EINVAL"
+ scalar_value: {
+ int32_t: -22
+ }
+ enumerator: "SYS_ENOSPC"
+ scalar_value: {
+ int32_t: -28
+ }
+ enumerator: "SYS_ETIMEDOUT"
+ scalar_value: {
+ int32_t: -110
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintError"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ERROR_NO_ERROR"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ERROR_HW_UNAVAILABLE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ERROR_UNABLE_TO_PROCESS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ERROR_TIMEOUT"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ERROR_NO_SPACE"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ERROR_CANCELED"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "ERROR_UNABLE_TO_REMOVE"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "ERROR_LOCKOUT"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "ERROR_VENDOR"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ACQUIRED_GOOD"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ACQUIRED_PARTIAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ACQUIRED_INSUFFICIENT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ACQUIRED_IMAGER_DIRTY"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ACQUIRED_TOO_SLOW"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ACQUIRED_TOO_FAST"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "ACQUIRED_VENDOR"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "gid"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fid"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintEnroll"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "samplesRemaining"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "msg"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintIterator"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "remainingTemplates"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquired"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acquiredInfo"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAuthenticated"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "hat"
+ type: TYPE_ARRAY
+ vector_size: 69
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintMsgType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ERROR"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "ACQUIRED"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TEMPLATE_ENROLLING"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "TEMPLATE_REMOVED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "AUTHENTICATED"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "TEMPLATE_ENUMERATING"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ api: {
+ name: "setNotify"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback"
+ }
+ callflow: {
+ next: "setActiveGroup"
+ }
+ callflow: {
+ entry: true
+ }
+ }
+
+ api: {
+ name: "preEnroll"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "enroll"
+ next: "postEnroll"
+ }
+ }
+
+ api: {
+ name: "enroll"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ arg: {
+ type: TYPE_ARRAY
+ vector_size: 69
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "cancel"
+ next: "enroll"
+ next: "postEnroll"
+ next: "remove"
+ }
+ }
+
+ api: {
+ name: "postEnroll"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ callflow: {
+ next: "authenticate"
+ next: "setActiveGroup"
+ next: "enumerate"
+ next: "remove"
+ }
+ }
+
+ api: {
+ name: "getAuthenticatorId"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "authenticate"
+ }
+ }
+
+ api: {
+ name: "cancel"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ callflow: {
+ next: "authenticate"
+ next: "enroll"
+ next: "enumerate"
+ next: "remove"
+ next: "setActiveGroup"
+ }
+ }
+
+ api: {
+ name: "enumerate"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ callflow: {
+ next: "remove"
+ next: "enroll"
+ next: "authenticate"
+ next: "setActiveGroup"
+ }
+ }
+
+ api: {
+ name: "remove"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "enumerate"
+ next: "authenticate"
+ next: "cancel"
+ next: "getAuthenticatorId"
+ next: "setActiveGroup"
+ }
+ }
+
+ api: {
+ name: "setActiveGroup"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_STRING
+ }
+ callflow: {
+ next: "authenticate"
+ next: "preEnroll"
+ next: "enumerate"
+ next: "remove"
+ }
+ }
+
+ api: {
+ name: "authenticate"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "cancel"
+ next: "preEnroll"
+ next: "remove"
+ }
+ }
+
+}
diff --git a/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts b/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts
new file mode 100644
index 0000000..7cf4003
--- /dev/null
+++ b/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts
@@ -0,0 +1,396 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "IBiometricsFingerprintClientCallback"
+
+package: "android.hardware.biometrics.fingerprint"
+
+import: "android.hardware.biometrics.fingerprint@2.1::types"
+import: "android.hidl.base@1.0::types"
+
+interface: {
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SYS_UNKNOWN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SYS_OK"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SYS_ENOENT"
+ scalar_value: {
+ int32_t: -2
+ }
+ enumerator: "SYS_EINTR"
+ scalar_value: {
+ int32_t: -4
+ }
+ enumerator: "SYS_EIO"
+ scalar_value: {
+ int32_t: -5
+ }
+ enumerator: "SYS_EAGAIN"
+ scalar_value: {
+ int32_t: -11
+ }
+ enumerator: "SYS_ENOMEM"
+ scalar_value: {
+ int32_t: -12
+ }
+ enumerator: "SYS_EACCES"
+ scalar_value: {
+ int32_t: -13
+ }
+ enumerator: "SYS_EFAULT"
+ scalar_value: {
+ int32_t: -14
+ }
+ enumerator: "SYS_EBUSY"
+ scalar_value: {
+ int32_t: -16
+ }
+ enumerator: "SYS_EINVAL"
+ scalar_value: {
+ int32_t: -22
+ }
+ enumerator: "SYS_ENOSPC"
+ scalar_value: {
+ int32_t: -28
+ }
+ enumerator: "SYS_ETIMEDOUT"
+ scalar_value: {
+ int32_t: -110
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintError"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ERROR_NO_ERROR"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ERROR_HW_UNAVAILABLE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ERROR_UNABLE_TO_PROCESS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ERROR_TIMEOUT"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ERROR_NO_SPACE"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ERROR_CANCELED"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "ERROR_UNABLE_TO_REMOVE"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "ERROR_LOCKOUT"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "ERROR_VENDOR"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ACQUIRED_GOOD"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ACQUIRED_PARTIAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ACQUIRED_INSUFFICIENT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ACQUIRED_IMAGER_DIRTY"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ACQUIRED_TOO_SLOW"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ACQUIRED_TOO_FAST"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "ACQUIRED_VENDOR"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "gid"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fid"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintEnroll"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "samplesRemaining"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "msg"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintIterator"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "remainingTemplates"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquired"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acquiredInfo"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAuthenticated"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "hat"
+ type: TYPE_ARRAY
+ vector_size: 69
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintMsgType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ERROR"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "ACQUIRED"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TEMPLATE_ENROLLING"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "TEMPLATE_REMOVED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "AUTHENTICATED"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "TEMPLATE_ENUMERATING"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ api: {
+ name: "onEnrollResult"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ api: {
+ name: "onAcquired"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ api: {
+ name: "onAuthenticated"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ api: {
+ name: "onError"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintError"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ api: {
+ name: "onRemoved"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ api: {
+ name: "onEnumerate"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+}
diff --git a/biometrics/fingerprint/2.1/vts/functional/Android.bp b/biometrics/fingerprint/2.1/vts/functional/Android.bp
new file mode 100644
index 0000000..7d2e83f
--- /dev/null
+++ b/biometrics/fingerprint/2.1/vts/functional/Android.bp
@@ -0,0 +1,41 @@
+//
+// Copyright (C) 2017 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.
+//
+
+cc_test {
+ name: "fingerprint_hidl_hal_test",
+ gtest: true,
+ srcs: ["fingerprint_hidl_hal_test.cpp"],
+ shared_libs: [
+ "libbase",
+ "libhidltransport",
+ "libhardware",
+ "libhwbinder",
+ "libhidlbase",
+ "liblog",
+ "libutils",
+ "android.hardware.biometrics.fingerprint@2.1",
+ ],
+ static_libs: ["libgtest"],
+ cflags: [
+ "--coverage",
+ "-O0",
+ "-g",
+ ],
+ ldflags: [
+ "--coverage"
+ ]
+}
+
diff --git a/biometrics/fingerprint/2.1/vts/functional/fingerprint_hidl_hal_test.cpp b/biometrics/fingerprint/2.1/vts/functional/fingerprint_hidl_hal_test.cpp
new file mode 100644
index 0000000..9138000
--- /dev/null
+++ b/biometrics/fingerprint/2.1/vts/functional/fingerprint_hidl_hal_test.cpp
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2017 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.
+ */
+
+#define LOG_TAG "fingerprint_hidl_hal_test"
+
+#include <android-base/logging.h>
+#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
+#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
+#include <chrono>
+#include <gtest/gtest.h>
+#include <hidl/HidlSupport.h>
+#include <hidl/HidlTransportSupport.h>
+
+using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint;
+using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
+using android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo;
+using android::hardware::biometrics::fingerprint::V2_1::FingerprintError;
+using android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
+using android::hardware::hidl_vec;
+using android::hardware::Return;
+
+#define SERVICE_NAME "fingerprint_hal"
+
+class FingerprintHidlTest : public ::testing::Test,
+ public IBiometricsFingerprintClientCallback {
+
+protected:
+ android::sp<IBiometricsFingerprint> service;
+ FingerprintError err;
+ // State changes should occur within this threshold, otherwise the
+ // framework' will assume things have broken.
+ std::chrono::seconds threshold;
+
+public:
+ FingerprintHidlTest ():
+ err(FingerprintError::ERROR_NO_ERROR), threshold(1) {}
+
+ virtual void SetUp() override {
+ service = IBiometricsFingerprint::getService(SERVICE_NAME);
+
+ ASSERT_NE(service, nullptr);
+ clearErr();
+
+ // TODO: instantly fail any test that receives a death notification
+ }
+
+ virtual void TearDown() override {}
+
+ // implement methods of IBiometricsFingerprintClientCallback
+ virtual Return<void> onEnrollResult(uint64_t, uint32_t, uint32_t, uint32_t)
+ override {
+ return Return<void>();
+ }
+ virtual Return<void> onAcquired(uint64_t, FingerprintAcquiredInfo, int32_t)
+ override {
+ return Return<void>();
+ }
+
+ virtual Return<void> onAuthenticated(uint64_t, uint32_t, uint32_t, const
+ hidl_vec<uint8_t>&) override {
+ return Return<void>();
+ }
+
+ virtual Return<void> onError(uint64_t, FingerprintError error, int32_t)
+ override {
+ err = error;
+ return Return<void>();
+ }
+
+ virtual Return<void> onRemoved(uint64_t, uint32_t, uint32_t, uint32_t)
+ override {
+ return Return<void>();
+ }
+
+ virtual Return<void> onEnumerate(uint64_t, uint32_t, uint32_t, uint32_t)
+ override {
+ return Return<void>();
+ }
+
+ void clearErr () {
+ err = FingerprintError::ERROR_NO_ERROR;
+ }
+};
+
+class FingerprintHidlEnvironment : public ::testing::Environment {
+public:
+ virtual void SetUp() {}
+ virtual void TearDown() {}
+};
+
+// The service should be reachable.
+TEST_F(FingerprintHidlTest, ConnectTest) {
+ Return<uint64_t> rc = service->setNotify(this);
+ EXPECT_NE(rc, 0UL);
+}
+
+// Cancel should always return ERROR_CANCELED from any starting state including
+// the IDLE state.
+TEST_F(FingerprintHidlTest, CancelTest) {
+ Return<uint64_t> rc = service->setNotify(this);
+ EXPECT_NE(rc, 0UL);
+
+ auto start = std::chrono::system_clock::now();
+ Return<RequestStatus> res = service->cancel();
+ auto end = std::chrono::system_clock::now();
+ auto diff = end - start;
+
+ // check that we were able to make an IPC request successfully
+ EXPECT_EQ(RequestStatus::SYS_OK, res);
+ // check error should be ERROR_CANCELED
+ EXPECT_EQ(FingerprintError::ERROR_CANCELED, err);
+ // check that this did not take longer than a threshold
+ EXPECT_TRUE(diff <= threshold);
+}
+
+// A call to cancel should after any other method call should set the error
+// state to canceled.
+TEST_F(FingerprintHidlTest, AuthTest) {
+ Return<uint64_t> rc = service->setNotify(this);
+ EXPECT_NE(rc, 0UL);
+
+ Return<RequestStatus> res = service->authenticate(0, 0);
+ // check that we were able to make an IPC request successfully
+ EXPECT_EQ(RequestStatus::SYS_OK, res);
+
+ auto start = std::chrono::system_clock::now();
+ res = service->cancel();
+ auto end = std::chrono::system_clock::now();
+ auto diff = end - start;
+
+ // check that we were able to make an IPC request successfully
+ EXPECT_EQ(RequestStatus::SYS_OK, res);
+ // check error should be ERROR_CANCELED
+ EXPECT_EQ(FingerprintError::ERROR_CANCELED, err);
+ // check that this did not take longer than a threshold
+ EXPECT_TRUE(diff <= threshold);
+}
+
+int main(int argc, char **argv) {
+ ::testing::AddGlobalTestEnvironment(new FingerprintHidlEnvironment);
+ ::testing::InitGoogleTest(&argc, argv);
+ int status = RUN_ALL_TESTS();
+ LOG(INFO) << "Test result = " << status;
+ return status;
+}
diff --git a/biometrics/fingerprint/2.1/vts/types.vts b/biometrics/fingerprint/2.1/vts/types.vts
new file mode 100644
index 0000000..9f9fd37
--- /dev/null
+++ b/biometrics/fingerprint/2.1/vts/types.vts
@@ -0,0 +1,262 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "types"
+
+package: "android.hardware.biometrics.fingerprint"
+
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SYS_UNKNOWN"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SYS_OK"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SYS_ENOENT"
+ scalar_value: {
+ int32_t: -2
+ }
+ enumerator: "SYS_EINTR"
+ scalar_value: {
+ int32_t: -4
+ }
+ enumerator: "SYS_EIO"
+ scalar_value: {
+ int32_t: -5
+ }
+ enumerator: "SYS_EAGAIN"
+ scalar_value: {
+ int32_t: -11
+ }
+ enumerator: "SYS_ENOMEM"
+ scalar_value: {
+ int32_t: -12
+ }
+ enumerator: "SYS_EACCES"
+ scalar_value: {
+ int32_t: -13
+ }
+ enumerator: "SYS_EFAULT"
+ scalar_value: {
+ int32_t: -14
+ }
+ enumerator: "SYS_EBUSY"
+ scalar_value: {
+ int32_t: -16
+ }
+ enumerator: "SYS_EINVAL"
+ scalar_value: {
+ int32_t: -22
+ }
+ enumerator: "SYS_ENOSPC"
+ scalar_value: {
+ int32_t: -28
+ }
+ enumerator: "SYS_ETIMEDOUT"
+ scalar_value: {
+ int32_t: -110
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintError"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ERROR_NO_ERROR"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ERROR_HW_UNAVAILABLE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ERROR_UNABLE_TO_PROCESS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ERROR_TIMEOUT"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ERROR_NO_SPACE"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ERROR_CANCELED"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "ERROR_UNABLE_TO_REMOVE"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "ERROR_LOCKOUT"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "ERROR_VENDOR"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ACQUIRED_GOOD"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ACQUIRED_PARTIAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "ACQUIRED_INSUFFICIENT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "ACQUIRED_IMAGER_DIRTY"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ACQUIRED_TOO_SLOW"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ACQUIRED_TOO_FAST"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "ACQUIRED_VENDOR"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "gid"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fid"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintEnroll"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "samplesRemaining"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "msg"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintIterator"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "remainingTemplates"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquired"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acquiredInfo"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAuthenticated"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "finger"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
+ }
+ struct_value: {
+ name: "hat"
+ type: TYPE_ARRAY
+ vector_size: 69
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintMsgType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "ERROR"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "ACQUIRED"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "TEMPLATE_ENROLLING"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "TEMPLATE_REMOVED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "AUTHENTICATED"
+ scalar_value: {
+ int32_t: 5
+ }
+ enumerator: "TEMPLATE_ENUMERATING"
+ scalar_value: {
+ int32_t: 6
+ }
+ }
+}
+
diff --git a/bluetooth/1.0/Android.bp b/bluetooth/1.0/Android.bp
index f2c394b..2373ceb 100644
--- a/bluetooth/1.0/Android.bp
+++ b/bluetooth/1.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.bluetooth@1.0",
srcs: [
- "types.hal",
- "IBluetoothHci.hal",
- "IBluetoothHciCallbacks.hal",
+ ":android.hardware.bluetooth@1.0_hal",
],
out: [
"android/hardware/bluetooth/1.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.bluetooth@1.0",
srcs: [
- "types.hal",
- "IBluetoothHci.hal",
- "IBluetoothHciCallbacks.hal",
+ ":android.hardware.bluetooth@1.0_hal",
],
out: [
"android/hardware/bluetooth/1.0/types.h",
diff --git a/bluetooth/1.0/Android.mk b/bluetooth/1.0/Android.mk
index 7924cee..d824d5d 100644
--- a/bluetooth/1.0/Android.mk
+++ b/bluetooth/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.bluetooth@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -87,7 +87,7 @@
LOCAL_MODULE := android.hardware.bluetooth@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/boot/1.0/Android.bp b/boot/1.0/Android.bp
index 9dcabc4..7265cc2 100644
--- a/boot/1.0/Android.bp
+++ b/boot/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.boot@1.0",
srcs: [
- "types.hal",
- "IBootControl.hal",
+ ":android.hardware.boot@1.0_hal",
],
out: [
"android/hardware/boot/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.boot@1.0",
srcs: [
- "types.hal",
- "IBootControl.hal",
+ ":android.hardware.boot@1.0_hal",
],
out: [
"android/hardware/boot/1.0/types.h",
diff --git a/boot/1.0/Android.mk b/boot/1.0/Android.mk
index 6fa5e4b..b188acb 100644
--- a/boot/1.0/Android.mk
+++ b/boot/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.boot@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -83,7 +83,7 @@
LOCAL_MODULE := android.hardware.boot@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/broadcastradio/1.0/Android.bp b/broadcastradio/1.0/Android.bp
index a58fbe1..3c3a015 100644
--- a/broadcastradio/1.0/Android.bp
+++ b/broadcastradio/1.0/Android.bp
@@ -16,11 +16,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0",
srcs: [
- "types.hal",
- "IBroadcastRadio.hal",
- "IBroadcastRadioFactory.hal",
- "ITuner.hal",
- "ITunerCallback.hal",
+ ":android.hardware.broadcastradio@1.0_hal",
],
out: [
"android/hardware/broadcastradio/1.0/types.cpp",
@@ -36,11 +32,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0",
srcs: [
- "types.hal",
- "IBroadcastRadio.hal",
- "IBroadcastRadioFactory.hal",
- "ITuner.hal",
- "ITunerCallback.hal",
+ ":android.hardware.broadcastradio@1.0_hal",
],
out: [
"android/hardware/broadcastradio/1.0/types.h",
diff --git a/camera/common/1.0/Android.bp b/camera/common/1.0/Android.bp
index 9717963..aea6e76 100644
--- a/camera/common/1.0/Android.bp
+++ b/camera/common/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0",
srcs: [
- "types.hal",
+ ":android.hardware.camera.common@1.0_hal",
],
out: [
"android/hardware/camera/common/1.0/types.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0",
srcs: [
- "types.hal",
+ ":android.hardware.camera.common@1.0_hal",
],
out: [
"android/hardware/camera/common/1.0/types.h",
diff --git a/camera/common/1.0/Android.mk b/camera/common/1.0/Android.mk
index 2e68dc0..9e05172 100644
--- a/camera/common/1.0/Android.mk
+++ b/camera/common/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.camera.common@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -191,7 +191,7 @@
LOCAL_MODULE := android.hardware.camera.common@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/camera/device/1.0/Android.bp b/camera/device/1.0/Android.bp
index b285ee0..b8560c7 100644
--- a/camera/device/1.0/Android.bp
+++ b/camera/device/1.0/Android.bp
@@ -15,10 +15,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0",
srcs: [
- "types.hal",
- "ICameraDevice.hal",
- "ICameraDeviceCallback.hal",
- "ICameraDevicePreviewCallback.hal",
+ ":android.hardware.camera.device@1.0_hal",
],
out: [
"android/hardware/camera/device/1.0/types.cpp",
@@ -33,10 +30,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0",
srcs: [
- "types.hal",
- "ICameraDevice.hal",
- "ICameraDeviceCallback.hal",
- "ICameraDevicePreviewCallback.hal",
+ ":android.hardware.camera.device@1.0_hal",
],
out: [
"android/hardware/camera/device/1.0/types.h",
diff --git a/camera/device/3.2/Android.bp b/camera/device/3.2/Android.bp
index 1bc11ed..a3ac721 100644
--- a/camera/device/3.2/Android.bp
+++ b/camera/device/3.2/Android.bp
@@ -15,10 +15,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2",
srcs: [
- "types.hal",
- "ICameraDevice.hal",
- "ICameraDeviceCallback.hal",
- "ICameraDeviceSession.hal",
+ ":android.hardware.camera.device@3.2_hal",
],
out: [
"android/hardware/camera/device/3.2/types.cpp",
@@ -33,10 +30,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2",
srcs: [
- "types.hal",
- "ICameraDevice.hal",
- "ICameraDeviceCallback.hal",
- "ICameraDeviceSession.hal",
+ ":android.hardware.camera.device@3.2_hal",
],
out: [
"android/hardware/camera/device/3.2/types.h",
diff --git a/camera/metadata/3.2/Android.bp b/camera/metadata/3.2/Android.bp
index fa319e9..1e464d6 100644
--- a/camera/metadata/3.2/Android.bp
+++ b/camera/metadata/3.2/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2",
srcs: [
- "types.hal",
+ ":android.hardware.camera.metadata@3.2_hal",
],
out: [
"android/hardware/camera/metadata/3.2/types.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2",
srcs: [
- "types.hal",
+ ":android.hardware.camera.metadata@3.2_hal",
],
out: [
"android/hardware/camera/metadata/3.2/types.h",
diff --git a/camera/metadata/3.2/Android.mk b/camera/metadata/3.2/Android.mk
index 6604ccd..86cee91 100644
--- a/camera/metadata/3.2/Android.mk
+++ b/camera/metadata/3.2/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.camera.metadata@3.2-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -1236,7 +1236,7 @@
LOCAL_MODULE := android.hardware.camera.metadata@3.2-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/camera/provider/2.4/Android.bp b/camera/provider/2.4/Android.bp
index 1874cd5..3369a3c 100644
--- a/camera/provider/2.4/Android.bp
+++ b/camera/provider/2.4/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4",
srcs: [
- "ICameraProvider.hal",
- "ICameraProviderCallback.hal",
+ ":android.hardware.camera.provider@2.4_hal",
],
out: [
"android/hardware/camera/provider/2.4/CameraProviderAll.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4",
srcs: [
- "ICameraProvider.hal",
- "ICameraProviderCallback.hal",
+ ":android.hardware.camera.provider@2.4_hal",
],
out: [
"android/hardware/camera/provider/2.4/ICameraProvider.h",
diff --git a/camera/provider/2.4/default/CameraProvider.cpp b/camera/provider/2.4/default/CameraProvider.cpp
index f1a66a8..5714f83 100644
--- a/camera/provider/2.4/default/CameraProvider.cpp
+++ b/camera/provider/2.4/default/CameraProvider.cpp
@@ -51,8 +51,7 @@
const struct camera_module_callbacks* callbacks,
int camera_id,
int new_status) {
- ALOGI("%s++", __FUNCTION__);
- sp<CameraProvider> cp = const_cast<CameraProvider*>(
+ CameraProvider* cp = const_cast<CameraProvider*>(
static_cast<const CameraProvider*>(callbacks));
if (cp == nullptr) {
@@ -60,7 +59,7 @@
return;
}
- ALOGI("%s resolved provider %p", __FUNCTION__, cp.get());
+ ALOGI("%s resolved provider %p", __FUNCTION__, cp);
Mutex::Autolock _l(cp->mCbLock);
char cameraId[kMaxCameraIdLen];
@@ -76,15 +75,13 @@
}
}
}
- ALOGI("%s--", __FUNCTION__);
}
void CameraProvider::sTorchModeStatusChange(
const struct camera_module_callbacks* callbacks,
const char* camera_id,
int new_status) {
- ALOGI("%s++", __FUNCTION__);
- sp<CameraProvider> cp = const_cast<CameraProvider*>(
+ CameraProvider* cp = const_cast<CameraProvider*>(
static_cast<const CameraProvider*>(callbacks));
if (cp == nullptr) {
@@ -92,7 +89,7 @@
return;
}
- ALOGI("%s resolved provider %p", __FUNCTION__, cp.get());
+ ALOGI("%s resolved provider %p", __FUNCTION__, cp);
Mutex::Autolock _l(cp->mCbLock);
if (cp->mCallbacks != nullptr) {
@@ -105,7 +102,6 @@
}
}
}
- ALOGI("%s--", __FUNCTION__);
}
Status CameraProvider::getHidlStatus(int status) {
@@ -234,8 +230,10 @@
// Setup vendor tags here so HAL can setup vendor keys in camera characteristics
VendorTagDescriptor::clearGlobalVendorTagDescriptor();
- bool setupSucceed = setUpVendorTags();
- return !setupSucceed; // return flag here is mInitFailed
+ if (!setUpVendorTags()) {
+ ALOGE("%s: Vendor tag setup failed, will not be available.", __FUNCTION__);
+ }
+ return false; // mInitFailed
}
bool CameraProvider::setUpVendorTags() {
@@ -245,7 +243,7 @@
// Check if vendor operations have been implemented
if (!mModule->isVendorTagDefined()) {
ALOGI("%s: No vendor tags defined for this device.", __FUNCTION__);
- return false;
+ return true;
}
mModule->getVendorTagOps(&vOps);
diff --git a/configstore/1.0/Android.bp b/configstore/1.0/Android.bp
index 5b3242e..c2cd54a 100644
--- a/configstore/1.0/Android.bp
+++ b/configstore/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0",
srcs: [
- "types.hal",
- "ISurfaceFlingerConfigs.hal",
+ ":android.hardware.configstore@1.0_hal",
],
out: [
"android/hardware/configstore/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0",
srcs: [
- "types.hal",
- "ISurfaceFlingerConfigs.hal",
+ ":android.hardware.configstore@1.0_hal",
],
out: [
"android/hardware/configstore/1.0/types.h",
diff --git a/configstore/1.0/Android.mk b/configstore/1.0/Android.mk
index fd2718e..010d509 100644
--- a/configstore/1.0/Android.mk
+++ b/configstore/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.configstore@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -159,7 +159,7 @@
LOCAL_MODULE := android.hardware.configstore@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/contexthub/1.0/Android.bp b/contexthub/1.0/Android.bp
index 556894d..8cd4acb 100644
--- a/contexthub/1.0/Android.bp
+++ b/contexthub/1.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0",
srcs: [
- "types.hal",
- "IContexthub.hal",
- "IContexthubCallback.hal",
+ ":android.hardware.contexthub@1.0_hal",
],
out: [
"android/hardware/contexthub/1.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0",
srcs: [
- "types.hal",
- "IContexthub.hal",
- "IContexthubCallback.hal",
+ ":android.hardware.contexthub@1.0_hal",
],
out: [
"android/hardware/contexthub/1.0/types.h",
diff --git a/contexthub/1.0/Android.mk b/contexthub/1.0/Android.mk
index c73c5c4..a053986 100644
--- a/contexthub/1.0/Android.mk
+++ b/contexthub/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.contexthub@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -334,7 +334,7 @@
LOCAL_MODULE := android.hardware.contexthub@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/drm/1.0/Android.bp b/drm/1.0/Android.bp
index d96ba14..0241984 100644
--- a/drm/1.0/Android.bp
+++ b/drm/1.0/Android.bp
@@ -17,12 +17,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0",
srcs: [
- "types.hal",
- "ICryptoFactory.hal",
- "ICryptoPlugin.hal",
- "IDrmFactory.hal",
- "IDrmPlugin.hal",
- "IDrmPluginListener.hal",
+ ":android.hardware.drm@1.0_hal",
],
out: [
"android/hardware/drm/1.0/types.cpp",
@@ -39,12 +34,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0",
srcs: [
- "types.hal",
- "ICryptoFactory.hal",
- "ICryptoPlugin.hal",
- "IDrmFactory.hal",
- "IDrmPlugin.hal",
- "IDrmPluginListener.hal",
+ ":android.hardware.drm@1.0_hal",
],
out: [
"android/hardware/drm/1.0/types.h",
diff --git a/dumpstate/1.0/Android.bp b/dumpstate/1.0/Android.bp
index 127b22a..1b473bc 100644
--- a/dumpstate/1.0/Android.bp
+++ b/dumpstate/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0",
srcs: [
- "IDumpstateDevice.hal",
+ ":android.hardware.dumpstate@1.0_hal",
],
out: [
"android/hardware/dumpstate/1.0/DumpstateDeviceAll.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0",
srcs: [
- "IDumpstateDevice.hal",
+ ":android.hardware.dumpstate@1.0_hal",
],
out: [
"android/hardware/dumpstate/1.0/IDumpstateDevice.h",
diff --git a/evs/1.0/Android.bp b/evs/1.0/Android.bp
index 7c23996..89bac10 100644
--- a/evs/1.0/Android.bp
+++ b/evs/1.0/Android.bp
@@ -16,11 +16,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0",
srcs: [
- "types.hal",
- "IEvsCamera.hal",
- "IEvsCameraStream.hal",
- "IEvsDisplay.hal",
- "IEvsEnumerator.hal",
+ ":android.hardware.evs@1.0_hal",
],
out: [
"android/hardware/evs/1.0/types.cpp",
@@ -36,11 +32,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0",
srcs: [
- "types.hal",
- "IEvsCamera.hal",
- "IEvsCameraStream.hal",
- "IEvsDisplay.hal",
- "IEvsEnumerator.hal",
+ ":android.hardware.evs@1.0_hal",
],
out: [
"android/hardware/evs/1.0/types.h",
diff --git a/example/extension/light/2.0/Android.bp b/example/extension/light/2.0/Android.bp
index a658356..cf345da 100644
--- a/example/extension/light/2.0/Android.bp
+++ b/example/extension/light/2.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0",
srcs: [
- "types.hal",
- "IExtLight.hal",
+ ":android.hardware.example.extension.light@2.0_hal",
],
out: [
"android/hardware/example/extension/light/2.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0",
srcs: [
- "types.hal",
- "IExtLight.hal",
+ ":android.hardware.example.extension.light@2.0_hal",
],
out: [
"android/hardware/example/extension/light/2.0/types.h",
diff --git a/example/extension/light/2.0/Android.mk b/example/extension/light/2.0/Android.mk
index deb7a2a..0b79747 100644
--- a/example/extension/light/2.0/Android.mk
+++ b/example/extension/light/2.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.example.extension.light@2.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -103,7 +103,7 @@
LOCAL_MODULE := android.hardware.example.extension.light@2.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/gatekeeper/1.0/Android.bp b/gatekeeper/1.0/Android.bp
index 89e2f39..2697e4c 100644
--- a/gatekeeper/1.0/Android.bp
+++ b/gatekeeper/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0",
srcs: [
- "types.hal",
- "IGatekeeper.hal",
+ ":android.hardware.gatekeeper@1.0_hal",
],
out: [
"android/hardware/gatekeeper/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0",
srcs: [
- "types.hal",
- "IGatekeeper.hal",
+ ":android.hardware.gatekeeper@1.0_hal",
],
out: [
"android/hardware/gatekeeper/1.0/types.h",
diff --git a/gatekeeper/1.0/Android.mk b/gatekeeper/1.0/Android.mk
index 5d66b45..70206ff 100644
--- a/gatekeeper/1.0/Android.mk
+++ b/gatekeeper/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.gatekeeper@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -83,7 +83,7 @@
LOCAL_MODULE := android.hardware.gatekeeper@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/gnss/1.0/Android.bp b/gnss/1.0/Android.bp
index b76b4c5..16895b6 100644
--- a/gnss/1.0/Android.bp
+++ b/gnss/1.0/Android.bp
@@ -32,27 +32,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0",
srcs: [
- "types.hal",
- "IAGnss.hal",
- "IAGnssCallback.hal",
- "IAGnssRil.hal",
- "IAGnssRilCallback.hal",
- "IGnss.hal",
- "IGnssBatching.hal",
- "IGnssBatchingCallback.hal",
- "IGnssCallback.hal",
- "IGnssConfiguration.hal",
- "IGnssDebug.hal",
- "IGnssGeofenceCallback.hal",
- "IGnssGeofencing.hal",
- "IGnssMeasurement.hal",
- "IGnssMeasurementCallback.hal",
- "IGnssNavigationMessage.hal",
- "IGnssNavigationMessageCallback.hal",
- "IGnssNi.hal",
- "IGnssNiCallback.hal",
- "IGnssXtra.hal",
- "IGnssXtraCallback.hal",
+ ":android.hardware.gnss@1.0_hal",
],
out: [
"android/hardware/gnss/1.0/types.cpp",
@@ -84,27 +64,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0",
srcs: [
- "types.hal",
- "IAGnss.hal",
- "IAGnssCallback.hal",
- "IAGnssRil.hal",
- "IAGnssRilCallback.hal",
- "IGnss.hal",
- "IGnssBatching.hal",
- "IGnssBatchingCallback.hal",
- "IGnssCallback.hal",
- "IGnssConfiguration.hal",
- "IGnssDebug.hal",
- "IGnssGeofenceCallback.hal",
- "IGnssGeofencing.hal",
- "IGnssMeasurement.hal",
- "IGnssMeasurementCallback.hal",
- "IGnssNavigationMessage.hal",
- "IGnssNavigationMessageCallback.hal",
- "IGnssNi.hal",
- "IGnssNiCallback.hal",
- "IGnssXtra.hal",
- "IGnssXtraCallback.hal",
+ ":android.hardware.gnss@1.0_hal",
],
out: [
"android/hardware/gnss/1.0/types.h",
diff --git a/gnss/1.0/Android.mk b/gnss/1.0/Android.mk
index 98c547c..5985c87 100644
--- a/gnss/1.0/Android.mk
+++ b/gnss/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.gnss@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -530,7 +530,7 @@
LOCAL_MODULE := android.hardware.gnss@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -1052,7 +1052,7 @@
LOCAL_MODULE := android.hardware.gnss@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/graphics/allocator/2.0/Android.bp b/graphics/allocator/2.0/Android.bp
index b481fde..69ddd9b 100644
--- a/graphics/allocator/2.0/Android.bp
+++ b/graphics/allocator/2.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0",
srcs: [
- "types.hal",
- "IAllocator.hal",
- "IAllocatorClient.hal",
+ ":android.hardware.graphics.allocator@2.0_hal",
],
out: [
"android/hardware/graphics/allocator/2.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0",
srcs: [
- "types.hal",
- "IAllocator.hal",
- "IAllocatorClient.hal",
+ ":android.hardware.graphics.allocator@2.0_hal",
],
out: [
"android/hardware/graphics/allocator/2.0/types.h",
diff --git a/graphics/common/1.0/Android.bp b/graphics/common/1.0/Android.bp
index 4524e3a..99370e8 100644
--- a/graphics/common/1.0/Android.bp
+++ b/graphics/common/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0",
srcs: [
- "types.hal",
+ ":android.hardware.graphics.common@1.0_hal",
],
out: [
"android/hardware/graphics/common/1.0/types.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0",
srcs: [
- "types.hal",
+ ":android.hardware.graphics.common@1.0_hal",
],
out: [
"android/hardware/graphics/common/1.0/types.h",
diff --git a/graphics/common/1.0/Android.mk b/graphics/common/1.0/Android.mk
index 0fa6dcc..c08053d 100644
--- a/graphics/common/1.0/Android.mk
+++ b/graphics/common/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.graphics.common@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -134,7 +134,7 @@
LOCAL_MODULE := android.hardware.graphics.common@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -260,7 +260,7 @@
LOCAL_MODULE := android.hardware.graphics.common@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp
index 9cd753a..f309439 100644
--- a/graphics/composer/2.1/Android.bp
+++ b/graphics/composer/2.1/Android.bp
@@ -15,10 +15,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1",
srcs: [
- "types.hal",
- "IComposer.hal",
- "IComposerCallback.hal",
- "IComposerClient.hal",
+ ":android.hardware.graphics.composer@2.1_hal",
],
out: [
"android/hardware/graphics/composer/2.1/types.cpp",
@@ -33,10 +30,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1",
srcs: [
- "types.hal",
- "IComposer.hal",
- "IComposerCallback.hal",
- "IComposerClient.hal",
+ ":android.hardware.graphics.composer@2.1_hal",
],
out: [
"android/hardware/graphics/composer/2.1/types.h",
diff --git a/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc b/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc
index fc21d59..9548d41 100644
--- a/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc
+++ b/graphics/composer/2.1/default/android.hardware.graphics.composer@2.1-service.rc
@@ -2,4 +2,5 @@
class hal
user system
group graphics drmrpc readproc
+ capabilities SYS_NICE
onrestart restart surfaceflinger
diff --git a/graphics/composer/2.1/default/service.cpp b/graphics/composer/2.1/default/service.cpp
index a31decd..656673e 100644
--- a/graphics/composer/2.1/default/service.cpp
+++ b/graphics/composer/2.1/default/service.cpp
@@ -16,6 +16,8 @@
#define LOG_TAG "android.hardware.graphics.composer@2.1-service"
+#include <sched.h>
+
#include <android/hardware/graphics/composer/2.1/IComposer.h>
#include <binder/ProcessState.h>
@@ -29,5 +31,13 @@
android::ProcessState::self()->setThreadPoolMaxThreadCount(4);
android::ProcessState::self()->startThreadPool();
+ // same as SF main thread
+ struct sched_param param = {0};
+ param.sched_priority = 2;
+ if (sched_setscheduler(0, SCHED_FIFO | SCHED_RESET_ON_FORK,
+ ¶m) != 0) {
+ ALOGE("Couldn't set SCHED_FIFO: %d", errno);
+ }
+
return defaultPassthroughServiceImplementation<IComposer>("hwcomposer");
}
diff --git a/graphics/mapper/2.0/Android.bp b/graphics/mapper/2.0/Android.bp
index f53759c..b835b4a 100644
--- a/graphics/mapper/2.0/Android.bp
+++ b/graphics/mapper/2.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0",
srcs: [
- "types.hal",
- "IMapper.hal",
+ ":android.hardware.graphics.mapper@2.0_hal",
],
out: [
"android/hardware/graphics/mapper/2.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0",
srcs: [
- "types.hal",
- "IMapper.hal",
+ ":android.hardware.graphics.mapper@2.0_hal",
],
out: [
"android/hardware/graphics/mapper/2.0/types.h",
diff --git a/health/1.0/Android.bp b/health/1.0/Android.bp
index 189cb3d..a428c7d 100644
--- a/health/1.0/Android.bp
+++ b/health/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0",
srcs: [
- "types.hal",
- "IHealth.hal",
+ ":android.hardware.health@1.0_hal",
],
out: [
"android/hardware/health/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0",
srcs: [
- "types.hal",
- "IHealth.hal",
+ ":android.hardware.health@1.0_hal",
],
out: [
"android/hardware/health/1.0/types.h",
diff --git a/health/1.0/Android.mk b/health/1.0/Android.mk
index f05d227..ebb89a7 100644
--- a/health/1.0/Android.mk
+++ b/health/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.health@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -140,7 +140,7 @@
LOCAL_MODULE := android.hardware.health@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -272,7 +272,7 @@
LOCAL_MODULE := android.hardware.health@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/ir/1.0/Android.bp b/ir/1.0/Android.bp
index 5628952..da49579 100644
--- a/ir/1.0/Android.bp
+++ b/ir/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0",
srcs: [
- "types.hal",
- "IConsumerIr.hal",
+ ":android.hardware.ir@1.0_hal",
],
out: [
"android/hardware/ir/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0",
srcs: [
- "types.hal",
- "IConsumerIr.hal",
+ ":android.hardware.ir@1.0_hal",
],
out: [
"android/hardware/ir/1.0/types.h",
diff --git a/ir/1.0/Android.mk b/ir/1.0/Android.mk
index 660b32b..d43286c 100644
--- a/ir/1.0/Android.mk
+++ b/ir/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.ir@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -64,7 +64,7 @@
LOCAL_MODULE := android.hardware.ir@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/keymaster/3.0/Android.bp b/keymaster/3.0/Android.bp
index ec56292..074bb68 100644
--- a/keymaster/3.0/Android.bp
+++ b/keymaster/3.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0",
srcs: [
- "types.hal",
- "IKeymasterDevice.hal",
+ ":android.hardware.keymaster@3.0_hal",
],
out: [
"android/hardware/keymaster/3.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0",
srcs: [
- "types.hal",
- "IKeymasterDevice.hal",
+ ":android.hardware.keymaster@3.0_hal",
],
out: [
"android/hardware/keymaster/3.0/types.h",
diff --git a/light/2.0/Android.bp b/light/2.0/Android.bp
index 74c8e50..093a9f3 100644
--- a/light/2.0/Android.bp
+++ b/light/2.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.light@2.0",
srcs: [
- "types.hal",
- "ILight.hal",
+ ":android.hardware.light@2.0_hal",
],
out: [
"android/hardware/light/2.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.light@2.0",
srcs: [
- "types.hal",
- "ILight.hal",
+ ":android.hardware.light@2.0_hal",
],
out: [
"android/hardware/light/2.0/types.h",
diff --git a/light/2.0/Android.mk b/light/2.0/Android.mk
index ef19bad..7bb4293 100644
--- a/light/2.0/Android.mk
+++ b/light/2.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.light@2.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -140,7 +140,7 @@
LOCAL_MODULE := android.hardware.light@2.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/media/1.0/Android.bp b/media/1.0/Android.bp
index 36e9eff..7518eb3 100644
--- a/media/1.0/Android.bp
+++ b/media/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0",
srcs: [
- "types.hal",
+ ":android.hardware.media@1.0_hal",
],
out: [
"android/hardware/media/1.0/types.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0",
srcs: [
- "types.hal",
+ ":android.hardware.media@1.0_hal",
],
out: [
"android/hardware/media/1.0/types.h",
diff --git a/media/omx/1.0/Android.bp b/media/omx/1.0/Android.bp
index e042e5d..85d15ae 100644
--- a/media/omx/1.0/Android.bp
+++ b/media/omx/1.0/Android.bp
@@ -19,14 +19,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0",
srcs: [
- "types.hal",
- "IGraphicBufferSource.hal",
- "IOmx.hal",
- "IOmxBufferProducer.hal",
- "IOmxBufferSource.hal",
- "IOmxNode.hal",
- "IOmxObserver.hal",
- "IOmxProducerListener.hal",
+ ":android.hardware.media.omx@1.0_hal",
],
out: [
"android/hardware/media/omx/1.0/types.cpp",
@@ -45,14 +38,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0",
srcs: [
- "types.hal",
- "IGraphicBufferSource.hal",
- "IOmx.hal",
- "IOmxBufferProducer.hal",
- "IOmxBufferSource.hal",
- "IOmxNode.hal",
- "IOmxObserver.hal",
- "IOmxProducerListener.hal",
+ ":android.hardware.media.omx@1.0_hal",
],
out: [
"android/hardware/media/omx/1.0/types.h",
diff --git a/memtrack/1.0/Android.bp b/memtrack/1.0/Android.bp
index 9a1b84a..9f4c7f6 100644
--- a/memtrack/1.0/Android.bp
+++ b/memtrack/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.memtrack@1.0",
srcs: [
- "types.hal",
- "IMemtrack.hal",
+ ":android.hardware.memtrack@1.0_hal",
],
out: [
"android/hardware/memtrack/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.memtrack@1.0",
srcs: [
- "types.hal",
- "IMemtrack.hal",
+ ":android.hardware.memtrack@1.0_hal",
],
out: [
"android/hardware/memtrack/1.0/types.h",
diff --git a/memtrack/1.0/Android.mk b/memtrack/1.0/Android.mk
index eeb67f6..62bee97 100644
--- a/memtrack/1.0/Android.mk
+++ b/memtrack/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.memtrack@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -121,7 +121,7 @@
LOCAL_MODULE := android.hardware.memtrack@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp
index 7f228a7..e7305b4 100644
--- a/nfc/1.0/Android.bp
+++ b/nfc/1.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0",
srcs: [
- "types.hal",
- "INfc.hal",
- "INfcClientCallback.hal",
+ ":android.hardware.nfc@1.0_hal",
],
out: [
"android/hardware/nfc/1.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0",
srcs: [
- "types.hal",
- "INfc.hal",
- "INfcClientCallback.hal",
+ ":android.hardware.nfc@1.0_hal",
],
out: [
"android/hardware/nfc/1.0/types.h",
diff --git a/nfc/1.0/Android.mk b/nfc/1.0/Android.mk
index 823bde5..6f09764 100644
--- a/nfc/1.0/Android.mk
+++ b/nfc/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.nfc@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -106,7 +106,7 @@
LOCAL_MODULE := android.hardware.nfc@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -204,7 +204,7 @@
LOCAL_MODULE := android.hardware.nfc@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/power/1.0/Android.bp b/power/1.0/Android.bp
index 62e03ea..453d525 100644
--- a/power/1.0/Android.bp
+++ b/power/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.power@1.0",
srcs: [
- "types.hal",
- "IPower.hal",
+ ":android.hardware.power@1.0_hal",
],
out: [
"android/hardware/power/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.power@1.0",
srcs: [
- "types.hal",
- "IPower.hal",
+ ":android.hardware.power@1.0_hal",
],
out: [
"android/hardware/power/1.0/types.h",
diff --git a/power/1.0/Android.mk b/power/1.0/Android.mk
index 4e11867..98d95a8 100644
--- a/power/1.0/Android.mk
+++ b/power/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.power@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -140,7 +140,7 @@
LOCAL_MODULE := android.hardware.power@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp
index d9df910..f59cf66 100644
--- a/radio/1.0/Android.bp
+++ b/radio/1.0/Android.bp
@@ -17,12 +17,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0",
srcs: [
- "types.hal",
- "IRadio.hal",
- "IRadioIndication.hal",
- "IRadioResponse.hal",
- "ISap.hal",
- "ISapCallback.hal",
+ ":android.hardware.radio@1.0_hal",
],
out: [
"android/hardware/radio/1.0/types.cpp",
@@ -39,12 +34,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0",
srcs: [
- "types.hal",
- "IRadio.hal",
- "IRadioIndication.hal",
- "IRadioResponse.hal",
- "ISap.hal",
- "ISapCallback.hal",
+ ":android.hardware.radio@1.0_hal",
],
out: [
"android/hardware/radio/1.0/types.h",
diff --git a/radio/1.0/Android.mk b/radio/1.0/Android.mk
index 704ea08..7f4c7d4 100644
--- a/radio/1.0/Android.mk
+++ b/radio/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.radio@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -3023,7 +3023,7 @@
LOCAL_MODULE := android.hardware.radio@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/radio/1.0/IRadioResponse.hal b/radio/1.0/IRadioResponse.hal
index 538c06d..dafd264 100644
--- a/radio/1.0/IRadioResponse.hal
+++ b/radio/1.0/IRadioResponse.hal
@@ -1562,6 +1562,16 @@
/*
* @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:GENERIC_FAILURE
+ */
+ oneway reportStkServiceIsRunningResponse(RadioResponseInfo info);
+
+ /*
+ * @param info Response info struct containing response type, serial no. and error
* @param source CDMA subscription source
*
* Valid errors returned:
diff --git a/sensors/1.0/Android.bp b/sensors/1.0/Android.bp
index 1ddb50c..8357dbe 100644
--- a/sensors/1.0/Android.bp
+++ b/sensors/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.sensors@1.0",
srcs: [
- "types.hal",
- "ISensors.hal",
+ ":android.hardware.sensors@1.0_hal",
],
out: [
"android/hardware/sensors/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.sensors@1.0",
srcs: [
- "types.hal",
- "ISensors.hal",
+ ":android.hardware.sensors@1.0_hal",
],
out: [
"android/hardware/sensors/1.0/types.h",
diff --git a/sensors/1.0/Android.mk b/sensors/1.0/Android.mk
index 5784916..29f7c7e 100644
--- a/sensors/1.0/Android.mk
+++ b/sensors/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.sensors@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/sensors/1.0/default/service.cpp b/sensors/1.0/default/service.cpp
index 65f6d81..5bcfe4b 100644
--- a/sensors/1.0/default/service.cpp
+++ b/sensors/1.0/default/service.cpp
@@ -23,9 +23,5 @@
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
- /* Sensors framework service needs at least two threads.
- * One thread blocks on a "poll"
- * The second thread is needed for all other HAL methods.
- */
- return defaultPassthroughServiceImplementation<ISensors>(2);
+ return defaultPassthroughServiceImplementation<ISensors>();
}
diff --git a/soundtrigger/2.0/Android.bp b/soundtrigger/2.0/Android.bp
index 1473776..4d2bb1a 100644
--- a/soundtrigger/2.0/Android.bp
+++ b/soundtrigger/2.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0",
srcs: [
- "types.hal",
- "ISoundTriggerHw.hal",
- "ISoundTriggerHwCallback.hal",
+ ":android.hardware.soundtrigger@2.0_hal",
],
out: [
"android/hardware/soundtrigger/2.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0",
srcs: [
- "types.hal",
- "ISoundTriggerHw.hal",
- "ISoundTriggerHwCallback.hal",
+ ":android.hardware.soundtrigger@2.0_hal",
],
out: [
"android/hardware/soundtrigger/2.0/types.h",
diff --git a/tests/Android.bp b/tests/Android.bp
index 8b3e8b1..337e4f4 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -17,4 +17,7 @@
"pointer/1.0",
"pointer/1.0/default",
"pointer/1.0/default/lib",
+ "versioning/1.0",
+ "versioning/2.2",
+ "versioning/2.3",
]
diff --git a/tests/bar/1.0/Android.bp b/tests/bar/1.0/Android.bp
index 924b3ab..694804c 100644
--- a/tests/bar/1.0/Android.bp
+++ b/tests/bar/1.0/Android.bp
@@ -17,12 +17,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
srcs: [
- "types.hal",
- "IBar.hal",
- "IComplicated.hal",
- "IFooCallback.hal",
- "IImportRules.hal",
- "IImportTypes.hal",
+ ":android.hardware.tests.bar@1.0_hal",
],
out: [
"android/hardware/tests/bar/1.0/types.cpp",
@@ -39,12 +34,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
srcs: [
- "types.hal",
- "IBar.hal",
- "IComplicated.hal",
- "IFooCallback.hal",
- "IImportRules.hal",
- "IImportTypes.hal",
+ ":android.hardware.tests.bar@1.0_hal",
],
out: [
"android/hardware/tests/bar/1.0/types.h",
diff --git a/tests/baz/1.0/Android.bp b/tests/baz/1.0/Android.bp
index 1cf71b6..7939444 100644
--- a/tests/baz/1.0/Android.bp
+++ b/tests/baz/1.0/Android.bp
@@ -15,10 +15,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
srcs: [
- "types.hal",
- "IBase.hal",
- "IBaz.hal",
- "IBazCallback.hal",
+ ":android.hardware.tests.baz@1.0_hal",
],
out: [
"android/hardware/tests/baz/1.0/types.cpp",
@@ -33,10 +30,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
srcs: [
- "types.hal",
- "IBase.hal",
- "IBaz.hal",
- "IBazCallback.hal",
+ ":android.hardware.tests.baz@1.0_hal",
],
out: [
"android/hardware/tests/baz/1.0/types.h",
diff --git a/tests/baz/1.0/Android.mk b/tests/baz/1.0/Android.mk
index 82ba3cb..40026ec 100644
--- a/tests/baz/1.0/Android.mk
+++ b/tests/baz/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.tests.baz@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -85,7 +85,7 @@
LOCAL_MODULE := android.hardware.tests.baz@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/tests/expression/1.0/Android.bp b/tests/expression/1.0/Android.bp
index 1730aba..5279503 100644
--- a/tests/expression/1.0/Android.bp
+++ b/tests/expression/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
srcs: [
- "IExpression.hal",
- "IExpressionExt.hal",
+ ":android.hardware.tests.expression@1.0_hal",
],
out: [
"android/hardware/tests/expression/1.0/ExpressionAll.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
srcs: [
- "IExpression.hal",
- "IExpressionExt.hal",
+ ":android.hardware.tests.expression@1.0_hal",
],
out: [
"android/hardware/tests/expression/1.0/IExpression.h",
diff --git a/tests/expression/1.0/Android.mk b/tests/expression/1.0/Android.mk
index 1c7da4b..6bc9390 100644
--- a/tests/expression/1.0/Android.mk
+++ b/tests/expression/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.tests.expression@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -64,7 +64,7 @@
LOCAL_MODULE := android.hardware.tests.expression@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/tests/foo/1.0/Android.bp b/tests/foo/1.0/Android.bp
index c65d3cf..9572855 100644
--- a/tests/foo/1.0/Android.bp
+++ b/tests/foo/1.0/Android.bp
@@ -17,12 +17,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
srcs: [
- "types.hal",
- "IFoo.hal",
- "IFooCallback.hal",
- "IMyTypes.hal",
- "ISimple.hal",
- "ITheirTypes.hal",
+ ":android.hardware.tests.foo@1.0_hal",
],
out: [
"android/hardware/tests/foo/1.0/types.cpp",
@@ -39,12 +34,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
srcs: [
- "types.hal",
- "IFoo.hal",
- "IFooCallback.hal",
- "IMyTypes.hal",
- "ISimple.hal",
- "ITheirTypes.hal",
+ ":android.hardware.tests.foo@1.0_hal",
],
out: [
"android/hardware/tests/foo/1.0/types.h",
diff --git a/tests/inheritance/1.0/Android.bp b/tests/inheritance/1.0/Android.bp
index 433e9ac..f50aee4 100644
--- a/tests/inheritance/1.0/Android.bp
+++ b/tests/inheritance/1.0/Android.bp
@@ -15,10 +15,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
srcs: [
- "IChild.hal",
- "IFetcher.hal",
- "IGrandparent.hal",
- "IParent.hal",
+ ":android.hardware.tests.inheritance@1.0_hal",
],
out: [
"android/hardware/tests/inheritance/1.0/ChildAll.cpp",
@@ -33,10 +30,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
srcs: [
- "IChild.hal",
- "IFetcher.hal",
- "IGrandparent.hal",
- "IParent.hal",
+ ":android.hardware.tests.inheritance@1.0_hal",
],
out: [
"android/hardware/tests/inheritance/1.0/IChild.h",
diff --git a/tests/inheritance/1.0/Android.mk b/tests/inheritance/1.0/Android.mk
index 8c1b1c8..21aac00 100644
--- a/tests/inheritance/1.0/Android.mk
+++ b/tests/inheritance/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.tests.inheritance@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -110,7 +110,7 @@
LOCAL_MODULE := android.hardware.tests.inheritance@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/tests/libhwbinder/1.0/Android.bp b/tests/libhwbinder/1.0/Android.bp
index 1d0b4b5..580e961 100644
--- a/tests/libhwbinder/1.0/Android.bp
+++ b/tests/libhwbinder/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
srcs: [
- "IBenchmark.hal",
+ ":android.hardware.tests.libhwbinder@1.0_hal",
],
out: [
"android/hardware/tests/libhwbinder/1.0/BenchmarkAll.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
srcs: [
- "IBenchmark.hal",
+ ":android.hardware.tests.libhwbinder@1.0_hal",
],
out: [
"android/hardware/tests/libhwbinder/1.0/IBenchmark.h",
diff --git a/tests/libhwbinder/1.0/Android.mk b/tests/libhwbinder/1.0/Android.mk
index ae873af..2ee26d6 100644
--- a/tests/libhwbinder/1.0/Android.mk
+++ b/tests/libhwbinder/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.tests.libhwbinder@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -43,7 +43,7 @@
LOCAL_MODULE := android.hardware.tests.libhwbinder@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/tests/memory/1.0/Android.bp b/tests/memory/1.0/Android.bp
index 3f27810..49faf41 100644
--- a/tests/memory/1.0/Android.bp
+++ b/tests/memory/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
srcs: [
- "IMemoryTest.hal",
+ ":android.hardware.tests.memory@1.0_hal",
],
out: [
"android/hardware/tests/memory/1.0/MemoryTestAll.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
srcs: [
- "IMemoryTest.hal",
+ ":android.hardware.tests.memory@1.0_hal",
],
out: [
"android/hardware/tests/memory/1.0/IMemoryTest.h",
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp
index 39fef89..d17efe4 100644
--- a/tests/msgq/1.0/Android.bp
+++ b/tests/msgq/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
srcs: [
- "ITestMsgQ.hal",
+ ":android.hardware.tests.msgq@1.0_hal",
],
out: [
"android/hardware/tests/msgq/1.0/TestMsgQAll.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
srcs: [
- "ITestMsgQ.hal",
+ ":android.hardware.tests.msgq@1.0_hal",
],
out: [
"android/hardware/tests/msgq/1.0/ITestMsgQ.h",
diff --git a/tests/pointer/1.0/Android.bp b/tests/pointer/1.0/Android.bp
index e40003d..7f66e2a 100644
--- a/tests/pointer/1.0/Android.bp
+++ b/tests/pointer/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
srcs: [
- "IGraph.hal",
- "IPointer.hal",
+ ":android.hardware.tests.pointer@1.0_hal",
],
out: [
"android/hardware/tests/pointer/1.0/GraphAll.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
srcs: [
- "IGraph.hal",
- "IPointer.hal",
+ ":android.hardware.tests.pointer@1.0_hal",
],
out: [
"android/hardware/tests/pointer/1.0/IGraph.h",
diff --git a/tests/versioning/1.0/Android.bp b/tests/versioning/1.0/Android.bp
new file mode 100644
index 0000000..fd331f2
--- /dev/null
+++ b/tests/versioning/1.0/Android.bp
@@ -0,0 +1,59 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+ name: "android.hardware.tests.versioning@1.0_hal",
+ srcs: [
+ "IFoo.hal",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0",
+ srcs: [
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/1.0/FooAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@1.0_genc++_headers",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0",
+ srcs: [
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/1.0/IFoo.h",
+ "android/hardware/tests/versioning/1.0/IHwFoo.h",
+ "android/hardware/tests/versioning/1.0/BnHwFoo.h",
+ "android/hardware/tests/versioning/1.0/BpHwFoo.h",
+ "android/hardware/tests/versioning/1.0/BsFoo.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.versioning@1.0",
+ generated_sources: ["android.hardware.tests.versioning@1.0_genc++"],
+ generated_headers: ["android.hardware.tests.versioning@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.versioning@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hidl.base@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
diff --git a/tests/versioning/1.0/Android.mk b/tests/versioning/1.0/Android.mk
new file mode 100644
index 0000000..753ad0c
--- /dev/null
+++ b/tests/versioning/1.0/Android.mk
@@ -0,0 +1,76 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.tests.versioning@1.0-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V1_0/IFoo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@1.0::IFoo
+
+$(GEN): $(LOCAL_PATH)/IFoo.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.tests.versioning@1.0-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V1_0/IFoo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@1.0::IFoo
+
+$(GEN): $(LOCAL_PATH)/IFoo.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/versioning/1.0/IFoo.hal b/tests/versioning/1.0/IFoo.hal
new file mode 100644
index 0000000..0571eff
--- /dev/null
+++ b/tests/versioning/1.0/IFoo.hal
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 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.tests.versioning@1.0;
+
+interface IFoo {
+};
diff --git a/tests/versioning/2.2/Android.bp b/tests/versioning/2.2/Android.bp
new file mode 100644
index 0000000..5e90105
--- /dev/null
+++ b/tests/versioning/2.2/Android.bp
@@ -0,0 +1,68 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+ name: "android.hardware.tests.versioning@2.2_hal",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.2_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@2.2",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.2/BarAll.cpp",
+ "android/hardware/tests/versioning/2.2/FooAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.2_genc++_headers",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@2.2",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.2/IBar.h",
+ "android/hardware/tests/versioning/2.2/IHwBar.h",
+ "android/hardware/tests/versioning/2.2/BnHwBar.h",
+ "android/hardware/tests/versioning/2.2/BpHwBar.h",
+ "android/hardware/tests/versioning/2.2/BsBar.h",
+ "android/hardware/tests/versioning/2.2/IFoo.h",
+ "android/hardware/tests/versioning/2.2/IHwFoo.h",
+ "android/hardware/tests/versioning/2.2/BnHwFoo.h",
+ "android/hardware/tests/versioning/2.2/BpHwFoo.h",
+ "android/hardware/tests/versioning/2.2/BsFoo.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.versioning@2.2",
+ generated_sources: ["android.hardware.tests.versioning@2.2_genc++"],
+ generated_headers: ["android.hardware.tests.versioning@2.2_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.versioning@2.2_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hidl.base@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
diff --git a/tests/versioning/2.2/Android.mk b/tests/versioning/2.2/Android.mk
new file mode 100644
index 0000000..6376652
--- /dev/null
+++ b/tests/versioning/2.2/Android.mk
@@ -0,0 +1,114 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.tests.versioning@2.2-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.2::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/IFoo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.2::IFoo
+
+$(GEN): $(LOCAL_PATH)/IFoo.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.tests.versioning@2.2-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.2::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/IFoo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.2::IFoo
+
+$(GEN): $(LOCAL_PATH)/IFoo.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/versioning/2.2/IBar.hal b/tests/versioning/2.2/IBar.hal
new file mode 100644
index 0000000..e28ce19
--- /dev/null
+++ b/tests/versioning/2.2/IBar.hal
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 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.tests.versioning@2.2;
+
+interface IBar {
+
+};
diff --git a/tests/versioning/2.2/IFoo.hal b/tests/versioning/2.2/IFoo.hal
new file mode 100644
index 0000000..d6b8782
--- /dev/null
+++ b/tests/versioning/2.2/IFoo.hal
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 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.tests.versioning@2.2;
+
+interface IFoo {
+
+};
diff --git a/tests/versioning/2.3/Android.bp b/tests/versioning/2.3/Android.bp
new file mode 100644
index 0000000..1489539
--- /dev/null
+++ b/tests/versioning/2.3/Android.bp
@@ -0,0 +1,68 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+ name: "android.hardware.tests.versioning@2.3_hal",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.3_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@2.3",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.3/BarAll.cpp",
+ "android/hardware/tests/versioning/2.3/FooAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.3_genc++_headers",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@2.3",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.3/IBar.h",
+ "android/hardware/tests/versioning/2.3/IHwBar.h",
+ "android/hardware/tests/versioning/2.3/BnHwBar.h",
+ "android/hardware/tests/versioning/2.3/BpHwBar.h",
+ "android/hardware/tests/versioning/2.3/BsBar.h",
+ "android/hardware/tests/versioning/2.3/IFoo.h",
+ "android/hardware/tests/versioning/2.3/IHwFoo.h",
+ "android/hardware/tests/versioning/2.3/BnHwFoo.h",
+ "android/hardware/tests/versioning/2.3/BpHwFoo.h",
+ "android/hardware/tests/versioning/2.3/BsFoo.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.versioning@2.3",
+ generated_sources: ["android.hardware.tests.versioning@2.3_genc++"],
+ generated_headers: ["android.hardware.tests.versioning@2.3_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.versioning@2.3_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hardware.tests.versioning@2.2",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.tests.versioning@2.2",
+ ],
+}
diff --git a/tests/versioning/2.3/Android.mk b/tests/versioning/2.3/Android.mk
new file mode 100644
index 0000000..5b05152
--- /dev/null
+++ b/tests/versioning/2.3/Android.mk
@@ -0,0 +1,116 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.tests.versioning@2.3-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hardware.tests.versioning@2.2-java \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.3::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/IFoo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.3::IFoo
+
+$(GEN): $(LOCAL_PATH)/IFoo.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.tests.versioning@2.3-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hardware.tests.versioning@2.2-java-static \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.3::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/IFoo.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.tests.versioning@2.3::IFoo
+
+$(GEN): $(LOCAL_PATH)/IFoo.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/versioning/2.3/IBar.hal b/tests/versioning/2.3/IBar.hal
new file mode 100644
index 0000000..946d42e
--- /dev/null
+++ b/tests/versioning/2.3/IBar.hal
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 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.tests.versioning@2.3;
+
+import @2.2::IBar;
+
+// Must extend @2.3::IBar.
+interface IBar extends @2.2::IBar {
+
+};
diff --git a/tests/versioning/2.3/IFoo.hal b/tests/versioning/2.3/IFoo.hal
new file mode 100644
index 0000000..c450dd2
--- /dev/null
+++ b/tests/versioning/2.3/IFoo.hal
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 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.tests.versioning@2.3;
+
+import @2.2::IFoo;
+
+// Must extend @2.3::IFoo.
+interface IFoo extends @2.2::IFoo {
+
+};
diff --git a/thermal/1.0/Android.bp b/thermal/1.0/Android.bp
index c4b6d39..fab5533 100644
--- a/thermal/1.0/Android.bp
+++ b/thermal/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.0",
srcs: [
- "types.hal",
- "IThermal.hal",
+ ":android.hardware.thermal@1.0_hal",
],
out: [
"android/hardware/thermal/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.0",
srcs: [
- "types.hal",
- "IThermal.hal",
+ ":android.hardware.thermal@1.0_hal",
],
out: [
"android/hardware/thermal/1.0/types.h",
diff --git a/thermal/1.0/Android.mk b/thermal/1.0/Android.mk
index b88bb81..7748b9e 100644
--- a/thermal/1.0/Android.mk
+++ b/thermal/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.thermal@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -178,7 +178,7 @@
LOCAL_MODULE := android.hardware.thermal@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -348,7 +348,7 @@
LOCAL_MODULE := android.hardware.thermal@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/tv/cec/1.0/Android.bp b/tv/cec/1.0/Android.bp
index d2eee14..5c6919d 100644
--- a/tv/cec/1.0/Android.bp
+++ b/tv/cec/1.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0",
srcs: [
- "types.hal",
- "IHdmiCec.hal",
- "IHdmiCecCallback.hal",
+ ":android.hardware.tv.cec@1.0_hal",
],
out: [
"android/hardware/tv/cec/1.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0",
srcs: [
- "types.hal",
- "IHdmiCec.hal",
- "IHdmiCecCallback.hal",
+ ":android.hardware.tv.cec@1.0_hal",
],
out: [
"android/hardware/tv/cec/1.0/types.h",
diff --git a/tv/cec/1.0/Android.mk b/tv/cec/1.0/Android.mk
index efa71a1..b08099e 100644
--- a/tv/cec/1.0/Android.mk
+++ b/tv/cec/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.tv.cec@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -296,7 +296,7 @@
LOCAL_MODULE := android.hardware.tv.cec@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/tv/input/1.0/Android.bp b/tv/input/1.0/Android.bp
index 3666b85..ae5e3de 100644
--- a/tv/input/1.0/Android.bp
+++ b/tv/input/1.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0",
srcs: [
- "types.hal",
- "ITvInput.hal",
- "ITvInputCallback.hal",
+ ":android.hardware.tv.input@1.0_hal",
],
out: [
"android/hardware/tv/input/1.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0",
srcs: [
- "types.hal",
- "ITvInput.hal",
- "ITvInputCallback.hal",
+ ":android.hardware.tv.input@1.0_hal",
],
out: [
"android/hardware/tv/input/1.0/types.h",
diff --git a/usb/1.0/Android.bp b/usb/1.0/Android.bp
index 3505ded..0b641f1 100644
--- a/usb/1.0/Android.bp
+++ b/usb/1.0/Android.bp
@@ -14,9 +14,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0",
srcs: [
- "types.hal",
- "IUsb.hal",
- "IUsbCallback.hal",
+ ":android.hardware.usb@1.0_hal",
],
out: [
"android/hardware/usb/1.0/types.cpp",
@@ -30,9 +28,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0",
srcs: [
- "types.hal",
- "IUsb.hal",
- "IUsbCallback.hal",
+ ":android.hardware.usb@1.0_hal",
],
out: [
"android/hardware/usb/1.0/types.h",
diff --git a/usb/1.0/Android.mk b/usb/1.0/Android.mk
index 0eded5b..7be7147 100644
--- a/usb/1.0/Android.mk
+++ b/usb/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.usb@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -201,7 +201,7 @@
LOCAL_MODULE := android.hardware.usb@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -394,7 +394,7 @@
LOCAL_MODULE := android.hardware.usb@1.0-java-constants
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
diff --git a/vibrator/1.0/Android.bp b/vibrator/1.0/Android.bp
index aeefb5d..d6813ea 100644
--- a/vibrator/1.0/Android.bp
+++ b/vibrator/1.0/Android.bp
@@ -13,8 +13,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.0",
srcs: [
- "types.hal",
- "IVibrator.hal",
+ ":android.hardware.vibrator@1.0_hal",
],
out: [
"android/hardware/vibrator/1.0/types.cpp",
@@ -27,8 +26,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.0",
srcs: [
- "types.hal",
- "IVibrator.hal",
+ ":android.hardware.vibrator@1.0_hal",
],
out: [
"android/hardware/vibrator/1.0/types.h",
diff --git a/vibrator/1.0/Android.mk b/vibrator/1.0/Android.mk
index 1437d44..4e1ba6a 100644
--- a/vibrator/1.0/Android.mk
+++ b/vibrator/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.vibrator@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -64,7 +64,7 @@
LOCAL_MODULE := android.hardware.vibrator@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/vr/1.0/Android.bp b/vr/1.0/Android.bp
index ab318f0..b48d010 100644
--- a/vr/1.0/Android.bp
+++ b/vr/1.0/Android.bp
@@ -12,7 +12,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vr@1.0",
srcs: [
- "IVr.hal",
+ ":android.hardware.vr@1.0_hal",
],
out: [
"android/hardware/vr/1.0/VrAll.cpp",
@@ -24,7 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vr@1.0",
srcs: [
- "IVr.hal",
+ ":android.hardware.vr@1.0_hal",
],
out: [
"android/hardware/vr/1.0/IVr.h",
diff --git a/vr/1.0/Android.mk b/vr/1.0/Android.mk
index 1b8e8c7..0fbdaf7 100644
--- a/vr/1.0/Android.mk
+++ b/vr/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.vr@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -43,7 +43,7 @@
LOCAL_MODULE := android.hardware.vr@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
diff --git a/wifi/1.0/Android.bp b/wifi/1.0/Android.bp
index 59326d0..2319999 100644
--- a/wifi/1.0/Android.bp
+++ b/wifi/1.0/Android.bp
@@ -25,20 +25,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.wifi@1.0",
srcs: [
- "types.hal",
- "IWifi.hal",
- "IWifiApIface.hal",
- "IWifiChip.hal",
- "IWifiChipEventCallback.hal",
- "IWifiEventCallback.hal",
- "IWifiIface.hal",
- "IWifiNanIface.hal",
- "IWifiNanIfaceEventCallback.hal",
- "IWifiP2pIface.hal",
- "IWifiRttController.hal",
- "IWifiRttControllerEventCallback.hal",
- "IWifiStaIface.hal",
- "IWifiStaIfaceEventCallback.hal",
+ ":android.hardware.wifi@1.0_hal",
],
out: [
"android/hardware/wifi/1.0/types.cpp",
@@ -63,20 +50,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.wifi@1.0",
srcs: [
- "types.hal",
- "IWifi.hal",
- "IWifiApIface.hal",
- "IWifiChip.hal",
- "IWifiChipEventCallback.hal",
- "IWifiEventCallback.hal",
- "IWifiIface.hal",
- "IWifiNanIface.hal",
- "IWifiNanIfaceEventCallback.hal",
- "IWifiP2pIface.hal",
- "IWifiRttController.hal",
- "IWifiRttControllerEventCallback.hal",
- "IWifiStaIface.hal",
- "IWifiStaIfaceEventCallback.hal",
+ ":android.hardware.wifi@1.0_hal",
],
out: [
"android/hardware/wifi/1.0/types.h",
diff --git a/wifi/1.0/Android.mk b/wifi/1.0/Android.mk
index 708c14c..4476b14 100644
--- a/wifi/1.0/Android.mk
+++ b/wifi/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.wifi@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -74,44 +74,6 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (NanBeaconSdfPayloadInd)
-#
-GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
-$(GEN): $(HIDL)
-$(GEN): PRIVATE_HIDL := $(HIDL)
-$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
-$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
-$(GEN): PRIVATE_CUSTOM_TOOL = \
- $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
- -Ljava \
- -randroid.hardware:hardware/interfaces \
- -randroid.hidl:system/libhidl/transport \
- android.hardware.wifi@1.0::types.NanBeaconSdfPayloadInd
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
-# Build types.hal (NanBeaconSdfPayloadRequest)
-#
-GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
-$(GEN): $(HIDL)
-$(GEN): PRIVATE_HIDL := $(HIDL)
-$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
-$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
-$(GEN): PRIVATE_CUSTOM_TOOL = \
- $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
- -Ljava \
- -randroid.hardware:hardware/interfaces \
- -randroid.hidl:system/libhidl/transport \
- android.hardware.wifi@1.0::types.NanBeaconSdfPayloadRequest
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (NanCapabilities)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanCapabilities.java
@@ -587,25 +549,6 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (NanVsaRxFrameMask)
-#
-GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
-$(GEN): $(HIDL)
-$(GEN): PRIVATE_HIDL := $(HIDL)
-$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
-$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
-$(GEN): PRIVATE_CUSTOM_TOOL = \
- $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
- -Ljava \
- -randroid.hardware:hardware/interfaces \
- -randroid.hidl:system/libhidl/transport \
- android.hardware.wifi@1.0::types.NanVsaRxFrameMask
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (RttBw)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/RttBw.java
@@ -1868,7 +1811,7 @@
LOCAL_MODULE := android.hardware.wifi@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -1934,44 +1877,6 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (NanBeaconSdfPayloadInd)
-#
-GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
-$(GEN): $(HIDL)
-$(GEN): PRIVATE_HIDL := $(HIDL)
-$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
-$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
-$(GEN): PRIVATE_CUSTOM_TOOL = \
- $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
- -Ljava \
- -randroid.hardware:hardware/interfaces \
- -randroid.hidl:system/libhidl/transport \
- android.hardware.wifi@1.0::types.NanBeaconSdfPayloadInd
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
-# Build types.hal (NanBeaconSdfPayloadRequest)
-#
-GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
-$(GEN): $(HIDL)
-$(GEN): PRIVATE_HIDL := $(HIDL)
-$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
-$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
-$(GEN): PRIVATE_CUSTOM_TOOL = \
- $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
- -Ljava \
- -randroid.hardware:hardware/interfaces \
- -randroid.hidl:system/libhidl/transport \
- android.hardware.wifi@1.0::types.NanBeaconSdfPayloadRequest
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (NanCapabilities)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanCapabilities.java
@@ -2447,25 +2352,6 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (NanVsaRxFrameMask)
-#
-GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
-$(GEN): $(HIDL)
-$(GEN): PRIVATE_HIDL := $(HIDL)
-$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
-$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
-$(GEN): PRIVATE_CUSTOM_TOOL = \
- $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
- -Ljava \
- -randroid.hardware:hardware/interfaces \
- -randroid.hidl:system/libhidl/transport \
- android.hardware.wifi@1.0::types.NanVsaRxFrameMask
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (RttBw)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/RttBw.java
diff --git a/wifi/1.0/IWifiNanIface.hal b/wifi/1.0/IWifiNanIface.hal
index 3362339..d1d4ca5 100644
--- a/wifi/1.0/IWifiNanIface.hal
+++ b/wifi/1.0/IWifiNanIface.hal
@@ -21,6 +21,9 @@
/**
* 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 {
/**
@@ -39,7 +42,8 @@
generates (WifiStatus status);
/**
- * Get NAN capabilities.
+ * Get NAN capabilities. Asynchronous response is with
+ * |IWifiNanIfaceEventCallback.notifyCapabilitiesResponse|.
*
* @param cmdId command Id to use for this invocation.
* @return status WifiStatus of the operation.
@@ -53,8 +57,9 @@
/**
* 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
+ * |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|.
@@ -70,7 +75,8 @@
/**
* Configure NAN: configures an existing NAN functionality (i.e. assumes
- * |enableRequest| already submitted and succeeded).
+ * |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|.
@@ -86,6 +92,7 @@
/**
* Disable NAN functionality.
+ * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyDisableResponse|.
*
* @param cmdId command Id to use for this invocation.
* @return status WifiStatus of the operation.
@@ -98,6 +105,7 @@
/**
* 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|.
@@ -113,6 +121,7 @@
/**
* 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.
@@ -122,11 +131,12 @@
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
* |WifiStatusCode.ERROR_UNKNOWN|
*/
- stopPublishRequest(CommandIdShort cmdId, uint16_t sessionId)
+ 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|.
@@ -142,6 +152,7 @@
/**
* 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.
@@ -151,11 +162,12 @@
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
* |WifiStatusCode.ERROR_UNKNOWN|
*/
- stopSubscribeRequest(CommandIdShort cmdId, uint16_t sessionId)
+ 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|.
@@ -171,6 +183,7 @@
/**
* 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.
@@ -184,6 +197,7 @@
/**
* 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.
@@ -197,6 +211,7 @@
/**
* 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|.
@@ -213,6 +228,8 @@
/**
* 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|.
@@ -229,6 +246,7 @@
/**
* 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.
@@ -240,19 +258,4 @@
*/
terminateDataPathRequest(CommandIdShort cmdId, uint32_t ndpInstanceId)
generates (WifiStatus status);
-
- /**
- * Configure NAN Beacon or SDF payload to include vendor-specific payload.
- *
- * @param cmdId command Id to use for this invocation.
- * @param msg Instance of |NanBeaconSdfPayloadRequest|.
- * @return status WifiStatus of the operation.
- * Possible status codes:
- * |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
- * |WifiStatusCode.ERROR_INVALID_ARGS|,
- * |WifiStatusCode.ERROR_UNKNOWN|
- */
- beaconSdfPayloadRequest(CommandIdShort cmdId, NanBeaconSdfPayloadRequest msg)
- generates (WifiStatus status);
};
diff --git a/wifi/1.0/IWifiNanIfaceEventCallback.hal b/wifi/1.0/IWifiNanIfaceEventCallback.hal
index cb4b043..80d67ce 100644
--- a/wifi/1.0/IWifiNanIfaceEventCallback.hal
+++ b/wifi/1.0/IWifiNanIfaceEventCallback.hal
@@ -18,10 +18,19 @@
/**
* NAN Response and Asynchronous Event Callbacks.
+ *
+ * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness
+ * Networking (NAN) Technical Specification".
*/
interface IWifiNanIfaceEventCallback {
/**
- * Callback invoked in response to a capability request |getCapabilitiesRequest|.
+ * Notify callbacks are asynchronous callbacks - but in response to |IWifiNanIface| method calls.
+ * Each method will receive a notify callback to return results (on success) or failure status.
+ */
+
+ /**
+ * Asynchronous callback invoked in response to a capability request
+ * |IWifiNanIface.getCapabilitiesRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -32,7 +41,7 @@
NanCapabilities capabilities);
/**
- * Callback invoked in response to an enable request |enableRequest|.
+ * Asynchronous callback invoked in response to an enable request |IWifiNanIface.enableRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -46,7 +55,7 @@
oneway notifyEnableResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a config request |configRequest|.
+ * Asynchronous callback invoked in response to a config request |IWifiNanIface.configRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -58,7 +67,7 @@
oneway notifyConfigResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a disable request |disableRequest|.
+ * Asynchronous callback invoked in response to a disable request |IWifiNanIface.disableRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -68,7 +77,8 @@
oneway notifyDisableResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked to notify the status of the start publish request |startPublishRequest|.
+ * Asynchronous callback invoked to notify the status of the start publish request
+ * |IWifiNanIface.startPublishRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -79,10 +89,11 @@
* |NanStatusType.INVALID_SESSION_ID|
* @param sessionId ID of the new publish session (if successfully created).
*/
- oneway notifyStartPublishResponse(CommandIdShort id, WifiNanStatus status, uint16_t sessionId);
+ oneway notifyStartPublishResponse(CommandIdShort id, WifiNanStatus status, uint8_t sessionId);
/**
- * Callback invoked in response to a stop publish request |stopPublishRequest|.
+ * Asynchronous callback invoked in response to a stop publish request
+ * |IWifiNanIface.stopPublishRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -93,7 +104,8 @@
oneway notifyStopPublishResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked to notify the status of the start subscribe request |startSubscribeRequest|.
+ * Asynchronous callback invoked to notify the status of the start subscribe request
+ * |IWifiNanIface.startSubscribeRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -104,10 +116,11 @@
* |NanStatusType.INVALID_SESSION_ID|
* @param sessionId ID of the new subscribe session (if successfully created).
*/
- oneway notifyStartSubscribeResponse(CommandIdShort id, WifiNanStatus status, uint16_t sessionId);
+ oneway notifyStartSubscribeResponse(CommandIdShort id, WifiNanStatus status, uint8_t sessionId);
/**
- * Callback invoked in response to a stop subscribe request |stopSubscribeRequest|.
+ * Asynchronous callback invoked in response to a stop subscribe request
+ * |IWifiNanIface.stopSubscribeRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -118,7 +131,8 @@
oneway notifyStopSubscribeResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a transmit followup request |transmitFollowupRequest|.
+ * Asynchronous callback invoked in response to a transmit followup request
+ * |IWifiNanIface.transmitFollowupRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -131,7 +145,8 @@
oneway notifyTransmitFollowupResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a create data interface request |createDataInterfaceRequest|.
+ * Asynchronous callback invoked in response to a create data interface request
+ * |IWifiNanIface.createDataInterfaceRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -142,7 +157,8 @@
oneway notifyCreateDataInterfaceResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a delete data interface request |deleteDataInterfaceRequest|.
+ * Asynchronous callback invoked in response to a delete data interface request
+ * |IWifiNanIface.deleteDataInterfaceRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -153,7 +169,8 @@
oneway notifyDeleteDataInterfaceResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to an initiate data path request |initiateDataPathRequest|.
+ * Asynchronous callback invoked in response to an initiate data path request
+ * |IWifiNanIface.initiateDataPathRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -168,8 +185,8 @@
uint32_t ndpInstanceId );
/**
- * Callback invoked in response to a respond to data path indication request
- * |respondToDataPathIndicationRequest|.
+ * Asynchronous callback invoked in response to a respond to data path indication request
+ * |IWifiNanIface.respondToDataPathIndicationRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -182,7 +199,8 @@
oneway notifyRespondToDataPathIndicationResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a terminate data path request |terminateDataPathRequest|.
+ * Asynchronous callback invoked in response to a terminate data path request
+ * |IWifiNanIface.terminateDataPathRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
@@ -195,18 +213,6 @@
oneway notifyTerminateDataPathResponse(CommandIdShort id, WifiNanStatus status);
/**
- * Callback invoked in response to a request to include vendor-specific payload in beacon or SDF
- * frames |beaconSdfPayloadRequest|.
- *
- * @param cmdId command Id corresponding to the original request.
- * @param status WifiNanStatus of the operation. Possible status codes are:
- * |NanStatusType.SUCCESS|
- * |NanStatusType.INVALID_ARGS|
- * |NanStatusType.INTERNAL_FAILURE|
- */
- oneway notifyBeaconSdfPayloadResponse(CommandIdShort id, WifiNanStatus status);
-
- /**
* Callbacks for the various asynchornous NAN Events.
*/
@@ -235,7 +241,7 @@
* Possible status codes are:
* |NanStatusType.SUCCESS|
*/
- oneway eventPublishTerminated(uint16_t sessionId, WifiNanStatus status);
+ oneway eventPublishTerminated(uint8_t sessionId, WifiNanStatus status);
/**
* Asynchronous callback indicating that an active subscribe session has terminated.
@@ -245,7 +251,7 @@
* Possible status codes are:
* |NanStatusType.SUCCESS|
*/
- oneway eventSubscribeTerminated(uint16_t sessionId, WifiNanStatus status);
+ oneway eventSubscribeTerminated(uint8_t sessionId, WifiNanStatus status);
/**
* Asynchronous callback indicating that a match has occurred: i.e. a service has been
@@ -261,7 +267,7 @@
* @param discoverySessionId: The discovery session ID of the expired match.
* @param peerId: The peer ID of the expired match.
*/
- oneway eventMatchExpired(uint16_t discoverySessionId, uint32_t peerId);
+ oneway eventMatchExpired(uint8_t discoverySessionId, uint32_t peerId);
/**
* Asynchronous callback indicating that a followup message has been received from a peer.
@@ -303,11 +309,4 @@
* @param ndpInstanceId: data-path ID of the terminated data-path.
*/
oneway eventDataPathTerminated(uint32_t ndpInstanceId);
-
- /**
- * Asynchronous callback indicating vendor-specific payload received in NAN beacon or SDF frame.
- *
- * @param event: NanBeaconSdfPayloadInd containing event details.
- */
- oneway eventBeaconSdfPayload(NanBeaconSdfPayloadInd event);
};
diff --git a/wifi/1.0/default/hidl_struct_util.cpp b/wifi/1.0/default/hidl_struct_util.cpp
index 7464b81..e57919d 100644
--- a/wifi/1.0/default/hidl_struct_util.cpp
+++ b/wifi/1.0/default/hidl_struct_util.cpp
@@ -780,12 +780,14 @@
legacy_request->discovery_indication_cfg |=
hidl_request.configParams.disableJoinedClusterIndication ? 0x4 : 0x0;
legacy_request->config_sid_beacon = 1;
- if (hidl_request.configParams.numberOfServiceIdsInBeacon > 127) {
- LOG(ERROR) << "convertHidlNanEnableRequestToLegacy: numberOfServiceIdsInBeacon > 127";
+ if (hidl_request.configParams.numberOfPublishServiceIdsInBeacon > 127) {
+ LOG(ERROR) << "convertHidlNanEnableRequestToLegacy: numberOfPublishServiceIdsInBeacon > 127";
return false;
}
- legacy_request->sid_beacon_val = (hidl_request.configParams.includeServiceIdsInBeacon ? 0x1 : 0x0)
- | (hidl_request.configParams.numberOfServiceIdsInBeacon << 1);
+ legacy_request->sid_beacon_val =
+ (hidl_request.configParams.includePublishServiceIdsInBeacon ? 0x1 : 0x0)
+ | (hidl_request.configParams.numberOfPublishServiceIdsInBeacon << 1);
+ // TODO: b/35195516 connect SubscribeServiceIds to legacy HAL once implemented
legacy_request->config_rssi_window_size = 1;
legacy_request->rssi_window_size_val = hidl_request.configParams.rssiWindowSize;
legacy_request->config_disc_mac_addr_randomization = 1;
@@ -809,7 +811,7 @@
legacy_request->config_2dot4g_rssi_proximity = 1;
legacy_request->rssi_proximity_2dot4g_val =
hidl_request.configParams.bandSpecificConfig[
- (size_t) NanBandIndex::NAN_BAND_24GHZ].rssiProximity;
+ (size_t) NanBandIndex::NAN_BAND_24GHZ].rssiCloseProximity;
legacy_request->config_scan_params = 1;
legacy_request->scan_params_val.dwell_time[legacy_hal::NAN_CHANNEL_24G_BAND] =
hidl_request.configParams.bandSpecificConfig[
@@ -832,7 +834,7 @@
legacy_request->config_5g_rssi_close_proximity = 1;
legacy_request->rssi_close_proximity_5g_val =
hidl_request.configParams.bandSpecificConfig[
- (size_t) NanBandIndex::NAN_BAND_5GHZ].rssiProximity;
+ (size_t) NanBandIndex::NAN_BAND_5GHZ].rssiCloseProximity;
legacy_request->scan_params_val.dwell_time[legacy_hal::NAN_CHANNEL_5G_BAND_LOW] =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].dwellTimeMs;
@@ -850,8 +852,8 @@
legacy_request->config_dw.dw_5g_interval_val = hidl_request.configParams
.bandSpecificConfig[(size_t) NanBandIndex::NAN_BAND_5GHZ].discoveryWindowIntervalVal;
if (hidl_request.debugConfigs.validClusterIdVals) {
- legacy_request->cluster_low = hidl_request.debugConfigs.clusterIdLowVal;
- legacy_request->cluster_high = hidl_request.debugConfigs.clusterIdHighVal;
+ legacy_request->cluster_low = hidl_request.debugConfigs.clusterIdBottomRangeVal;
+ legacy_request->cluster_high = hidl_request.debugConfigs.clusterIdTopRangeVal;
} else { // need 'else' since not configurable in legacy HAL
legacy_request->cluster_low = 0x0000;
legacy_request->cluster_high = 0xFFFF;
@@ -916,6 +918,7 @@
memcpy(legacy_request->service_specific_info,
hidl_request.baseConfigs.serviceSpecificInfo.data(),
legacy_request->service_specific_info_len);
+ // TODO: b/35193423 add support for extended service specific info
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: rx_match_filter_len too large";
@@ -994,6 +997,7 @@
memcpy(legacy_request->service_specific_info,
hidl_request.baseConfigs.serviceSpecificInfo.data(),
legacy_request->service_specific_info_len);
+ // TODO: b/35193423 add support for extended service specific info
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: rx_match_filter_len too large";
@@ -1072,14 +1076,15 @@
legacy_hal::NAN_TX_PRIORITY_HIGH : legacy_hal::NAN_TX_PRIORITY_NORMAL;
legacy_request->dw_or_faw = hidl_request.shouldUseDiscoveryWindow ?
legacy_hal::NAN_TRANSMIT_IN_DW : legacy_hal::NAN_TRANSMIT_IN_FAW;
- legacy_request->service_specific_info_len = hidl_request.message.size();
+ legacy_request->service_specific_info_len = hidl_request.serviceSpecificInfo.size();
if (legacy_request->service_specific_info_len > NAN_MAX_SERVICE_SPECIFIC_INFO_LEN) {
LOG(ERROR) << "convertHidlNanTransmitFollowupRequestToLegacy: service_specific_info_len too large";
return false;
}
memcpy(legacy_request->service_specific_info,
- hidl_request.message.data(),
+ hidl_request.serviceSpecificInfo.data(),
legacy_request->service_specific_info_len);
+ // TODO: b/35193423 add support for extended service specific info
legacy_request->recv_indication_cfg = hidl_request.disableFollowupResultIndication ? 0x1 : 0x0;
return true;
@@ -1104,12 +1109,13 @@
legacy_request->discovery_indication_cfg |=
hidl_request.disableJoinedClusterIndication ? 0x4 : 0x0;
legacy_request->config_sid_beacon = 1;
- if (hidl_request.numberOfServiceIdsInBeacon > 127) {
- LOG(ERROR) << "convertHidlNanConfigRequestToLegacy: numberOfServiceIdsInBeacon > 127";
+ if (hidl_request.numberOfPublishServiceIdsInBeacon > 127) {
+ LOG(ERROR) << "convertHidlNanConfigRequestToLegacy: numberOfPublishServiceIdsInBeacon > 127";
return false;
}
- legacy_request->sid_beacon = (hidl_request.includeServiceIdsInBeacon ? 0x1 : 0x0)
- | (hidl_request.numberOfServiceIdsInBeacon << 1);
+ legacy_request->sid_beacon = (hidl_request.includePublishServiceIdsInBeacon ? 0x1 : 0x0)
+ | (hidl_request.numberOfPublishServiceIdsInBeacon << 1);
+ // TODO: b/35195516 connect SubscribeServiceIds to legacy HAL once implemented
legacy_request->config_rssi_window_size = 1;
legacy_request->rssi_window_size_val = hidl_request.rssiWindowSize;
legacy_request->config_disc_mac_addr_randomization = 1;
@@ -1130,7 +1136,7 @@
legacy_request->config_2dot4g_rssi_proximity = 1;
legacy_request->rssi_proximity_2dot4g_val =
hidl_request.bandSpecificConfig[
- (size_t) NanBandIndex::NAN_BAND_24GHZ].rssiProximity;
+ (size_t) NanBandIndex::NAN_BAND_24GHZ].rssiCloseProximity;
*/
legacy_request->config_scan_params = 1;
legacy_request->scan_params_val.dwell_time[legacy_hal::NAN_CHANNEL_24G_BAND] =
@@ -1156,7 +1162,7 @@
legacy_request->config_5g_rssi_close_proximity = 1;
legacy_request->rssi_close_proximity_5g_val =
hidl_request.bandSpecificConfig[
- (size_t) NanBandIndex::NAN_BAND_5GHZ].rssiProximity;
+ (size_t) NanBandIndex::NAN_BAND_5GHZ].rssiCloseProximity;
legacy_request->scan_params_val.dwell_time[legacy_hal::NAN_CHANNEL_5G_BAND_LOW] =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].dwellTimeMs;
@@ -1177,30 +1183,6 @@
return true;
}
-bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
- const NanBeaconSdfPayloadRequest& hidl_request,
- legacy_hal::NanBeaconSdfPayloadRequest* legacy_request) {
- if (!legacy_request) {
- LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: legacy_request is null";
- return false;
- }
- memset(legacy_request, 0, sizeof(legacy_hal::NanBeaconSdfPayloadRequest));
-
- legacy_request->vsa.payload_transmit_flag = hidl_request.transmitInNext16dws ? 1 : 0;
- legacy_request->vsa.tx_in_discovery_beacon = hidl_request.transmitInDiscoveryBeacon;
- legacy_request->vsa.tx_in_sync_beacon = hidl_request.transmitInSyncBeacon;
- legacy_request->vsa.tx_in_service_discovery = hidl_request.transmitInServiceDiscoveryFrame;
- legacy_request->vsa.vendor_oui = hidl_request.vendorOui;
- legacy_request->vsa.vsa_len = hidl_request.vsa.size();
- if (legacy_request->vsa.vsa_len > NAN_MAX_VSA_DATA_LEN) {
- LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: vsa_len too long";
- return false;
- }
- memcpy(legacy_request->vsa.vsa, hidl_request.vsa.data(), legacy_request->vsa.vsa_len);
-
- return true;
-}
-
bool convertHidlNanDataPathInitiatorRequestToLegacy(
const NanInitiateDataPathRequest& hidl_request,
legacy_hal::NanDataPathInitiatorRequest* legacy_request) {
@@ -1295,7 +1277,8 @@
hidl_response->maxMatchFilterLen = legacy_response.max_match_filter_len;
hidl_response->maxTotalMatchFilterLen = legacy_response.max_total_match_filter_len;
hidl_response->maxServiceSpecificInfoLen = legacy_response.max_service_specific_info_len;
- hidl_response->maxVsaDataLen = legacy_response.max_vsa_data_len;
+ // TODO: b/35193423 add support for extended service specific info
+ hidl_response->maxExtendedServiceSpecificInfoLen = 0;
hidl_response->maxNdiInterfaces = legacy_response.max_ndi_interfaces;
hidl_response->maxNdpSessions = legacy_response.max_ndp_sessions;
hidl_response->maxAppInfoLen = legacy_response.max_app_info_len;
@@ -1319,6 +1302,7 @@
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
hidl_ind->serviceSpecificInfo = std::vector<uint8_t>(legacy_ind.service_specific_info,
legacy_ind.service_specific_info + legacy_ind.service_specific_info_len);
+ // TODO: b/35193423 add support for extended service specific info
hidl_ind->matchFilter = std::vector<uint8_t>(legacy_ind.sdf_match_filter,
legacy_ind.sdf_match_filter + legacy_ind.sdf_match_filter_len);
hidl_ind->matchOccuredInBeaconFlag = legacy_ind.match_occured_flag == 1;
@@ -1346,32 +1330,12 @@
hidl_ind->peerId = legacy_ind.requestor_instance_id;
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
hidl_ind->receivedInFaw = legacy_ind.dw_or_faw == 1;
- hidl_ind->message = std::vector<uint8_t>(legacy_ind.service_specific_info,
+ hidl_ind->serviceSpecificInfo = std::vector<uint8_t>(legacy_ind.service_specific_info,
legacy_ind.service_specific_info + legacy_ind.service_specific_info_len);
return true;
}
-bool convertLegacyNanBeaconSdfPayloadIndToHidl(
- const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
- NanBeaconSdfPayloadInd* hidl_ind) {
- if (!hidl_ind) {
- LOG(ERROR) << "convertLegacyNanBeaconSdfPayloadIndToHidl: hidl_ind is null";
- return false;
- }
- hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
- hidl_ind->isVsaReceived = legacy_ind.is_vsa_received == 1;
- hidl_ind->vsaReceivedOnFrames = legacy_ind.vsa.vsa_received_on;
- hidl_ind->vsaVendorOui = legacy_ind.vsa.vendor_oui;
- hidl_ind->vsa = std::vector<uint8_t>(legacy_ind.vsa.vsa,
- legacy_ind.vsa.vsa + legacy_ind.vsa.attr_len);
- hidl_ind->isBeaconSdfPayloadReceived = legacy_ind.is_beacon_sdf_payload_received == 1;
- hidl_ind->beaconSdfPayloadData = std::vector<uint8_t>(legacy_ind.data.frame_data,
- legacy_ind.data.frame_data + legacy_ind.data.frame_len);
-
- return true;
-}
-
bool convertLegacyNanDataPathRequestIndToHidl(
const legacy_hal::NanDataPathRequestInd& legacy_ind,
NanDataPathRequestInd* hidl_ind) {
diff --git a/wifi/1.0/default/hidl_struct_util.h b/wifi/1.0/default/hidl_struct_util.h
index 14bc77d..490dcae 100644
--- a/wifi/1.0/default/hidl_struct_util.h
+++ b/wifi/1.0/default/hidl_struct_util.h
@@ -110,9 +110,6 @@
bool convertHidlNanTransmitFollowupRequestToLegacy(
const NanTransmitFollowupRequest& hidl_request,
legacy_hal::NanTransmitFollowupRequest* legacy_request);
-bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
- const NanBeaconSdfPayloadRequest& hidl_request,
- legacy_hal::NanBeaconSdfPayloadRequest* legacy_request);
bool convertHidlNanDataPathInitiatorRequestToLegacy(
const NanInitiateDataPathRequest& hidl_request,
legacy_hal::NanDataPathInitiatorRequest* legacy_request);
@@ -135,9 +132,6 @@
bool convertLegacyNanDataPathConfirmIndToHidl(
const legacy_hal::NanDataPathConfirmInd& legacy_ind,
NanDataPathConfirmInd* hidl_ind);
-bool convertLegacyNanBeaconSdfPayloadIndToHidl(
- const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
- NanBeaconSdfPayloadInd* hidl_ind);
// RTT controller conversion methods.
bool convertHidlVectorOfRttConfigToLegacy(
diff --git a/wifi/1.0/default/wifi_nan_iface.cpp b/wifi/1.0/default/wifi_nan_iface.cpp
index 333fac7..8d76f91 100644
--- a/wifi/1.0/default/wifi_nan_iface.cpp
+++ b/wifi/1.0/default/wifi_nan_iface.cpp
@@ -120,14 +120,6 @@
}
break;
}
- case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD: {
- for (const auto& callback : shared_ptr_this->event_callbacks_) {
- if (!callback->notifyBeaconSdfPayloadResponse(id, wifiNanStatus).isOk()) {
- LOG(ERROR) << "Failed to invoke the callback";
- }
- }
- break;
- }
case legacy_hal::NAN_GET_CAPABILITIES: {
NanCapabilities hidl_struct;
if (!hidl_struct_util::convertLegacyNanCapabilitiesResponseToHidl(
@@ -183,6 +175,8 @@
}
break;
}
+ case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD:
+ /* fall through */
case legacy_hal::NAN_RESPONSE_TCA:
/* fall through */
case legacy_hal::NAN_RESPONSE_STATS:
@@ -402,24 +396,8 @@
};
callback_handlers.on_event_beacon_sdf_payload = [weak_ptr_this](
- const legacy_hal::NanBeaconSdfPayloadInd& msg) {
- const auto shared_ptr_this = weak_ptr_this.promote();
- if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
- LOG(ERROR) << "Callback invoked on an invalid object";
- return;
- }
- NanBeaconSdfPayloadInd hidl_struct;
- if (!hidl_struct_util::convertLegacyNanBeaconSdfPayloadIndToHidl(
- msg, &hidl_struct)) {
- LOG(ERROR) << "Failed to convert nan capabilities response";
- return;
- }
-
- for (const auto& callback : shared_ptr_this->event_callbacks_) {
- if (!callback->eventBeaconSdfPayload(hidl_struct).isOk()) {
- LOG(ERROR) << "Failed to invoke the callback";
- }
- }
+ const legacy_hal::NanBeaconSdfPayloadInd& /* msg */) {
+ LOG(ERROR) << "on_event_beacon_sdf_payload - should not be called";
};
legacy_hal::wifi_error legacy_status =
@@ -517,7 +495,7 @@
Return<void> WifiNanIface::stopPublishRequest(
uint16_t cmd_id,
- uint16_t sessionId,
+ uint8_t sessionId,
stopPublishRequest_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
@@ -541,7 +519,7 @@
Return<void> WifiNanIface::stopSubscribeRequest(
uint16_t cmd_id,
- uint16_t sessionId,
+ uint8_t sessionId,
stopSubscribeRequest_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
@@ -621,18 +599,6 @@
ndpInstanceId);
}
-Return<void> WifiNanIface::beaconSdfPayloadRequest(
- uint16_t cmd_id,
- const NanBeaconSdfPayloadRequest& msg,
- beaconSdfPayloadRequest_cb hidl_status_cb) {
- return validateAndCall(this,
- WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
- &WifiNanIface::beaconSdfPayloadRequestInternal,
- hidl_status_cb,
- cmd_id,
- msg);
-}
-
std::pair<WifiStatus, std::string> WifiNanIface::getNameInternal() {
return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
}
@@ -699,7 +665,7 @@
}
WifiStatus WifiNanIface::stopPublishRequestInternal(
- uint16_t cmd_id, uint16_t sessionId) {
+ uint16_t cmd_id, uint8_t sessionId) {
legacy_hal::NanPublishCancelRequest legacy_msg;
legacy_msg.publish_id = sessionId;
legacy_hal::wifi_error legacy_status =
@@ -720,7 +686,7 @@
}
WifiStatus WifiNanIface::stopSubscribeRequestInternal(
- uint16_t cmd_id, uint16_t sessionId) {
+ uint16_t cmd_id, uint8_t sessionId) {
legacy_hal::NanSubscribeCancelRequest legacy_msg;
legacy_msg.subscribe_id = sessionId;
legacy_hal::wifi_error legacy_status =
@@ -783,16 +749,6 @@
free(legacy_msg);
return createWifiStatusFromLegacyError(legacy_status);
}
-WifiStatus WifiNanIface::beaconSdfPayloadRequestInternal(
- uint16_t cmd_id, const NanBeaconSdfPayloadRequest& msg) {
- legacy_hal::NanBeaconSdfPayloadRequest legacy_msg;
- if (!hidl_struct_util::convertHidlNanBeaconSdfPayloadRequestToLegacy(msg, &legacy_msg)) {
- return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
- }
- legacy_hal::wifi_error legacy_status =
- legacy_hal_.lock()->nanBeaconSdfPayloadRequest(cmd_id, legacy_msg);
- return createWifiStatusFromLegacyError(legacy_status);
-}
} // namespace implementation
} // namespace V1_0
diff --git a/wifi/1.0/default/wifi_nan_iface.h b/wifi/1.0/default/wifi_nan_iface.h
index 4fae3df..d1da60e 100644
--- a/wifi/1.0/default/wifi_nan_iface.h
+++ b/wifi/1.0/default/wifi_nan_iface.h
@@ -60,13 +60,13 @@
const NanPublishRequest& msg,
startPublishRequest_cb hidl_status_cb) override;
Return<void> stopPublishRequest(uint16_t cmd_id,
- uint16_t sessionId,
+ uint8_t sessionId,
stopPublishRequest_cb hidl_status_cb) override;
Return<void> startSubscribeRequest(uint16_t cmd_id,
const NanSubscribeRequest& msg,
startSubscribeRequest_cb hidl_status_cb) override;
Return<void> stopSubscribeRequest(uint16_t cmd_id,
- uint16_t sessionId,
+ uint8_t sessionId,
stopSubscribeRequest_cb hidl_status_cb) override;
Return<void> transmitFollowupRequest(uint16_t cmd_id,
const NanTransmitFollowupRequest& msg,
@@ -87,9 +87,6 @@
Return<void> terminateDataPathRequest(uint16_t cmd_id,
uint32_t ndpInstanceId,
terminateDataPathRequest_cb hidl_status_cb) override;
- Return<void> beaconSdfPayloadRequest(uint16_t cmd_id,
- const NanBeaconSdfPayloadRequest& msg,
- beaconSdfPayloadRequest_cb hidl_status_cb) override;
private:
// Corresponding worker functions for the HIDL methods.
@@ -105,10 +102,10 @@
WifiStatus disableRequestInternal(uint16_t cmd_id);
WifiStatus startPublishRequestInternal(uint16_t cmd_id,
const NanPublishRequest& msg);
- WifiStatus stopPublishRequestInternal(uint16_t cmd_id, uint16_t sessionId);
+ WifiStatus stopPublishRequestInternal(uint16_t cmd_id, uint8_t sessionId);
WifiStatus startSubscribeRequestInternal(uint16_t cmd_id,
const NanSubscribeRequest& msg);
- WifiStatus stopSubscribeRequestInternal(uint16_t cmd_id, uint16_t sessionId);
+ WifiStatus stopSubscribeRequestInternal(uint16_t cmd_id, uint8_t sessionId);
WifiStatus transmitFollowupRequestInternal(
uint16_t cmd_id, const NanTransmitFollowupRequest& msg);
WifiStatus createDataInterfaceRequestInternal(uint16_t cmd_id,
@@ -121,8 +118,6 @@
uint16_t cmd_id, const NanRespondToDataPathIndicationRequest& msg);
WifiStatus terminateDataPathRequestInternal(
uint16_t cmd_id, uint32_t ndpInstanceId);
- WifiStatus beaconSdfPayloadRequestInternal(
- uint16_t cmd_id, const NanBeaconSdfPayloadRequest& msg);
std::string ifname_;
std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_;
diff --git a/wifi/1.0/types.hal b/wifi/1.0/types.hal
index 1ec1357..f777207 100644
--- a/wifi/1.0/types.hal
+++ b/wifi/1.0/types.hal
@@ -211,7 +211,7 @@
/**
* STA specific types.
- * TODO(b/32159498): Move to a separate nan_types.hal.
+ * TODO(b/32159498): Move to a separate sta_types.hal.
*/
/**
* Parameters to specify the APF capabilities of this iface.
@@ -562,6 +562,9 @@
/**
* NAN specific types.
* TODO(b/32159498): Move to a separate nan_types.hal.
+ *
+ * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness
+ * Networking (NAN) Technical Specification".
*/
/**
@@ -624,55 +627,59 @@
};
/**
- * NAN Match indication type.
+ * NAN Match indication type: control how often to trigger |IWifiNanIfaceEventCallback.eventMatch|
+ * for a single discovery session - i.e. continuously discovering the same publisher with no new
+ * data.
*/
enum NanMatchAlg : uint32_t {
- MATCH_ONCE = 0,
- MATCH_CONTINUOUS,
- MATCH_NEVER,
+ MATCH_ONCE = 0, // Only trigger |IWifiNanIfaceEventCallback.eventMatch| once
+ MATCH_CONTINUOUS, // Trigger |IWifiNanIfaceEventCallback.eventMatch| every time
+ MATCH_NEVER, // Never trigger |IWifiNanIfaceEventCallback.eventMatch|
};
/**
* NAN publish discovery session types.
*/
enum NanPublishType : uint32_t {
- UNSOLICITED = 0,
- SOLICITED,
- UNSOLICITED_SOLICITED,
+ UNSOLICITED = 0, // Publish session broadcasts discovery packets
+ SOLICITED, // Publish session silent, responds to active subscribes queries
+ UNSOLICITED_SOLICITED, // Both
};
/**
* NAN transmit type used in |NanPublishType.SOLICITED| or |NanPublishType.UNSOLICITED_SOLICITED|
- * publish discovery sessions.
+ * publish discovery sessions. Describes the addressing of the packet responding to an ACTIVE
+ * subscribe query.
*/
enum NanTxType : uint32_t {
- BROADCAST = 0,
- UNICAST,
+ BROADCAST = 0, // Respond with a broadcast packet
+ UNICAST, // Respond with a unicast packet
};
/**
- * NAN subscribe discovery session ypes.
+ * NAN subscribe discovery session types.
*/
enum NanSubscribeType : uint32_t {
- PASSIVE = 0,
- ACTIVE,
+ PASSIVE = 0, // Subscribe session scans for |NanPublishType.UNSOLICITED| publish sessions.
+ ACTIVE, // Subscribe session probes for |NanPublishType.SOLICITED| publish sessions.
};
/**
* NAN Service Response Filter Attribute Bit.
*/
enum NanSrfType : uint32_t {
- BLOOM_FILTER = 0,
- PARTIAL_MAC_ADDR,
+ BLOOM_FILTER = 0, // Use a Bloom filter.
+ PARTIAL_MAC_ADDR, // Use a list of MAC addresses.
};
/**
- * NAN DP channel config options.
+ * NAN DP (data-path) channel config options.
*/
enum NanDataPathChannelCfg : uint32_t {
- CHANNEL_NOT_REQUESTED = 0,
- REQUEST_CHANNEL_SETUP,
- FORCE_CHANNEL_SETUP,
+ CHANNEL_NOT_REQUESTED = 0, // No channel request is specified.
+ REQUEST_CHANNEL_SETUP, // Channel request is specified - but may be overridden by firmware.
+ FORCE_CHANNEL_SETUP, // Channel request is specified and must be respected. If the firmware
+ // cannot honor the request then the data-path request is rejected.
};
/**
@@ -680,86 +687,100 @@
*/
struct NanBandSpecificConfig {
/**
- * RSSI values controlling clustering behavior per spec.
+ * RSSI values controlling clustering behavior per spec. RSSI values are specified without a sign,
+ * e.g. a value of -65dBm would be specified as 65.
*/
- uint8_t rssiClose;
- uint8_t rssiMiddle;
+ uint8_t rssiClose; // NAN Spec: RSSI_close
+ uint8_t rssiMiddle; // NAN Spec: RSSI_middle
/**
- * RSSI value determining whether discovery is near (used if enabled in discovery).
+ * RSSI value determining whether discovery is near (used if enabled in discovery by
+ * |NanDiscoveryCommonConfig.useRssiThreshold|).
+ * RSSI values are specified without a sign, e.g. a value of -65dBm would be specified as 65.
+ * NAN Spec: RSSI_close_proximity
*/
- uint8_t rssiProximity;
+ uint8_t rssiCloseProximity;
/**
- * Dwell time of each discovery channel in milliseconds.
- * If time set to 0 then the FW default time must be used.
+ * Dwell time of each discovery channel in milliseconds. If set to 0 then the firmware determines
+ * the dwell time to use.
*/
uint8_t dwellTimeMs;
/**
- * Scan period of each discovery channel in seconds.
- * If time set to 0 then the FW default time must be used.
+ * Scan period of each discovery channel in seconds. If set to 0 then the firmware determines
+ * the scan period to use.
*/
uint16_t scanPeriodSec;
/**
- * Specifies the interval for Sync beacons and SDF's.
+ * Specifies the discovery window interval for Sync beacons and SDF's.
* Valid values of DW Interval are: 1, 2, 3, 4 and 5 corresponding to 1, 2, 4, 8, and 16 DWs.
* Value of 0:
* - reserved in 2.4GHz band
* - no wakeup at all in 5GHz band
* The publish/subscribe period values don't override the device level configurations if
- * specified (if 'valid' is true).
+ * specified.
+ * Configuration is only used only if |validDiscoveryWindowIntervalVal| is set to true.
+ * NAN Spec: Device Capability Attribute / 2.4 GHz DW, Device Capability Attribute / 5 GHz DW
*/
bool validDiscoveryWindowIntervalVal;
uint8_t discoveryWindowIntervalVal;
};
/**
- * Configuration parameters
+ * Debug configuration parameters. Many of these allow non-standard-compliant operation and are
+ * not intended for normal operational mode.
*/
struct NanDebugConfig {
/**
- * The low and high values of the cluster ID: standard values are 0x0000 - 0xFFFF.
- * A clusterLow == clusterHigh indicates a request to join or create a cluster with that ID.
- * Used if 'valid' is true.
+ * Specification of the lower 2 bytes of the cluster ID. The cluster ID is 50-60-9a-01-00-00 to
+ * 50-60-9a-01-FF-FF. Configuration of the bottom and top values of the range (which defaults to
+ * 0x0000 and 0xFFFF respectively).
+ * Configuration is only used if |validClusterIdVals| is set to true.
*/
bool validClusterIdVals;
- uint16_t clusterIdLowVal;
- uint16_t clusterIdHighVal;
+ uint16_t clusterIdBottomRangeVal;
+ uint16_t clusterIdTopRangeVal;
/**
- * NAN management interface address, If specified ('valid' is true) then overrides any other
- * configuration (specifically the default randomization).
+ * NAN management interface address, if specified (|validIntfAddrVal| is true) then overrides any
+ * other configuration (specifically the default randomization configured by
+ * |NanConfigRequest.macAddressRandomizationIntervalSec|).
*/
bool validIntfAddrVal;
MacAddress intfAddrVal;
/**
- * The 24 bit Organizationally Unique ID + the 8 bit Network Id. Used if 'valid' is true.
+ * Combination of the 24 bit Organizationally Unique ID (OUI) and the 8 bit OUI Type.
+ * Used if |validOuiVal| is set to true.
*/
bool validOuiVal;
uint32_t ouiVal;
/**
- * Force the Random Factor to the specified value for all transmitted Sync/Discovery beacons
- * if the 'valid' flag is true.
+ * Force the Random Factor to the specified value for all transmitted Sync/Discovery beacons.
+ * Used if |validRandomFactorForceVal| is set to true.
+ * NAN Spec: Master Indication Attribute / Random Factor
*/
bool validRandomFactorForceVal;
uint8_t randomFactorForceVal;
/**
* Forces the hop-count for all transmitted Sync and Discovery Beacons NO matter the real
- * hop-count being received over the air. Used if the 'valid' flag is true.
+ * hop-count being received over the air. Used if the |validHopCountForceVal}| flag is set to
+ * true.
+ * NAN Spec: Cluster Attribute / Anchor Master Information / Hop Count to Anchor Master
*/
bool validHopCountForceVal;
uint8_t hopCountForceVal;
/**
* Frequency in MHz to of the discovery channel in the specified band. Indexed by |NanBandIndex|.
+ * Used if the |validDiscoveryChannelVal| is set to true.
*/
bool validDiscoveryChannelVal;
WifiChannelInMhz[2] discoveryChannelMhzVal;
/**
* Specifies whether sync/discovery beacons are transmitted in the specified band. Indexed by
- * |NanBandIndex|.
+ * |NanBandIndex|. Used if the |validUseBeaconsInBandVal| is set to true.
*/
bool validUseBeaconsInBandVal;
bool[2] useBeaconsInBandVal;
/**
- * Specified whether SDF (service discovery frames) are transmitted in the specified band. Indexed
- * by |NanBandIndex|.
+ * Specifies whether SDF (service discovery frames) are transmitted in the specified band. Indexed
+ * by |NanBandIndex|. Used if the |validUseSdfInBandVal| is set to true.
*/
bool validUseSdfInBandVal;
bool[2] useSdfInBandVal;
@@ -771,34 +792,48 @@
struct NanConfigRequest {
/**
* Master preference of this device.
+ * NAN Spec: Master Indication Attribute / Master Preference
*/
uint8_t masterPref;
/**
* Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered
- * for DISCOVERY_MAC_ADDRESS_CHANGED.
+ * for |NanClusterEventType.DISCOVERY_MAC_ADDRESS_CHANGED|.
*/
bool disableDiscoveryAddressChangeIndication;
/**
* Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered
- * for STARTED_CLUSTER.
+ * for |NanClusterEventType.STARTED_CLUSTER|.
*/
bool disableStartedClusterIndication;
/**
* Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered
- * for JOINED_CLUSTER.
+ * for |NanClusterEventType.JOINED_CLUSTER|.
*/
bool disableJoinedClusterIndication;
/**
- * Control whether service IDs are included in Sync/Discovery beacons.
+ * Control whether publish service IDs are included in Sync/Discovery beacons.
+ * NAN Spec: Service ID List Attribute
*/
- bool includeServiceIdsInBeacon;
+ bool includePublishServiceIdsInBeacon;
/**
- * If |includeServiceIdInBeacon| is true then specifies the number of service IDs to include
- * in the Sync/Discovery beacons:
+ * If |includePublishServiceIdsInBeacon| is true then specifies the number of publish service IDs
+ * to include in the Sync/Discovery beacons:
* Value = 0: include as many service IDs as will fit into the maximum allowed beacon frame size.
* Value must fit within 7 bits - i.e. <= 127.
*/
- uint8_t numberOfServiceIdsInBeacon;
+ uint8_t numberOfPublishServiceIdsInBeacon;
+ /**
+ * Control whether subscribe service IDs are included in Sync/Discovery beacons.
+ * Spec: Subscribe Service ID List Attribute
+ */
+ bool includeSubscribeServiceIdsInBeacon;
+ /**
+ * If |includeSubscribeServiceIdsInBeacon| is true then specifies the number of subscribe service
+ * IDs to include in the Sync/Discovery beacons:
+ * Value = 0: include as many service IDs as will fit into the maximum allowed beacon frame size.
+ * Value must fit within 7 bits - i.e. <= 127.
+ */
+ uint8_t numberOfSubscribeServiceIdsInBeacon;
/**
* Number of samples used to calculate RSSI.
*/
@@ -820,7 +855,7 @@
};
/**
- * Enable requests for NAN: start-up configuration.
+ * Enable requests for NAN: start-up configuration |IWifiNanIface.enableRequest|.
*/
struct NanEnableRequest {
/**
@@ -833,30 +868,31 @@
uint8_t hopCountMax;
/**
* Configurations of NAN cluster operation. Can also be modified at run-time using
- * |configRequest|.
+ * |IWifiNanIface.configRequest|.
*/
NanConfigRequest configParams;
/**
- * Non-standard configurations of NAN cluster operation - useful for debugging opeations.
+ * Non-standard configurations of NAN cluster operation - useful for debugging operations.
*/
NanDebugConfig debugConfigs;
};
/**
- * Cipher suite flags - to be used as a bitmask.
+ * Cipher suite flags.
*/
enum NanCipherSuiteType : uint32_t {
- SHARED_KEY_128_MASK = 1 << 0,
- SHARED_KEY_256_MASK = 1 << 1
+ SHARED_KEY_128_MASK = 1 << 0, // NCS-SK-128
+ SHARED_KEY_256_MASK = 1 << 1 // NCS-SK-256
};
/**
- * Ranging in the context of discovery sessions indication controls - to be used as a bitmask.
+ * Ranging in the context of discovery sessions indication controls. Controls the frequency of
+ * ranging-driven |IWifiNanIfaceEventCallback.eventMatch|.
*/
enum NanRangingIndication : uint32_t {
- CONTINUOUS_INDICATION_MASK = 1 << 0,
- INGRESS_MET_MASK = 1 << 1,
- EGRESS_MET_MASK = 1 << 2
+ CONTINUOUS_INDICATION_MASK = 1 << 0, // trigger event on every RTT measurement
+ INGRESS_MET_MASK = 1 << 1, // trigger event only when ingress conditions met
+ EGRESS_MET_MASK = 1 << 2 // trigger event only when egress conditions met
};
/**
@@ -865,58 +901,82 @@
struct NanDiscoveryCommonConfig {
/**
* The ID of the discovery session being configured. A value of 0 specifies a request to create
- * a new discovery session.
+ * a new discovery session. The new discovery session ID is returned with
+ * |IWifiNanIfaceEventCallback.notifyStartPublishResponse| or
+ * |IWifiNanIfaceEventCallback.notifyStartSubscribeResponse|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Instance ID
*/
- uint16_t sessionId;
+ uint8_t sessionId;
/**
* The lifetime of the discovery session in seconds. A value of 0 means run forever or until
- * canceled.
+ * canceled using |IWifiIface.stopPublishRequest| or |IWifiIface.stopSubscribeRequest|.
*/
uint16_t ttlSec;
/**
* Indicates the interval between two Discovery Windows in which the device supporting the
- * service is awake to transmit or receive the Service Discovery frames.
- * Valid values of Awake DW Interval are: 1, 2, 4, 8 and 16. A value of 0 will default to 1.
+ * service is awake to transmit or receive the Service Discovery frames. Valid values of Awake
+ * DW Interval are: 1, 2, 4, 8 and 16. A value of 0 will default to 1. Overrides any
+ * |NanBandSpecificConfig.discoveryWindowIntervalVal| configurations.
*/
uint16_t discoveryWindowPeriod;
/**
- * Number of other-air-air operations (i.e. active transmissions), 0 means forever or until
- * canceled.
+ * The lifetime of the discovery session in number of transmitted SDF discovery packets. A value
+ * of 0 means forever or until canceled using |IWifiIface.stopPublishRequest| or
+ * |IWifiIface.stopSubscribeRequest|.
*/
uint8_t discoveryCount;
/**
* UTF-8 encoded string identifying the service.
* Max length: |NanCapabilities.maxServiceNameLen|.
+ * NAN Spec: The only acceptable single-byte UTF-8 symbols for a Service Name are alphanumeric
+ * values (A-Z, a-z, 0-9), the hyphen ('-'), and the period ('.'). All valid multi-byte UTF-8
+ * characters are acceptable in a Service Name.
*/
vec<uint8_t> serviceName;
/**
- * Specifies the matching indication to host: once, continuous, or never.
+ * Specifies how often to trigger |IWifiNanIfaceEventCallback.eventMatch| when continuously
+ * discovering the same discovery session (with no changes).
*/
NanMatchAlg discoveryMatchIndicator;
/**
- * Arbitrary information communicated as part of discovery.
+ * Arbitrary information communicated in discovery packets - there is no semantic meaning to these
+ * bytes. They are passed-through from publisher to subscriber as-is with no parsing.
* Max length: |NanCapabilities.maxServiceSpecificInfoLen|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Info
*/
vec<uint8_t> serviceSpecificInfo;
/**
- * Ordered sequence of <length, value> pairs (length uses 1 byte) which specify further match
- * criteria (beyond the service name).
+ * Arbitrary information communicated in discovery packets - there is no semantic meaning to these
+ * bytes. They are passed-through from publisher to subscriber as-is with no parsing.
+ * Max length: |NanCapabilities.maxExtendedServiceSpecificInfoLen|.
+ * Spec: Service Descriptor Extension Attribute (SDEA) / Service Info
+ */
+ vec<uint8_t> extendedServiceSpecificInfo;
+ /**
+ * Ordered sequence of <length, value> pairs (|length| uses 1 byte and contains the number of
+ * bytes in the |value| field) which specify further match criteria (beyond the service name).
+ * The match behavior is specified in details in the NAN spec.
* Publisher: used in SOLICITED or SOLICITED_UNSOLICITED sessions.
* Subscriber: used in ACTIVE or PASSIVE sessions.
* Max length: |NanCapabilities.maxMatchFilterLen|.
+ * NAN Spec: matching_filter_rx
*/
vec<uint8_t> rxMatchFilter;
/**
- * Ordered sequence of <length, value> pairs (length uses 1 byte) which specify further match
- * criteria (beyond the service name).
+ * Ordered sequence of <length, value> pairs (|length| uses 1 byte and contains the number of
+ * bytes in the |value| field) which specify further match criteria (beyond the service name).
+ * The match behavior is specified in details in the NAN spec.
* Publisher: used if provided.
- * Subscriber: used in ACTIVE sessions.
+ * Subscriber: used (if provided) only in ACTIVE sessions.
* Max length: |NanCapabilities.maxMatchFilterLen|.
+ * NAN Spec: matching_filter_tx and Service Descriptor Attribute (SDA) / Matching Filter
*/
vec<uint8_t> txMatchFilter;
/**
- * Specifies whether or not the discovery session uses the |rssiProximity| value (configured
- * in enable/configure requests) to filter out matched discovered peers.
+ * Specifies whether or not the discovery session uses the
+ * |NanBandSpecificConfig.rssiCloseProximity| value (configured in enable/configure requests) to
+ * filter out matched discovered peers.
+ * NAN Spec: Service Descriptor Attribute / Service Control / Discovery Range Limited.
*/
bool useRssiThreshold;
/**
@@ -935,45 +995,49 @@
*/
bool disableFollowupReceivedIndication;
/**
- * Cipher types supported in data-paths constructed in the context of this discovery session. The
- * |NanCipherSuiteType| bit fields are used to set this value.
+ * Cipher types supported in data-paths constructed in the context of this discovery session.
*/
bitfield<NanCipherSuiteType> supportedCipherTypes;
/**
- * Optional PMK for data-paths constructed in the context of this discovery session. A PMK could
- * also be provided during the actual construction of the data-path (which allows unique PMKs for
- * each data-path).
+ * Optional Pairwise Master Key (PMK) for data-paths constructed in the context of this discovery
+ * session. A PMK can also be provided during the actual construction of the data-path (which
+ * allows for unique PMKs for each data-path).
* Max length: 32
+ * Ref: IEEE 802.11i
*/
vec<uint8_t> pmk;
/**
* Specifies whether or not security is enabled in any data-path (NDP) constructed in the context
* of this discovery session.
+ * NAN Spec: Service Discovery Extension Attribute (SDEA) / Control / Security Required
*/
bool securityEnabledInNdp;
/**
* Specifies whether or not there is a ranging requirement in this discovery session.
* Note that ranging is only performed if all other match criteria with the peer are met.
+ * NAN Spec: Service Discovery Extension Attribute (SDEA) / Control / Ranging Require.
*/
bool rangingRequired;
/**
- * Interval in msec between two ranging measurements.
- * If the Awake DW interval in Enable/Config is larger than the ranging interval - priority is
- * given to Awake DW interval.
+ * Interval in msec between two ranging measurements. Only relevant if |rangingRequired| is true.
+ * If the Awake DW interval specified either in |discoveryWindowPeriod| or in
+ * |NanBandSpecificConfig.discoveryWindowIntervalVal| is larger than the ranging interval then
+ * priority is given to Awake DW interval.
*/
uint32_t rangingIntervalMsec;
/**
- * The type of ranging indication feedback to be provided by discovery session matches. Use
- * bit-fields from |NanRangingIndication|.
+ * The type of ranging feedback to be provided by discovery session matches
+ * |IWifiNanIfaceEventCallback.eventMatch|. Only relevant if |rangingRequired| is true.
*/
bitfield<NanRangingIndication> configRangingIndications;
/**
- * The ingress and egress distance in cm. If ranging is eanbled (|rangingEnabled| is true) then
- * \configRangingIndications\ is used to determine whether ingress and/or egress (or neither)
+ * The ingress and egress distance in cm. If ranging is enabled (|rangingEnabled| is true) then
+ * |configRangingIndications| is used to determine whether ingress and/or egress (or neither)
* are used to determine whether a match has occurred.
+ * NAN Spec: Service Discovery Extension Attribute (SDEA) / Ingress & Egress Range Limit
*/
- uint32_t distanceIngressCm;
- uint32_t distanceEgressCm;
+ uint16_t distanceIngressCm;
+ uint16_t distanceEgressCm;
};
/**
@@ -1009,27 +1073,35 @@
*/
NanSubscribeType subscribeType;
/**
- * For Active subscribe discovery sessions specify how the Service Response Filter (SRF)
- * attribute is populated.
+ * For |NanSubscribeType.ACTIVE| subscribe discovery sessions specify how the Service Response
+ * Filter (SRF) attribute is populated. Relevant only if |shouldUseSrf| is set to true.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Response Filter / SRF Control / SRF Type
*/
NanSrfType srfType;
/**
- * Configure the requested response of the Service Response Filter (SRF).
+ * Configure whether inclusion of an address in |intfAddr| indicates that those devices should
+ * respond or the reverse. Relevant only if |shouldUseSrf| is set to true and |srfType| is set to
+ * |NanSrfType.PARTIAL_MAC_ADDR|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Response Filter / SRF Control / Include
*/
bool srfRespondIfInAddressSet;
/**
- * Control whether the Service Response Filter (SRF) is transmitted OTA.
+ * Control whether the Service Response Filter (SRF) is used.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Control /
+ * Service Response Filter Present
*/
bool shouldUseSrf;
/**
- * Control whether the Service Specific Info (SSI) is needed in the Publish message to trigger
- * service discovery (a match).
+ * Control whether the presence of |NanDiscoveryCommonConfig.serviceSpecificInfo| data is needed
+ * in the publisher in order to trigger service discovery, i.e. a
+ * |IWifiNanIfaceEventCallback.eventMatch|. The test is for presence of data - not for the
+ * specific contents of the data.
*/
bool isSsiRequiredForMatch;
/**
- * NAN Interface Address, conforming to the format as described in
- * 8.2.4.3.2 of IEEE Std. 802.11-2012.
- * Max length: |NanCapabilities.maxSubscribeInterfaceAddresses|.
+ * NAN Interface Addresses constituting the Service Response Filter (SRF).
+ * Max length (number of addresses): |NanCapabilities.maxSubscribeInterfaceAddresses|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Response Filter / Address Set
*/
vec<MacAddress> intfAddr;
};
@@ -1041,15 +1113,17 @@
/**
* ID of an active publish or subscribe discovery session. Follow-up message is transmitted in the
* context of the discovery session.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Instance ID
*/
- uint16_t discoverySessionId;
+ uint8_t discoverySessionId;
/**
- * ID of the peer. Obtained as part of an earlier |eventMatch| or |eventFollowupReceived|.
+ * ID of the peer. Obtained as part of an earlier |IWifiNanIfaceEventCallback.eventMatch| or
+ * |IWifiNanIfaceEventCallback.eventFollowupReceived|.
*/
uint32_t peerId;
/**
- * MAC address of the peer. Obtained as part of an earlier |eventMatch| or
- * |eventFollowupReceived|.
+ * MAC address of the peer. Obtained as part of an earlier |IWifiNanIfaceEventCallback.eventMatch|
+ * or |IWifiNanIfaceEventCallback.eventFollowupReceived|.
*/
MacAddress addr;
/**
@@ -1062,13 +1136,22 @@
*/
bool shouldUseDiscoveryWindow;
/**
- * Message as a byte sequence.
+ * Arbitrary information communicated to the peer - there is no semantic meaning to these
+ * bytes. They are passed-through from sender to receiver as-is with no parsing.
* Max length: |NanCapabilities.maxServiceSpecificInfoLen|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Info
*/
- vec<uint8_t> message;
+ vec<uint8_t> serviceSpecificInfo;
/**
- * Disable |eventTransmitFollowup| - i.e. do not get indication on whether the follow-up
- * was transmitted and received successfully.
+ * Arbitrary information communicated in discovery packets - there is no semantic meaning to these
+ * bytes. They are passed-through from publisher to subscriber as-is with no parsing.
+ * Max length: |NanCapabilities.maxExtendedServiceSpecificInfoLen|.
+ * Spec: Service Descriptor Extension Attribute (SDEA) / Service Info
+ */
+ vec<uint8_t> extendedServiceSpecificInfo;
+ /**
+ * Disable |IWifiNanIfaceEventCallback.eventTransmitFollowup| - i.e. do not get indication on
+ * whether the follow-up was transmitted and received successfully.
*/
bool disableFollowupResultIndication;
};
@@ -1078,11 +1161,13 @@
*/
struct NanInitiateDataPathRequest {
/**
- * ID of the peer. Obtained as part of an earlier |eventMatch| or |eventFollowupReceived|.
+ * ID of the peer. Obtained as part of an earlier |IWifiNanIfaceEventCallback.eventMatch| or
+ * |IWifiNanIfaceEventCallback.eventFollowupReceived|.
*/
uint32_t peerId;
/**
- * NAN management interface MAC address of the peer.
+ * NAN management interface MAC address of the peer. Obtained as part of an earlier
+ * |IWifiNanIfaceEventCallback.eventMatch| or |IWifiNanIfaceEventCallback.eventFollowupReceived|.
*/
MacAddress peerDiscMacAddr;
/**
@@ -1090,31 +1175,36 @@
*/
NanDataPathChannelCfg channelRequestType;
/**
- * Channel frequency in MHz to start data-path.
+ * Channel frequency in MHz to start data-path. Not relevant if |channelRequestType| is
+ * |NanDataPathChannelCfg.CHANNEL_NOT_REQUESTED|.
*/
WifiChannelInMhz channel;
/**
- * NAN data interface name on which this data-path session is to be started.
- * This must be an interface created using |createDataInterfaceRequest|.
+ * NAN data interface name on which this data-path session is to be initiated.
+ * This must be an interface created using |IWifiNanIface.createDataInterfaceRequest|.
*/
string ifaceName;
/**
* Specifies whether or not security is required for the data-path being created.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Control / Security Present
*/
bool securityRequired;
/**
- * Arbitrary token transmitted as part of the data-path negotiation (not encrypted).
+ * Arbitrary information communicated to the peer as part of the data-path setup process - there
+ * is no semantic meaning to these bytes. They are passed-through from sender to receiver as-is
+ * with no parsing.
* Max length: |NanCapabilities.maxAppInfoLen|.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Specific Info
*/
vec<uint8_t> appInfo;
/**
- * Cipher types supported in data-paths constructed in the context of this discovery session. The
- * |NanCipherSuiteType| bit fields are used to set this value.
+ * Cipher types supported in data-paths constructed in the context of this discovery session.
*/
bitfield<NanCipherSuiteType> supportedCipherTypes;
/**
- * PMK of the data-path being requested (if |securityRequired| is true).
+ * Pairwise Master Key (PMK) for the data-path being requested (if |securityRequired| is true).
* Max length: 32
+ * Ref: IEEE 802.11i
*/
vec<uint8_t> pmk;
};
@@ -1125,65 +1215,44 @@
struct NanRespondToDataPathIndicationRequest {
/**
* Accept (true) or reject (false) the request.
+ * NAN Spec: Data Path Attributes / NDP Attribute / Type and Status
*/
bool acceptRequest;
/**
* ID of the data-path (NDP) for which we're responding - obtained as part of the request in
- * |NanDataPathRequestInd|.
+ * |IWifiNanIfaceEventCallback.eventDataPathRequest|.
*/
uint32_t ndpInstanceId;
/**
* NAN data interface name on which this data-path session is to be started.
- * This must be an interface created using |createDataInterfaceRequest|.
+ * This must be an interface created using |IWifiNanIface.createDataInterfaceRequest|.
*/
string ifaceName;
/**
* Specifies whether or not security is required for the data-path being created.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Control / Security Present
*/
bool securityRequired;
/**
- * Arbitrary token transmitted as part of the data-path negotiation (not encrypted).
+ * Arbitrary information communicated to the peer as part of the data-path setup process - there
+ * is no semantic meaning to these bytes. They are passed-through from sender to receiver as-is
+ * with no parsing.
* Max length: |NanCapabilities.maxAppInfoLen|.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Specific Info
*/
vec<uint8_t> appInfo;
/**
- * Cipher types supported in data-paths constructed in the context of this discovery session. The
- * |NanCipherSuiteType| bit fields are used to set this value.
+ * Cipher types supported in data-paths constructed in the context of this discovery session.
*/
bitfield<NanCipherSuiteType> supportedCipherTypes;
/**
- * PMK of the data-path being requested (if |securityRequired| is true).
+ * Pairwise Master Key (PMK) for the data-path being negotiated (if |securityRequired| is true).
* Max length: 32
*/
vec<uint8_t> pmk;
};
/**
- * Specifies vendor-specific information fields to be included in NAN management frames.
- */
-struct NanBeaconSdfPayloadRequest {
- /**
- * If true information is transmitted in next 16 DWs, else only in the next (1) DW.
- */
- bool transmitInNext16dws;
- /**
- * Specify the management frames in which the vendor-specific information is included.
- */
- bool transmitInDiscoveryBeacon;
- bool transmitInSyncBeacon;
- bool transmitInServiceDiscoveryFrame;
- /**
- * Organizationally Unique Identifier (OUI).
- */
- uint32_t vendorOui;
- /**
- * Vendor specific attribute to be transmitted.
- * Max length: |NanCapabilities.maxVsaDataLen|.
- */
- vec<uint8_t> vsa;
-};
-
-/**
* NDP Capabilities response.
*/
struct NanCapabilities {
@@ -1208,24 +1277,24 @@
*/
uint32_t maxMatchFilterLen;
/**
- * Maximum length (in bytes) of aggregate match filters.
+ * Maximum length (in bytes) of aggregate match filters across all active sessions.
*/
uint32_t maxTotalMatchFilterLen;
/**
- * Maximum length (in bytes) of the service specific info length or message length in follow-ups.
+ * Maximum length (in bytes) of the service specific info field.
*/
uint32_t maxServiceSpecificInfoLen;
/**
- * Maximum length (in bytes) of vendor-specific (VSA) data.
+ * Maximum length (in bytes) of the extended service specific info field.
*/
- uint32_t maxVsaDataLen;
+ uint32_t maxExtendedServiceSpecificInfoLen;
/**
- * Maximum number of data interfaces which can be created concurrently on the device.
+ * Maximum number of data interfaces (NDI) which can be created concurrently on the device.
*/
uint32_t maxNdiInterfaces;
/**
- * Maximum number of data paths which can be created concurrently on each individual
- * data interface.
+ * Maximum number of data paths (NDP) which can be created concurrently on each individual
+ * data interface (NDI).
*/
uint32_t maxNdpSessions;
/**
@@ -1239,7 +1308,7 @@
/**
* Maximum number MAC interface addresses which can be specified to a subscribe discovery session.
*/
- uint32_t maxSubscribeInterfaceAddresses; // TODO: (hard-code to 42) get from HAL
+ uint32_t maxSubscribeInterfaceAddresses;
/**
* The set of supported Cipher suites. The |NanCipherSuiteType| bit fields are used.
*/
@@ -1252,10 +1321,12 @@
struct NanMatchInd {
/**
* Publish or subscribe discovery session ID of an existing discovery session.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Instance ID
*/
- uint16_t discoverySessionId;
+ uint8_t discoverySessionId;
/**
- * A unique ID of the peer. Can be subsequently used in |transmitFollowupRequest|.
+ * A unique ID of the peer. Can be subsequently used in |IWifiNanIface.transmitFollowupRequest| or
+ * to set up a data-path.
*/
uint32_t peerId;
/**
@@ -1263,47 +1334,60 @@
*/
MacAddress addr;
/**
- * The arbitrary information contained in the |serviceSpecificInfo| of the peer's discovery
- * session.
+ * The arbitrary information contained in the |NanDiscoveryCommonConfig.serviceSpecificInfo| of
+ * the peer's discovery session configuration.
* Max length: |NanCapabilities.maxServiceSpecificInfoLen|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Info
*/
vec<uint8_t> serviceSpecificInfo;
/**
- * Ordered sequence of <length, value> pairs (length uses 1 byte) of the peer's discovery session
- * match filter.
+ * Arbitrary information communicated in discovery packets - there is no semantic meaning to these
+ * bytes. They are passed-through from publisher to subscriber as-is with no parsing.
+ * Max length: |NanCapabilities.maxExtendedServiceSpecificInfoLen|.
+ * Spec: Service Descriptor Extension Attribute (SDEA) / Service Info
+ */
+ vec<uint8_t> extendedServiceSpecificInfo;
+ /**
+ * The match filter from the discovery packet (publish or subscribe) which caused service
+ * discovery. Matches the peer's |NanDiscoveryCommonConfig.txMatchFilter|.
* Max length: |NanCapabilities.maxMatchFilterLen|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Matching Filter
*/
vec<uint8_t> matchFilter;
/**
- * Indicates the type of discovery: Beacon if true, Service Discovery Frames (SDF) if false.
+ * Indicates the type of discovery: true if match occurred on a Beacon frame, false if the match
+ * occurred on a Service Discovery Frames (SDF).
*/
bool matchOccuredInBeaconFlag;
/**
- * Flag to indicate FW is out of resource and that it can no longer
- * track this Service Name.
+ * Flag to indicate firmware is out of resource and that it can no longer track this Service Name.
+ * Indicates that while |IWifiNanIfaceEventCallback.eventMatch| will be received, the
+ * |NanDiscoveryCommonConfig.discoveryMatchIndicator| configuration will not be honored.
*/
bool outOfResourceFlag;
/**
- * If RSSI filtering was configured in discovery session setup then this
- * field must contain the received RSSI value. It will contain 0 if RSSI filtering was not
- * configured.
+ * If RSSI filtering was enabled using |NanDiscoveryCommonConfig.useRssiThreshold| in discovery
+ * session setup then this field contains the received RSSI value. It will contain 0 if RSSI
+ * filtering was not enabled.
* RSSI values are returned without sign, e.g. -70dBm will be returned as 70.
*/
uint8_t rssiValue;
/**
* Cipher types supported by the peer for data-paths constructed in the context of this discovery
- * session. The |NanCipherSuiteType| bit fields are used to set this value.
+ * session.
*/
bitfield<NanCipherSuiteType> peerSupportedCipherTypes;
/**
* Indicates whether or not the peer requires security enabled in any data-path (NDP) constructed
* in the context of this discovery session.
+ * NAN Spec: Service Discovery Extension Attribute (SDEA) / Control / Security Required
*/
bool peerRequiresSecurityEnabledInNdp;
/**
- * Indicates whether or not the peer requires (and hence allows) ranging in this discovery
- * session.
+ * Indicates whether or not the peer requires (and hence allows) ranging in the context of this
+ * discovery session.
* Note that ranging is only performed if all other match criteria with the peer are met.
+ * NAN Spec: Service Discovery Extension Attribute (SDEA) / Control / Ranging Require.
*/
bool peerRequiresRanging;
/**
@@ -1324,8 +1408,8 @@
*/
uint32_t rangingMeasurementInCm;
/**
- * The ranging event(s) which triggered the ranging. Uses bit-fields from |NanRangingIndication|.
- * E.g. can indicate that continuous ranging is required, or else that an ingress event occurred.
+ * The ranging event(s) which triggered the ranging. E.g. can indicate that continuous ranging was
+ * requested, or else that an ingress event occurred.
*/
bitfield<NanRangingIndication> rangingIndicationType;
};
@@ -1337,10 +1421,12 @@
/**
* Discovery session (publish or subscribe) ID of a previously created discovery session. The
* message is received in the context of this discovery session.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Instance ID
*/
- uint16_t discoverySessionId;
+ uint8_t discoverySessionId;
/**
- * A unique ID of the peer. Can be subsequently used in |transmitFollowupRequest|.
+ * A unique ID of the peer. Can be subsequently used in |IWifiNanIface.transmitFollowupRequest| or
+ * to set up a data-path.
*/
uint32_t peerId;
/**
@@ -1353,10 +1439,19 @@
*/
bool receivedInFaw;
/**
- * Received message as a byte sequence.
+ * Received message from the peer - there is no semantic meaning to these bytes. They are
+ * passed-through from sender to receiver as-is with no parsing.
* Max length: |NanCapabilities.maxServiceSpecificInfoLen|.
+ * NAN Spec: Service Descriptor Attribute (SDA) / Service Info
*/
- vec<uint8_t> message;
+ vec<uint8_t> serviceSpecificInfo;
+ /**
+ * Arbitrary information communicated in discovery packets - there is no semantic meaning to these
+ * bytes. They are passed-through from publisher to subscriber as-is with no parsing.
+ * Max length: |NanCapabilities.maxExtendedServiceSpecificInfoLen|.
+ * Spec: Service Descriptor Extension Attribute (SDEA) / Service Info
+ */
+ vec<uint8_t> extendedServiceSpecificInfo;
};
/**
@@ -1394,54 +1489,6 @@
};
/**
- * Mask to determine on which frames the vendor-specific attribute (VSA) was received on.
- */
-enum NanVsaRxFrameMask: uint32_t {
- DISCOVERY_BEACON_MASK = 1 << 0,
- SYNC_BEACON_MASK = 1 << 1,
- SERVICE_DISCOVERY_MASK = 1 << 2
-};
-
-/**
- * NAN Beacon or SDF Payload Indication Message structure.
- * The BeaconSdfPayloadInd message indicates to the upper layers that information
- * elements were received either in a Beacon or SDF which needs to be delivered
- * outside of a Publish/Subscribe Handle.
- */
-struct NanBeaconSdfPayloadInd {
- /**
- * The MAC address of the peer which sent the attributes.
- */
- MacAddress addr;
- /**
- * A flag indicating whether a vendor-specific attribute (VSA) has been received.
- */
- bool isVsaReceived;
- /**
- * Frames on which this vendor specific attribute was received.
- * Mask |NanVsaRxFrameMask| defined above.
- */
- bitfield<NanVsaRxFrameMask> vsaReceivedOnFrames;
- /**
- * Organizationally Unique Identifier (OUI) of the vendor-specific attribute.
- */
- uint32_t vsaVendorOui;
- /**
- * Contents of the vendor specific attribute.
- * Max length: |NanCapabilities.maxVsaDataLen|.
- */
- vec<uint8_t> vsa;
- /**
- * A flag indicating whether a NAN beacon or SDF payload has been received.
- */
- bool isBeaconSdfPayloadReceived;
- /**
- * The contents of the NAN beacon or SDF payload.
- */
- vec<uint8_t> beaconSdfPayloadData;
-};
-
-/**
* NAN Data path request Indication Message structure.
* Event indication received by an intended Responder when a Nan Data request initiated by an
* Initiator.
@@ -1450,8 +1497,9 @@
/**
* ID of an active publish or subscribe discovery session - the data-path request is in the
* context of this discovery session.
+ * NAN Spec: Data Path Attributes / NDP Attribute / Publish ID
*/
- uint16_t discoverySessionId;
+ uint8_t discoverySessionId;
/**
* MAC address of the Initiator peer. This is the MAC address of the peer's management/discovery
* NAN interface.
@@ -1463,11 +1511,15 @@
uint32_t ndpInstanceId;
/**
* Specifies whether or not security is required by the peer for the data-path being created.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Control / Security Present
*/
bool securityRequired;
/**
- * Arbitrary token transmitted by the peer as part of the data-path negotiation (not encrypted).
+ * Arbitrary information communicated from the peer as part of the data-path setup process - there
+ * is no semantic meaning to these bytes. They are passed-through from sender to receiver as-is
+ * with no parsing.
* Max length: |NanCapabilities.maxAppInfoLen|.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Specific Info
*/
vec<uint8_t> appInfo;
};
@@ -1491,8 +1543,11 @@
*/
MacAddress peerNdiMacAddr;
/**
- * Arbitrary token transmitted by the peer as part of the data-path negotiation (not encrypted).
+ * Arbitrary information communicated from the peer as part of the data-path setup process - there
+ * is no semantic meaning to these bytes. They are passed-through from sender to receiver as-is
+ * with no parsing.
* Max length: |NanCapabilities.maxAppInfoLen|.
+ * NAN Spec: Data Path Attributes / NDP Attribute / NDP Specific Info
*/
vec<uint8_t> appInfo;
/**
diff --git a/wifi/1.0/vts/Wifi.vts b/wifi/1.0/vts/Wifi.vts
index 608e012..85c901a7 100644
--- a/wifi/1.0/vts/Wifi.vts
+++ b/wifi/1.0/vts/Wifi.vts
@@ -4,11 +4,3041 @@
package: "android.hardware.wifi"
+import: "android.hardware.wifi@1.0::IWifiApIface"
import: "android.hardware.wifi@1.0::IWifiChip"
+import: "android.hardware.wifi@1.0::IWifiChipEventCallback"
import: "android.hardware.wifi@1.0::IWifiEventCallback"
+import: "android.hardware.wifi@1.0::IWifiIface"
+import: "android.hardware.wifi@1.0::IWifiNanIface"
+import: "android.hardware.wifi@1.0::IWifiNanIfaceEventCallback"
+import: "android.hardware.wifi@1.0::IWifiP2pIface"
+import: "android.hardware.wifi@1.0::IWifiRttController"
+import: "android.hardware.wifi@1.0::IWifiRttControllerEventCallback"
+import: "android.hardware.wifi@1.0::IWifiStaIface"
+import: "android.hardware.wifi@1.0::IWifiStaIfaceEventCallback"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "APF"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BACKGROUND_SCAN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "LINK_LAYER_STATS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "RSSI_MONITOR"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "CONTROL_ROAMING"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "PROBE_IE_WHITELIST"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "SCAN_RAND"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "STA_5G"
+ scalar_value: {
+ uint32_t: 128
+ }
+ enumerator: "HOTSPOT"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "PNO"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "TDLS"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "TDLS_OFFCHANNEL"
+ scalar_value: {
+ uint32_t: 2048
+ }
+ enumerator: "ND_OFFLOAD"
+ scalar_value: {
+ uint32_t: 4096
+ }
+ enumerator: "KEEP_ALIVE"
+ scalar_value: {
+ uint32_t: 8192
+ }
+ enumerator: "DEBUG_PACKET_FATE"
+ scalar_value: {
+ uint32_t: 16384
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombinationLimit"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "types"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+ }
+ }
+ struct_value: {
+ name: "maxIfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombination"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "limits"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombinationLimit"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiChip::ChipMode"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "availableCombinations"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombination"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiChip::ChipDebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "driverDescription"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "firmwareDescription"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiChip::ChipCapabilityMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DEBUG_MEMORY_FIRMWARE_DUMP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "DEBUG_MEMORY_DRIVER_DUMP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "DEBUG_RING_BUFFER_CONNECT_EVENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "DEBUG_RING_BUFFER_POWER_EVENT"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DEBUG_RING_BUFFER_WAKELOCK_EVENT"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "DEBUG_RING_BUFFER_VENDOR_DATA"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "DEBUG_HOST_WAKE_REASON_STATS"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "DEBUG_ERROR_ALERTS"
+ scalar_value: {
+ uint32_t: 128
+ }
+ }
+ }
+
api: {
name: "registerEventCallback"
return_type_hidl: {
@@ -17,8 +3047,7 @@
}
arg: {
type: TYPE_HIDL_CALLBACK
- predefined_type: "IWifiEventCallback"
- is_callback: true
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiEventCallback"
}
callflow: {
entry: true
@@ -95,8 +3124,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiChip"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiChip"
}
arg: {
type: TYPE_SCALAR
diff --git a/wifi/1.0/vts/WifiApIface.vts b/wifi/1.0/vts/WifiApIface.vts
index c4f3640..f231e4f 100644
--- a/wifi/1.0/vts/WifiApIface.vts
+++ b/wifi/1.0/vts/WifiApIface.vts
@@ -5,8 +5,2857 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::IWifiIface"
+import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "getType"
return_type_hidl: {
@@ -30,4 +2879,20 @@
}
}
+ api: {
+ name: "setCountryCode"
+ return_type_hidl: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+ }
+ arg: {
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ }
+
}
diff --git a/wifi/1.0/vts/WifiChip.vts b/wifi/1.0/vts/WifiChip.vts
index 4b278c1..53b1bc5 100644
--- a/wifi/1.0/vts/WifiChip.vts
+++ b/wifi/1.0/vts/WifiChip.vts
@@ -8,13 +8,2933 @@
import: "android.hardware.wifi@1.0::IWifiChipEventCallback"
import: "android.hardware.wifi@1.0::IWifiIface"
import: "android.hardware.wifi@1.0::IWifiNanIface"
+import: "android.hardware.wifi@1.0::IWifiNanIfaceEventCallback"
import: "android.hardware.wifi@1.0::IWifiP2pIface"
import: "android.hardware.wifi@1.0::IWifiRttController"
+import: "android.hardware.wifi@1.0::IWifiRttControllerEventCallback"
import: "android.hardware.wifi@1.0::IWifiStaIface"
+import: "android.hardware.wifi@1.0::IWifiStaIfaceEventCallback"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "APF"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BACKGROUND_SCAN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "LINK_LAYER_STATS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "RSSI_MONITOR"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "CONTROL_ROAMING"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "PROBE_IE_WHITELIST"
+ scalar_value: {
+ uint32_t: 32
+ }
+ enumerator: "SCAN_RAND"
+ scalar_value: {
+ uint32_t: 64
+ }
+ enumerator: "STA_5G"
+ scalar_value: {
+ uint32_t: 128
+ }
+ enumerator: "HOTSPOT"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "PNO"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "TDLS"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "TDLS_OFFCHANNEL"
+ scalar_value: {
+ uint32_t: 2048
+ }
+ enumerator: "ND_OFFLOAD"
+ scalar_value: {
+ uint32_t: 4096
+ }
+ enumerator: "KEEP_ALIVE"
+ scalar_value: {
+ uint32_t: 8192
+ }
+ enumerator: "DEBUG_PACKET_FATE"
+ scalar_value: {
+ uint32_t: 16384
+ }
+ }
+ }
+
+ attribute: {
name: "::android::hardware::wifi::V1_0::IWifiChip::ChipIfaceCombinationLimit"
type: TYPE_STRUCT
struct_value: {
@@ -137,8 +3057,7 @@
}
arg: {
type: TYPE_HIDL_CALLBACK
- predefined_type: "IWifiChipEventCallback"
- is_callback: true
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiChipEventCallback"
}
}
@@ -150,6 +3069,7 @@
}
return_type_hidl: {
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipCapabilityMask"
}
}
@@ -243,8 +3163,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiApIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiApIface"
}
}
@@ -270,8 +3189,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiApIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiApIface"
}
arg: {
type: TYPE_STRING
@@ -297,8 +3215,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiNanIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiNanIface"
}
}
@@ -324,8 +3241,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiNanIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiNanIface"
}
arg: {
type: TYPE_STRING
@@ -351,8 +3267,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiP2pIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiP2pIface"
}
}
@@ -378,8 +3293,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiP2pIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiP2pIface"
}
arg: {
type: TYPE_STRING
@@ -405,8 +3319,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiStaIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiStaIface"
}
}
@@ -432,8 +3345,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiStaIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiStaIface"
}
arg: {
type: TYPE_STRING
@@ -459,13 +3371,11 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiRttController"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiRttController"
}
arg: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiIface"
}
}
diff --git a/wifi/1.0/vts/WifiChipEventCallback.vts b/wifi/1.0/vts/WifiChipEventCallback.vts
index c755162..7467d05 100644
--- a/wifi/1.0/vts/WifiChipEventCallback.vts
+++ b/wifi/1.0/vts/WifiChipEventCallback.vts
@@ -5,8 +5,2856 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "onChipReconfigured"
arg: {
diff --git a/wifi/1.0/vts/WifiEventCallback.vts b/wifi/1.0/vts/WifiEventCallback.vts
index a0cf667..458672b 100644
--- a/wifi/1.0/vts/WifiEventCallback.vts
+++ b/wifi/1.0/vts/WifiEventCallback.vts
@@ -5,8 +5,2856 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "onStart"
}
diff --git a/wifi/1.0/vts/WifiIface.vts b/wifi/1.0/vts/WifiIface.vts
index 1434a3e..0327509 100644
--- a/wifi/1.0/vts/WifiIface.vts
+++ b/wifi/1.0/vts/WifiIface.vts
@@ -5,8 +5,2856 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "getType"
return_type_hidl: {
diff --git a/wifi/1.0/vts/WifiNanIface.vts b/wifi/1.0/vts/WifiNanIface.vts
index 663b526..924f564 100644
--- a/wifi/1.0/vts/WifiNanIface.vts
+++ b/wifi/1.0/vts/WifiNanIface.vts
@@ -7,8 +7,2856 @@
import: "android.hardware.wifi@1.0::IWifiIface"
import: "android.hardware.wifi@1.0::IWifiNanIfaceEventCallback"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "getType"
return_type_hidl: {
@@ -40,8 +2888,7 @@
}
arg: {
type: TYPE_HIDL_CALLBACK
- predefined_type: "IWifiNanIfaceEventCallback"
- is_callback: true
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiNanIfaceEventCallback"
}
}
@@ -129,7 +2976,7 @@
}
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
}
@@ -161,7 +3008,7 @@
}
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
}
@@ -259,20 +3106,4 @@
}
}
- api: {
- name: "beaconSdfPayloadRequest"
- return_type_hidl: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
- }
- arg: {
- type: TYPE_SCALAR
- scalar_type: "uint16_t"
- }
- arg: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest"
- }
- }
-
}
diff --git a/wifi/1.0/vts/WifiNanIfaceEventCallback.vts b/wifi/1.0/vts/WifiNanIfaceEventCallback.vts
index 30ca88a..f2bb608 100644
--- a/wifi/1.0/vts/WifiNanIfaceEventCallback.vts
+++ b/wifi/1.0/vts/WifiNanIfaceEventCallback.vts
@@ -5,8 +5,2856 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "notifyCapabilitiesResponse"
arg: {
@@ -71,7 +2919,7 @@
}
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
}
@@ -99,7 +2947,7 @@
}
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
}
@@ -161,6 +3009,10 @@
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
}
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
}
api: {
@@ -173,10 +3025,6 @@
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
}
- arg: {
- type: TYPE_SCALAR
- scalar_type: "uint32_t"
- }
}
api: {
@@ -192,18 +3040,6 @@
}
api: {
- name: "notifyBeaconSdfPayloadResponse"
- arg: {
- type: TYPE_SCALAR
- scalar_type: "uint16_t"
- }
- arg: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
- }
- }
-
- api: {
name: "eventClusterEvent"
arg: {
type: TYPE_STRUCT
@@ -223,7 +3059,7 @@
name: "eventPublishTerminated"
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
arg: {
type: TYPE_STRUCT
@@ -235,7 +3071,7 @@
name: "eventSubscribeTerminated"
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
arg: {
type: TYPE_STRUCT
@@ -255,7 +3091,7 @@
name: "eventMatchExpired"
arg: {
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
arg: {
type: TYPE_SCALAR
@@ -307,12 +3143,4 @@
}
}
- api: {
- name: "eventBeaconSdfPayload"
- arg: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd"
- }
- }
-
}
diff --git a/wifi/1.0/vts/WifiP2pIface.vts b/wifi/1.0/vts/WifiP2pIface.vts
index b40c81e..94f3de6 100644
--- a/wifi/1.0/vts/WifiP2pIface.vts
+++ b/wifi/1.0/vts/WifiP2pIface.vts
@@ -5,8 +5,2857 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::IWifiIface"
+import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "getType"
return_type_hidl: {
diff --git a/wifi/1.0/vts/WifiRttController.vts b/wifi/1.0/vts/WifiRttController.vts
index 0fd3626..3ed2885 100644
--- a/wifi/1.0/vts/WifiRttController.vts
+++ b/wifi/1.0/vts/WifiRttController.vts
@@ -7,8 +7,2856 @@
import: "android.hardware.wifi@1.0::IWifiIface"
import: "android.hardware.wifi@1.0::IWifiRttControllerEventCallback"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "getBoundIface"
return_type_hidl: {
@@ -17,8 +2865,7 @@
}
return_type_hidl: {
type: TYPE_HIDL_INTERFACE
- predefined_type: "IWifiIface"
- is_callback: false
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiIface"
}
}
@@ -30,8 +2877,7 @@
}
arg: {
type: TYPE_HIDL_CALLBACK
- predefined_type: "IWifiRttControllerEventCallback"
- is_callback: true
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiRttControllerEventCallback"
}
}
@@ -68,8 +2914,8 @@
type: TYPE_VECTOR
vector_value: {
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
diff --git a/wifi/1.0/vts/WifiRttControllerEventCallback.vts b/wifi/1.0/vts/WifiRttControllerEventCallback.vts
index 028fd03..ab69dea 100644
--- a/wifi/1.0/vts/WifiRttControllerEventCallback.vts
+++ b/wifi/1.0/vts/WifiRttControllerEventCallback.vts
@@ -5,8 +5,2856 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "onResults"
arg: {
diff --git a/wifi/1.0/vts/WifiStaIface.vts b/wifi/1.0/vts/WifiStaIface.vts
index 0cff792..ecd0ae2 100644
--- a/wifi/1.0/vts/WifiStaIface.vts
+++ b/wifi/1.0/vts/WifiStaIface.vts
@@ -7,9 +7,2857 @@
import: "android.hardware.wifi@1.0::IWifiIface"
import: "android.hardware.wifi@1.0::IWifiStaIfaceEventCallback"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
name: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask"
type: TYPE_ENUM
enum_value: {
@@ -109,8 +2957,7 @@
}
arg: {
type: TYPE_HIDL_CALLBACK
- predefined_type: "IWifiStaIfaceEventCallback"
- is_callback: true
+ predefined_type: "::android::hardware::wifi::V1_0::IWifiStaIfaceEventCallback"
}
}
@@ -122,6 +2969,7 @@
}
return_type_hidl: {
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask"
}
}
@@ -351,16 +3199,16 @@
}
arg: {
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
}
arg: {
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -384,15 +3232,23 @@
}
api: {
- name: "startDebugPacketFateMonitoring"
+ name: "setScanningMacOui"
return_type_hidl: {
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
}
+ arg: {
+ type: TYPE_ARRAY
+ vector_size: 3
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
}
api: {
- name: "stopDebugPacketFateMonitoring"
+ name: "startDebugPacketFateMonitoring"
return_type_hidl: {
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
diff --git a/wifi/1.0/vts/WifiStaIfaceEventCallback.vts b/wifi/1.0/vts/WifiStaIfaceEventCallback.vts
index b04ad26..b8156d0 100644
--- a/wifi/1.0/vts/WifiStaIfaceEventCallback.vts
+++ b/wifi/1.0/vts/WifiStaIfaceEventCallback.vts
@@ -5,8 +5,2856 @@
package: "android.hardware.wifi"
import: "android.hardware.wifi@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ERROR_WIFI_CHIP_INVALID"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ERROR_WIFI_IFACE_INVALID"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "ERROR_WIFI_RTT_CONTROLLER_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "ERROR_NOT_SUPPORTED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "ERROR_NOT_AVAILABLE"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "ERROR_NOT_STARTED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "ERROR_INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ERROR_BUSY"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "ERROR_UNKNOWN"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "code"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiStatusCode"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::IfaceType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "P2P"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "WIDTH_20"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "WIDTH_40"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WIDTH_80"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "WIDTH_160"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "WIDTH_80P80"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "WIDTH_5"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "WIDTH_10"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "WIDTH_INVALID"
+ scalar_value: {
+ uint32_t: 4294967295
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "width"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "centerFreq"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq0"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "centerFreq1"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "id"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "data"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OFDM"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "CCK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateNss"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NSS_1x1"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NSS_2x2"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "NSS_3x3"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NSS_4x4"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRatePreamble"
+ }
+ struct_value: {
+ name: "nss"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateNss"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelWidthInMhz"
+ }
+ struct_value: {
+ name: "rateMcsIdx"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "bitRateInKbps"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxLength"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxCacheSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxBuckets"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApCachePerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxReportingThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BAND_UNSPECIFIED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BAND_5GHZ_DFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BAND_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "BAND_24GHZ_5GHZ"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAND_24GHZ_5GHZ_WITH_DFS"
+ scalar_value: {
+ uint32_t: 7
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "EACH_SCAN"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FULL_RESULTS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NO_BATCH"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "band"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+ }
+ struct_value: {
+ name: "frequencies"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "periodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "eventReportScheme"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
+ }
+ struct_value: {
+ name: "exponentialMaxPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialBase"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "exponentialStepCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "basePeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxApPerScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdPercent"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "reportThresholdNumScans"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "buckets"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketParameters"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "txMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "lostMpdu"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "retries"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "beaconRx"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "avgRssiMgmt"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "wmeBePktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeBkPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeViPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ struct_value: {
+ name: "wmeVoPktStats"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfacePacketStats"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "onTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "txTimeInMsPerLevel"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "rxTimeInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "onTimeInMsForScan"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "iface"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerIfaceStats"
+ }
+ struct_value: {
+ name: "radio"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerRadioStats"
+ }
+ struct_value: {
+ name: "timeStampInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "ssid"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "bssid"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "frequency"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "beaconPeriodInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "capability"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "informationElements"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INTERRUPTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaScanData"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
+ }
+ struct_value: {
+ name: "bucketsScanned"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "results"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxBlacklistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxWhitelistSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "bssidBlacklist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ struct_value: {
+ name: "ssidWhitelist"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 32
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::StaRoamingState"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint8_t"
+
+ enumerator: "DISABLED"
+ scalar_value: {
+ uint8_t: 0
+ }
+ enumerator: "ENABLED"
+ scalar_value: {
+ uint8_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanStatusType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "INTERNAL_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "PROTOCOL_FAILURE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "INVALID_SESSION_ID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "NO_RESOURCES_AVAILABLE"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "INVALID_ARGS"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "INVALID_PEER_ID"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "INVALID_NDP_ID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "NAN_NOT_ALLOWED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "NO_OTA_ACK"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "ALREADY_ENABLED"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FOLLOWUP_TX_QUEUE_FULL"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "UNSUPPORTED_CONCURRENCY_NAN_DISABLED"
+ scalar_value: {
+ uint32_t: 12
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NAN_BAND_24GHZ"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "NAN_BAND_5GHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanStatusType"
+ }
+ struct_value: {
+ name: "description"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MATCH_ONCE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "MATCH_CONTINUOUS"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MATCH_NEVER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNSOLICITED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SOLICITED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNSOLICITED_SOLICITED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTxType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNICAST"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "PASSIVE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACTIVE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSrfType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BLOOM_FILTER"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "PARTIAL_MAC_ADDR"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CHANNEL_NOT_REQUESTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "REQUEST_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FORCE_CHANNEL_SETUP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "validClusterIdVals"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "clusterIdBottomRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "clusterIdTopRangeVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validIntfAddrVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddrVal"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "validOuiVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ouiVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "validRandomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "randomFactorForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validHopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "hopCountForceVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "validDiscoveryChannelVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryChannelMhzVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "validUseBeaconsInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useBeaconsInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "validUseSdfInBandVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "useSdfInBandVal"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "masterPref"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryAddressChangeIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableStartedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableJoinedClusterIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "includePublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiWindowSize"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "macAddressRandomizationIntervalSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "acceptRangingRequests"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "bandSpecificConfig"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "operateInBand"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+ struct_value: {
+ name: "hopCountMax"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "configParams"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanConfigRequest"
+ }
+ struct_value: {
+ name: "debugConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDebugConfig"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SHARED_KEY_128_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "SHARED_KEY_256_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CONTINUOUS_INDICATION_MASK"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "INGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EGRESS_MET_MASK"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "ttlSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryWindowPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "discoveryCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "serviceName"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "discoveryMatchIndicator"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanMatchAlg"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "rxMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "txMatchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "useRssiThreshold"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableDiscoveryTerminationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableMatchExpirationIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "disableFollowupReceivedIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "securityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingIntervalMsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "configRangingIndications"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ struct_value: {
+ name: "distanceIngressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "distanceEgressCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanPublishRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "publishType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanPublishType"
+ }
+ struct_value: {
+ name: "txType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanTxType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanSubscribeRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "baseConfigs"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::NanDiscoveryCommonConfig"
+ }
+ struct_value: {
+ name: "subscribeType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSubscribeType"
+ }
+ struct_value: {
+ name: "srfType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanSrfType"
+ }
+ struct_value: {
+ name: "srfRespondIfInAddressSet"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseSrf"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "isSsiRequiredForMatch"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "intfAddr"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanTransmitFollowupRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "isHighPriority"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "shouldUseDiscoveryWindow"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "disableFollowupResultIndication"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanInitiateDataPathRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "channelRequestType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanDataPathChannelCfg"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanRespondToDataPathIndicationRequest"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "acceptRequest"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ifaceName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "supportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "pmk"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "maxConcurrentClusters"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxPublishes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceNameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxTotalMatchFilterLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxVsaDataLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdiInterfaces"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxNdpSessions"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxAppInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxQueuedTransmitFollowupMsgs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "maxSubscribeInterfaceAddresses"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "supportedCipherSuites"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanMatchInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchFilter"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "matchOccuredInBeaconFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "outOfResourceFlag"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rssiValue"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerSupportedCipherTypes"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
+ }
+ struct_value: {
+ name: "peerRequiresSecurityEnabledInNdp"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerRequiresRanging"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rangingMeasurementInCm"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rangingIndicationType"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "receivedInFaw"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "DISCOVERY_MAC_ADDRESS_CHANGED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "STARTED_CLUSTER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "JOINED_CLUSTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "eventType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventType"
+ }
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "discoverySessionId"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "peerDiscMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "securityRequired"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ndpInstanceId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "dataPathSetupSuccess"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "peerNdiMacAddr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "appInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttStatus"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FAIL_NO_RSP"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FAIL_REJECTED"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FAIL_NOT_SCHEDULED_YET"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FAIL_TM_TIMEOUT"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "FAIL_AP_ON_DIFF_CHANNEL"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "FAIL_NO_CAPABILITY"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "ABORTED"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "FAIL_INVALID_TS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "FAIL_PROTOCOL"
+ scalar_value: {
+ uint32_t: 10
+ }
+ enumerator: "FAIL_SCHEDULE"
+ scalar_value: {
+ uint32_t: 11
+ }
+ enumerator: "FAIL_BUSY_TRY_LATER"
+ scalar_value: {
+ uint32_t: 12
+ }
+ enumerator: "INVALID_REQ"
+ scalar_value: {
+ uint32_t: 13
+ }
+ enumerator: "NO_WIFI"
+ scalar_value: {
+ uint32_t: 14
+ }
+ enumerator: "FAIL_FTM_PARAM_OVERRIDE"
+ scalar_value: {
+ uint32_t: 15
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPeerType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "AP"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "STA"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "P2P_GO"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "P2P_CLIENT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "NAN"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttBw"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "BW_5MHZ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BW_10MHZ"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "BW_20MHZ"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "BW_40MHZ"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "BW_80MHZ"
+ scalar_value: {
+ uint32_t: 16
+ }
+ enumerator: "BW_160MHZ"
+ scalar_value: {
+ uint32_t: 32
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttPreamble"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "LEGACY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "VHT"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ONE_SIDED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TWO_SIDED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttConfig"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "peer"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPeerType"
+ }
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "burstPeriod"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numFramesPerBurst"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerRttFrame"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numRetriesPerFtmr"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "mustRequestLci"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "mustRequestLcr"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "burstDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bw"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResult"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "addr"
+ type: TYPE_ARRAY
+ vector_size: 6
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "burstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "measurementNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "successNumber"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "numberPerBurstPeer"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "status"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttStatus"
+ }
+ struct_value: {
+ name: "retryAfterDuration"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttType"
+ }
+ struct_value: {
+ name: "rssi"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "rssiSpread"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "txRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rxRate"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiRateInfo"
+ }
+ struct_value: {
+ name: "rtt"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSd"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "rttSpread"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "distanceInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSdInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "distanceSpreadInMm"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "timeStampInUs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "burstDurationInMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "negotiatedBurstNum"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "lci"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ struct_value: {
+ name: "lcr"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiInformationElement"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttCapabilities"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rttOneSidedSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "rttFtmSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lciSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "lcrSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "responderSupported"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "preambleSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ struct_value: {
+ name: "bwSupport"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::wifi::V1_0::RttBw"
+ }
+ struct_value: {
+ name: "mcVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NOT_EXPECTED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "EXPECTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLciInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "latitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "longitude"
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ struct_value: {
+ name: "altitude"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "latitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "longitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "altitudeUnc"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "motionPattern"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttMotionPattern"
+ }
+ struct_value: {
+ name: "floor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightAboveFloor"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "heightUnc"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttLcrInformation"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "countryCode"
+ type: TYPE_ARRAY
+ vector_size: 2
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "int8_t"
+ }
+ }
+ struct_value: {
+ name: "civicInfo"
+ type: TYPE_STRING
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::RttResponder"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "channel"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+ }
+ struct_value: {
+ name: "preamble"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "HAS_BINARY_ENTRIES"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "HAS_ASCII_ENTRIES"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "HAS_PER_PACKET_ENTRIES"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ringName"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ringId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "sizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeSizeInBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "verboseLevel"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "VERBOSE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXCESSIVE"
+ scalar_value: {
+ uint32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "ACKED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SENT"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 9
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "FW_QUEUED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "FW_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "FW_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "FW_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "FW_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "DRV_QUEUED"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "DRV_DROP_FILTER"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "DRV_DROP_INVALID"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "DRV_DROP_NOBUFS"
+ scalar_value: {
+ uint32_t: 9
+ }
+ enumerator: "DRV_DROP_OTHER"
+ scalar_value: {
+ uint32_t: 10
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "UNKNOWN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ETHERNET_II"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "MGMT_80211"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "frameType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameType"
+ }
+ struct_value: {
+ name: "frameLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "driverTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "firmwareTimestampUsec"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "frameContent"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "fate"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFate"
+ }
+ struct_value: {
+ name: "frameInfo"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugPacketFateFrameInfo"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "rxUnicastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxMulticastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxBroadcastCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "ipv4RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "ipv6RxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "otherRxMulticastAddrCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "icmpPkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Pkt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ra"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Na"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "icmp6Ns"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalCmdEventWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "cmdEventWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalDriverFwLocalWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "driverFwLocalWakeCntPerType"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ struct_value: {
+ name: "totalRxPacketWakeCnt"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "rxPktWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxPacketDetails"
+ }
+ struct_value: {
+ name: "rxMulticastPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxMulticastPacketDetails"
+ }
+ struct_value: {
+ name: "rxIcmpPkWakeDetails"
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonRxIcmpPacketDetails"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "onBackgroundScanFailure"
arg: {
@@ -50,8 +2898,8 @@
}
arg: {
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
diff --git a/wifi/1.0/vts/types.vts b/wifi/1.0/vts/types.vts
index fd60d4e..12a5060 100644
--- a/wifi/1.0/vts/types.vts
+++ b/wifi/1.0/vts/types.vts
@@ -383,6 +383,7 @@
struct_value: {
name: "eventReportScheme"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBucketEventReportSchemeMask"
}
struct_value: {
@@ -567,8 +568,8 @@
struct_value: {
name: "bssid"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -622,6 +623,7 @@
struct_value: {
name: "flags"
type: TYPE_MASK
+ scalar_type: "int32_t"
predefined_type: "::android::hardware::wifi::V1_0::StaScanDataFlagMask"
}
struct_value: {
@@ -662,8 +664,8 @@
type: TYPE_VECTOR
vector_value: {
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -674,8 +676,8 @@
type: TYPE_VECTOR
vector_value: {
type: TYPE_ARRAY
+ vector_size: 32
vector_value: {
- vector_size: 32
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -689,11 +691,11 @@
enum_value: {
scalar_type: "uint8_t"
- enumerator: "ENABLED"
+ enumerator: "DISABLED"
scalar_value: {
uint8_t: 0
}
- enumerator: "DISABLED"
+ enumerator: "ENABLED"
scalar_value: {
uint8_t: 1
}
@@ -920,7 +922,7 @@
scalar_type: "uint8_t"
}
struct_value: {
- name: "rssiProximity"
+ name: "rssiCloseProximity"
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -955,12 +957,12 @@
scalar_type: "bool_t"
}
struct_value: {
- name: "clusterIdLowVal"
+ name: "clusterIdBottomRangeVal"
type: TYPE_SCALAR
scalar_type: "uint16_t"
}
struct_value: {
- name: "clusterIdHighVal"
+ name: "clusterIdTopRangeVal"
type: TYPE_SCALAR
scalar_type: "uint16_t"
}
@@ -972,8 +974,8 @@
struct_value: {
name: "intfAddrVal"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1015,7 +1017,8 @@
}
struct_value: {
name: "discoveryChannelMhzVal"
- type: TYPE_VECTOR
+ type: TYPE_ARRAY
+ vector_size: 2
vector_value: {
type: TYPE_SCALAR
scalar_type: "uint32_t"
@@ -1028,7 +1031,8 @@
}
struct_value: {
name: "useBeaconsInBandVal"
- type: TYPE_VECTOR
+ type: TYPE_ARRAY
+ vector_size: 2
vector_value: {
type: TYPE_SCALAR
scalar_type: "bool_t"
@@ -1041,7 +1045,8 @@
}
struct_value: {
name: "useSdfInBandVal"
- type: TYPE_VECTOR
+ type: TYPE_ARRAY
+ vector_size: 2
vector_value: {
type: TYPE_SCALAR
scalar_type: "bool_t"
@@ -1073,12 +1078,22 @@
scalar_type: "bool_t"
}
struct_value: {
- name: "includeServiceIdsInBeacon"
+ name: "includePublishServiceIdsInBeacon"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
- name: "numberOfServiceIdsInBeacon"
+ name: "numberOfPublishServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "includeSubscribeServiceIdsInBeacon"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "numberOfSubscribeServiceIdsInBeacon"
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1099,10 +1114,46 @@
}
struct_value: {
name: "bandSpecificConfig"
- type: TYPE_VECTOR
+ type: TYPE_ARRAY
+ vector_size: 2
vector_value: {
+ name: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
type: TYPE_STRUCT
- predefined_type: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+ struct_value: {
+ name: "rssiClose"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiMiddle"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "rssiCloseProximity"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "dwellTimeMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "scanPeriodSec"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "validDiscoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ struct_value: {
+ name: "discoveryWindowIntervalVal"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
}
}
}
@@ -1112,7 +1163,8 @@
type: TYPE_STRUCT
struct_value: {
name: "operateInBand"
- type: TYPE_VECTOR
+ type: TYPE_ARRAY
+ vector_size: 2
vector_value: {
type: TYPE_SCALAR
scalar_type: "bool_t"
@@ -1179,7 +1231,7 @@
struct_value: {
name: "sessionId"
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
struct_value: {
name: "ttlSec"
@@ -1198,7 +1250,11 @@
}
struct_value: {
name: "serviceName"
- type: TYPE_STRING
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
}
struct_value: {
name: "discoveryMatchIndicator"
@@ -1214,6 +1270,14 @@
}
}
struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
name: "rxMatchFilter"
type: TYPE_VECTOR
vector_value: {
@@ -1252,6 +1316,7 @@
struct_value: {
name: "supportedCipherTypes"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
}
struct_value: {
@@ -1280,17 +1345,18 @@
struct_value: {
name: "configRangingIndications"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
}
struct_value: {
name: "distanceIngressCm"
type: TYPE_SCALAR
- scalar_type: "uint32_t"
+ scalar_type: "uint16_t"
}
struct_value: {
name: "distanceEgressCm"
type: TYPE_SCALAR
- scalar_type: "uint32_t"
+ scalar_type: "uint16_t"
}
}
@@ -1352,8 +1418,8 @@
type: TYPE_VECTOR
vector_value: {
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1367,7 +1433,7 @@
struct_value: {
name: "discoverySessionId"
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
struct_value: {
name: "peerId"
@@ -1377,8 +1443,8 @@
struct_value: {
name: "addr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1394,7 +1460,15 @@
scalar_type: "bool_t"
}
struct_value: {
- name: "message"
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
type: TYPE_VECTOR
vector_value: {
type: TYPE_SCALAR
@@ -1419,8 +1493,8 @@
struct_value: {
name: "peerDiscMacAddr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1455,6 +1529,7 @@
struct_value: {
name: "supportedCipherTypes"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
}
struct_value: {
@@ -1500,6 +1575,7 @@
struct_value: {
name: "supportedCipherTypes"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
}
struct_value: {
@@ -1513,44 +1589,6 @@
}
attribute: {
- name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest"
- type: TYPE_STRUCT
- struct_value: {
- name: "transmitInNext16dws"
- type: TYPE_SCALAR
- scalar_type: "bool_t"
- }
- struct_value: {
- name: "transmitInDiscoveryBeacon"
- type: TYPE_SCALAR
- scalar_type: "bool_t"
- }
- struct_value: {
- name: "transmitInSyncBeacon"
- type: TYPE_SCALAR
- scalar_type: "bool_t"
- }
- struct_value: {
- name: "transmitInServiceDiscoveryFrame"
- type: TYPE_SCALAR
- scalar_type: "bool_t"
- }
- struct_value: {
- name: "vendorOui"
- type: TYPE_SCALAR
- scalar_type: "uint32_t"
- }
- struct_value: {
- name: "vsa"
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_SCALAR
- scalar_type: "uint8_t"
- }
- }
-}
-
-attribute: {
name: "::android::hardware::wifi::V1_0::NanCapabilities"
type: TYPE_STRUCT
struct_value: {
@@ -1589,6 +1627,11 @@
scalar_type: "uint32_t"
}
struct_value: {
+ name: "maxExtendedServiceSpecificInfoLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
name: "maxVsaDataLen"
type: TYPE_SCALAR
scalar_type: "uint32_t"
@@ -1621,6 +1664,7 @@
struct_value: {
name: "supportedCipherSuites"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
}
}
@@ -1631,7 +1675,7 @@
struct_value: {
name: "discoverySessionId"
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
struct_value: {
name: "peerId"
@@ -1641,8 +1685,8 @@
struct_value: {
name: "addr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1656,6 +1700,14 @@
}
}
struct_value: {
+ name: "extendedServiceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
name: "matchFilter"
type: TYPE_VECTOR
vector_value: {
@@ -1681,6 +1733,7 @@
struct_value: {
name: "peerSupportedCipherTypes"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanCipherSuiteType"
}
struct_value: {
@@ -1701,6 +1754,7 @@
struct_value: {
name: "rangingIndicationType"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
}
}
@@ -1711,7 +1765,7 @@
struct_value: {
name: "discoverySessionId"
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
struct_value: {
name: "peerId"
@@ -1721,8 +1775,8 @@
struct_value: {
name: "addr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1733,7 +1787,15 @@
scalar_type: "bool_t"
}
struct_value: {
- name: "message"
+ name: "serviceSpecificInfo"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ struct_value: {
+ name: "extendedServiceSpecificInfo"
type: TYPE_VECTOR
vector_value: {
type: TYPE_SCALAR
@@ -1774,78 +1836,7 @@
struct_value: {
name: "addr"
type: TYPE_ARRAY
- vector_value: {
- vector_size: 6
- type: TYPE_SCALAR
- scalar_type: "uint8_t"
- }
- }
-}
-
-attribute: {
- name: "::android::hardware::wifi::V1_0::NanVsaRxFrameMask"
- type: TYPE_ENUM
- enum_value: {
- scalar_type: "uint32_t"
-
- enumerator: "DISCOVERY_BEACON_MASK"
- scalar_value: {
- uint32_t: 1
- }
- enumerator: "SYNC_BEACON_MASK"
- scalar_value: {
- uint32_t: 2
- }
- enumerator: "SERVICE_DISCOVERY_MASK"
- scalar_value: {
- uint32_t: 4
- }
- }
-}
-
-attribute: {
- name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd"
- type: TYPE_STRUCT
- struct_value: {
- name: "addr"
- type: TYPE_ARRAY
- vector_value: {
- vector_size: 6
- type: TYPE_SCALAR
- scalar_type: "uint8_t"
- }
- }
- struct_value: {
- name: "isVsaReceived"
- type: TYPE_SCALAR
- scalar_type: "bool_t"
- }
- struct_value: {
- name: "vsaReceivedOnFrames"
- type: TYPE_MASK
- predefined_type: "::android::hardware::wifi::V1_0::NanVsaRxFrameMask"
- }
- struct_value: {
- name: "vsaVendorOui"
- type: TYPE_SCALAR
- scalar_type: "uint32_t"
- }
- struct_value: {
- name: "vsa"
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_SCALAR
- scalar_type: "uint8_t"
- }
- }
- struct_value: {
- name: "isBeaconSdfPayloadReceived"
- type: TYPE_SCALAR
- scalar_type: "bool_t"
- }
- struct_value: {
- name: "beaconSdfPayloadData"
- type: TYPE_VECTOR
+ vector_size: 6
vector_value: {
type: TYPE_SCALAR
scalar_type: "uint8_t"
@@ -1859,13 +1850,13 @@
struct_value: {
name: "discoverySessionId"
type: TYPE_SCALAR
- scalar_type: "uint16_t"
+ scalar_type: "uint8_t"
}
struct_value: {
name: "peerDiscMacAddr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -1906,8 +1897,8 @@
struct_value: {
name: "peerNdiMacAddr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -2106,8 +2097,8 @@
struct_value: {
name: "addr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -2185,8 +2176,8 @@
struct_value: {
name: "addr"
type: TYPE_ARRAY
+ vector_size: 6
vector_value: {
- vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
@@ -2334,11 +2325,13 @@
struct_value: {
name: "preambleSupport"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
}
struct_value: {
name: "bwSupport"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::wifi::V1_0::RttBw"
}
struct_value: {
@@ -2430,8 +2423,8 @@
struct_value: {
name: "countryCode"
type: TYPE_ARRAY
+ vector_size: 2
vector_value: {
- vector_size: 2
type: TYPE_SCALAR
scalar_type: "int8_t"
}
diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp
index b985a93..a6c2758 100644
--- a/wifi/supplicant/1.0/Android.bp
+++ b/wifi/supplicant/1.0/Android.bp
@@ -24,19 +24,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.wifi.supplicant@1.0",
srcs: [
- "types.hal",
- "ISupplicant.hal",
- "ISupplicantCallback.hal",
- "ISupplicantIface.hal",
- "ISupplicantNetwork.hal",
- "ISupplicantP2pIface.hal",
- "ISupplicantP2pIfaceCallback.hal",
- "ISupplicantP2pNetwork.hal",
- "ISupplicantP2pNetworkCallback.hal",
- "ISupplicantStaIface.hal",
- "ISupplicantStaIfaceCallback.hal",
- "ISupplicantStaNetwork.hal",
- "ISupplicantStaNetworkCallback.hal",
+ ":android.hardware.wifi.supplicant@1.0_hal",
],
out: [
"android/hardware/wifi/supplicant/1.0/types.cpp",
@@ -60,19 +48,7 @@
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.wifi.supplicant@1.0",
srcs: [
- "types.hal",
- "ISupplicant.hal",
- "ISupplicantCallback.hal",
- "ISupplicantIface.hal",
- "ISupplicantNetwork.hal",
- "ISupplicantP2pIface.hal",
- "ISupplicantP2pIfaceCallback.hal",
- "ISupplicantP2pNetwork.hal",
- "ISupplicantP2pNetworkCallback.hal",
- "ISupplicantStaIface.hal",
- "ISupplicantStaIfaceCallback.hal",
- "ISupplicantStaNetwork.hal",
- "ISupplicantStaNetworkCallback.hal",
+ ":android.hardware.wifi.supplicant@1.0_hal",
],
out: [
"android/hardware/wifi/supplicant/1.0/types.h",
diff --git a/wifi/supplicant/1.0/Android.mk b/wifi/supplicant/1.0/Android.mk
index ad49b0a..dd210d0 100644
--- a/wifi/supplicant/1.0/Android.mk
+++ b/wifi/supplicant/1.0/Android.mk
@@ -8,7 +8,7 @@
LOCAL_MODULE := android.hardware.wifi.supplicant@1.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
@@ -387,7 +387,7 @@
LOCAL_MODULE := android.hardware.wifi.supplicant@1.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-intermediates := $(local-generated-sources-dir)
+intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)