wifi(vts): Generate the .vts files

Generates the .vts files for all wifi HIDL interfaces.

hidl-gen -o hardware/interfaces/wifi/1.0/vts/ -L vts -r
android.hardware:hardware/interfaces -r
android.hidl:system/libhidl/transport android.hardware.wifi@1.0
hidl-gen -o hardware/interfaces/wifi/supplicant/1.0/vts/ -L vts -r
android.hardware:hardware/interfaces -r
android.hidl:system/libhidl/transport
android.hardware.wifi.supplicant@1.0

Bug: 32022435
Test: Compiles
Change-Id: Idb037dafb72e645e5f6618bc909ba02ae7232e77
diff --git a/wifi/1.0/vts/Wifi.vts b/wifi/1.0/vts/Wifi.vts
new file mode 100644
index 0000000..608e012
--- /dev/null
+++ b/wifi/1.0/vts/Wifi.vts
@@ -0,0 +1,110 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifi"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiChip"
+import: "android.hardware.wifi@1.0::IWifiEventCallback"
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "registerEventCallback"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IWifiEventCallback"
+            is_callback: true
+        }
+        callflow: {
+            entry: true
+        }
+        callflow: {
+            next: "*"
+        }
+    }
+
+    api: {
+        name: "isStarted"
+        return_type_hidl: {
+            type: TYPE_SCALAR
+            scalar_type: "bool_t"
+        }
+    }
+
+    api: {
+        name: "start"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        callflow: {
+            entry: true
+        }
+        callflow: {
+            next: "registerEventCallback"
+            next: "start"
+            next: "stop"
+            next: "getChip"
+        }
+    }
+
+    api: {
+        name: "stop"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        callflow: {
+            exit: true
+        }
+        callflow: {
+            next: "registerEventCallback"
+            next: "start"
+            next: "stop"
+        }
+    }
+
+    api: {
+        name: "getChipIds"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint32_t"
+            }
+        }
+        callflow: {
+            next: "*"
+        }
+    }
+
+    api: {
+        name: "getChip"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiChip"
+            is_callback: false
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        callflow: {
+            next: "*"
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiApIface.vts b/wifi/1.0/vts/WifiApIface.vts
new file mode 100644
index 0000000..c4f3640
--- /dev/null
+++ b/wifi/1.0/vts/WifiApIface.vts
@@ -0,0 +1,33 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiApIface"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiIface"
+
+interface: {
+    api: {
+        name: "getType"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+    }
+
+    api: {
+        name: "getName"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRING
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiChip.vts b/wifi/1.0/vts/WifiChip.vts
new file mode 100644
index 0000000..4b278c1
--- /dev/null
+++ b/wifi/1.0/vts/WifiChip.vts
@@ -0,0 +1,545 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiChip"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiApIface"
+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::IWifiP2pIface"
+import: "android.hardware.wifi@1.0::IWifiRttController"
+import: "android.hardware.wifi@1.0::IWifiStaIface"
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    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: "getId"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "registerEventCallback"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IWifiChipEventCallback"
+            is_callback: true
+        }
+    }
+
+    api: {
+        name: "getCapabilities"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_MASK
+            predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipCapabilityMask"
+        }
+    }
+
+    api: {
+        name: "getAvailableModes"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipMode"
+            }
+        }
+    }
+
+    api: {
+        name: "configureChip"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "getMode"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "requestChipDebugInfo"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::IWifiChip::ChipDebugInfo"
+        }
+    }
+
+    api: {
+        name: "requestDriverDebugDump"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "requestFirmwareDebugDump"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "createApIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiApIface"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "getApIfaceNames"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRING
+            }
+        }
+    }
+
+    api: {
+        name: "getApIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiApIface"
+            is_callback: false
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "removeApIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "createNanIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiNanIface"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "getNanIfaceNames"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRING
+            }
+        }
+    }
+
+    api: {
+        name: "getNanIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiNanIface"
+            is_callback: false
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "removeNanIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "createP2pIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiP2pIface"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "getP2pIfaceNames"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRING
+            }
+        }
+    }
+
+    api: {
+        name: "getP2pIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiP2pIface"
+            is_callback: false
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "removeP2pIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "createStaIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiStaIface"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "getStaIfaceNames"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRING
+            }
+        }
+    }
+
+    api: {
+        name: "getStaIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiStaIface"
+            is_callback: false
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "removeStaIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "createRttController"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiRttController"
+            is_callback: false
+        }
+        arg: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiIface"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "getDebugRingBuffersStatus"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+            }
+        }
+    }
+
+    api: {
+        name: "startLoggingToDebugRingBuffer"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRingBufferVerboseLevel"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "forceDumpToDebugRingBuffer"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "getDebugHostWakeReasonStats"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiDebugHostWakeReasonStats"
+        }
+    }
+
+    api: {
+        name: "enableDebugErrorAlerts"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "bool_t"
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiChipEventCallback.vts b/wifi/1.0/vts/WifiChipEventCallback.vts
new file mode 100644
index 0000000..c755162
--- /dev/null
+++ b/wifi/1.0/vts/WifiChipEventCallback.vts
@@ -0,0 +1,78 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiChipEventCallback"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "onChipReconfigured"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "onChipReconfigureFailure"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+    }
+
+    api: {
+        name: "onIfaceAdded"
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "onIfaceRemoved"
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+        arg: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "onDebugRingBufferDataAvailable"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRingBufferStatus"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "onDebugErrorAlert"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiEventCallback.vts b/wifi/1.0/vts/WifiEventCallback.vts
new file mode 100644
index 0000000..a0cf667
--- /dev/null
+++ b/wifi/1.0/vts/WifiEventCallback.vts
@@ -0,0 +1,26 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiEventCallback"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "onStart"
+    }
+
+    api: {
+        name: "onStop"
+    }
+
+    api: {
+        name: "onFailure"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiIface.vts b/wifi/1.0/vts/WifiIface.vts
new file mode 100644
index 0000000..1434a3e
--- /dev/null
+++ b/wifi/1.0/vts/WifiIface.vts
@@ -0,0 +1,33 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiIface"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "getType"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+    }
+
+    api: {
+        name: "getName"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRING
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiNanIface.vts b/wifi/1.0/vts/WifiNanIface.vts
new file mode 100644
index 0000000..663b526
--- /dev/null
+++ b/wifi/1.0/vts/WifiNanIface.vts
@@ -0,0 +1,278 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiNanIface"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiIface"
+import: "android.hardware.wifi@1.0::IWifiNanIfaceEventCallback"
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "getType"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+    }
+
+    api: {
+        name: "getName"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "registerEventCallback"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IWifiNanIfaceEventCallback"
+            is_callback: true
+        }
+    }
+
+    api: {
+        name: "getCapabilitiesRequest"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+    }
+
+    api: {
+        name: "enableRequest"
+        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::NanEnableRequest"
+        }
+    }
+
+    api: {
+        name: "configRequest"
+        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::NanConfigRequest"
+        }
+    }
+
+    api: {
+        name: "disableRequest"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+    }
+
+    api: {
+        name: "startPublishRequest"
+        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::NanPublishRequest"
+        }
+    }
+
+    api: {
+        name: "stopPublishRequest"
+        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_SCALAR
+            scalar_type: "uint16_t"
+        }
+    }
+
+    api: {
+        name: "startSubscribeRequest"
+        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::NanSubscribeRequest"
+        }
+    }
+
+    api: {
+        name: "stopSubscribeRequest"
+        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_SCALAR
+            scalar_type: "uint16_t"
+        }
+    }
+
+    api: {
+        name: "transmitFollowupRequest"
+        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::NanTransmitFollowupRequest"
+        }
+    }
+
+    api: {
+        name: "createDataInterfaceRequest"
+        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_STRING
+        }
+    }
+
+    api: {
+        name: "deleteDataInterfaceRequest"
+        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_STRING
+        }
+    }
+
+    api: {
+        name: "initiateDataPathRequest"
+        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::NanInitiateDataPathRequest"
+        }
+    }
+
+    api: {
+        name: "respondToDataPathIndicationRequest"
+        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::NanRespondToDataPathIndicationRequest"
+        }
+    }
+
+    api: {
+        name: "terminateDataPathRequest"
+        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_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    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
new file mode 100644
index 0000000..30ca88a
--- /dev/null
+++ b/wifi/1.0/vts/WifiNanIfaceEventCallback.vts
@@ -0,0 +1,318 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiNanIfaceEventCallback"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "notifyCapabilitiesResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::NanCapabilities"
+        }
+    }
+
+    api: {
+        name: "notifyEnableResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyConfigResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyDisableResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyStartPublishResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+    }
+
+    api: {
+        name: "notifyStopPublishResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyStartSubscribeResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+    }
+
+    api: {
+        name: "notifyStopSubscribeResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyTransmitFollowupResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyCreateDataInterfaceResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyDeleteDataInterfaceResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyInitiateDataPathResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "notifyRespondToDataPathIndicationResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "notifyTerminateDataPathResponse"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    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
+            predefined_type: "::android::hardware::wifi::V1_0::NanClusterEventInd"
+        }
+    }
+
+    api: {
+        name: "eventDisabled"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "eventPublishTerminated"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "eventSubscribeTerminated"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "eventMatch"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::NanMatchInd"
+        }
+    }
+
+    api: {
+        name: "eventMatchExpired"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "eventFollowupReceived"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::NanFollowupReceivedInd"
+        }
+    }
+
+    api: {
+        name: "eventTransmitFollowup"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
+        }
+    }
+
+    api: {
+        name: "eventDataPathRequest"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
+        }
+    }
+
+    api: {
+        name: "eventDataPathConfirm"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::NanDataPathConfirmInd"
+        }
+    }
+
+    api: {
+        name: "eventDataPathTerminated"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    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
new file mode 100644
index 0000000..b40c81e
--- /dev/null
+++ b/wifi/1.0/vts/WifiP2pIface.vts
@@ -0,0 +1,33 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiP2pIface"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiIface"
+
+interface: {
+    api: {
+        name: "getType"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+    }
+
+    api: {
+        name: "getName"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRING
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiRttController.vts b/wifi/1.0/vts/WifiRttController.vts
new file mode 100644
index 0000000..0fd3626
--- /dev/null
+++ b/wifi/1.0/vts/WifiRttController.vts
@@ -0,0 +1,172 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiRttController"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiIface"
+import: "android.hardware.wifi@1.0::IWifiRttControllerEventCallback"
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "getBoundIface"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IWifiIface"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "registerEventCallback"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IWifiRttControllerEventCallback"
+            is_callback: true
+        }
+    }
+
+    api: {
+        name: "rangeRequest"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::RttConfig"
+            }
+        }
+    }
+
+    api: {
+        name: "rangeCancel"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_ARRAY
+                vector_value: {
+                    vector_size: 6
+                    type: TYPE_SCALAR
+                    scalar_type: "uint8_t"
+                }
+            }
+        }
+    }
+
+    api: {
+        name: "getCapabilities"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::RttCapabilities"
+        }
+    }
+
+    api: {
+        name: "setLci"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::RttLciInformation"
+        }
+    }
+
+    api: {
+        name: "setLcr"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::RttLcrInformation"
+        }
+    }
+
+    api: {
+        name: "getResponderInfo"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::RttResponder"
+        }
+    }
+
+    api: {
+        name: "enableResponder"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiChannelInfo"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::RttResponder"
+        }
+    }
+
+    api: {
+        name: "disableResponder"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiRttControllerEventCallback.vts b/wifi/1.0/vts/WifiRttControllerEventCallback.vts
new file mode 100644
index 0000000..028fd03
--- /dev/null
+++ b/wifi/1.0/vts/WifiRttControllerEventCallback.vts
@@ -0,0 +1,25 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiRttControllerEventCallback"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "onResults"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::RttResult"
+            }
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiStaIface.vts b/wifi/1.0/vts/WifiStaIface.vts
new file mode 100644
index 0000000..0cff792
--- /dev/null
+++ b/wifi/1.0/vts/WifiStaIface.vts
@@ -0,0 +1,432 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiStaIface"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::IWifiIface"
+import: "android.hardware.wifi@1.0::IWifiStaIfaceEventCallback"
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    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
+            }
+        }
+    }
+
+    api: {
+        name: "getType"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::IfaceType"
+        }
+    }
+
+    api: {
+        name: "getName"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRING
+        }
+    }
+
+    api: {
+        name: "registerEventCallback"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IWifiStaIfaceEventCallback"
+            is_callback: true
+        }
+    }
+
+    api: {
+        name: "getCapabilities"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_MASK
+            predefined_type: "::android::hardware::wifi::V1_0::IWifiStaIface::StaIfaceCapabilityMask"
+        }
+    }
+
+    api: {
+        name: "getApfPacketFilterCapabilities"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaApfPacketFilterCapabilities"
+        }
+    }
+
+    api: {
+        name: "installApfPacketFilter"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "getBackgroundScanCapabilities"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanCapabilities"
+        }
+    }
+
+    api: {
+        name: "getValidFrequenciesForBackgroundScan"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint32_t"
+            }
+        }
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanBand"
+        }
+    }
+
+    api: {
+        name: "startBackgroundScan"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaBackgroundScanParameters"
+        }
+    }
+
+    api: {
+        name: "stopBackgroundScan"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "enableLinkLayerStatsCollection"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "bool_t"
+        }
+    }
+
+    api: {
+        name: "disableLinkLayerStatsCollection"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+    }
+
+    api: {
+        name: "getLinkLayerStats"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaLinkLayerStats"
+        }
+    }
+
+    api: {
+        name: "startRssiMonitoring"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
+        }
+    }
+
+    api: {
+        name: "stopRssiMonitoring"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "getRoamingCapabilities"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaRoamingCapabilities"
+        }
+    }
+
+    api: {
+        name: "configureRoaming"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaRoamingConfig"
+        }
+    }
+
+    api: {
+        name: "setRoamingState"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::wifi::V1_0::StaRoamingState"
+        }
+    }
+
+    api: {
+        name: "enableNdOffload"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "bool_t"
+        }
+    }
+
+    api: {
+        name: "startSendingKeepAlivePackets"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint16_t"
+        }
+        arg: {
+            type: TYPE_ARRAY
+            vector_value: {
+                vector_size: 6
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+        arg: {
+            type: TYPE_ARRAY
+            vector_value: {
+                vector_size: 6
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "stopSendingKeepAlivePackets"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "startDebugPacketFateMonitoring"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+    }
+
+    api: {
+        name: "stopDebugPacketFateMonitoring"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+    }
+
+    api: {
+        name: "getDebugTxPacketFates"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::WifiDebugTxPacketFateReport"
+            }
+        }
+    }
+
+    api: {
+        name: "getDebugRxPacketFates"
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::WifiDebugRxPacketFateReport"
+            }
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/WifiStaIfaceEventCallback.vts b/wifi/1.0/vts/WifiStaIfaceEventCallback.vts
new file mode 100644
index 0000000..b04ad26
--- /dev/null
+++ b/wifi/1.0/vts/WifiStaIfaceEventCallback.vts
@@ -0,0 +1,65 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IWifiStaIfaceEventCallback"
+
+package: "android.hardware.wifi"
+
+import: "android.hardware.wifi@1.0::types"
+
+interface: {
+    api: {
+        name: "onBackgroundScanFailure"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+    }
+
+    api: {
+        name: "onBackgroundFullScanResult"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::StaScanResult"
+        }
+    }
+
+    api: {
+        name: "onBackgroundScanResults"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::wifi::V1_0::StaScanData"
+            }
+        }
+    }
+
+    api: {
+        name: "onRssiThresholdBreached"
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "uint32_t"
+        }
+        arg: {
+            type: TYPE_ARRAY
+            vector_value: {
+                vector_size: 6
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
+        }
+    }
+
+}
diff --git a/wifi/1.0/vts/types.vts b/wifi/1.0/vts/types.vts
new file mode 100644
index 0000000..fd60d4e
--- /dev/null
+++ b/wifi/1.0/vts/types.vts
@@ -0,0 +1,2846 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "types"
+
+package: "android.hardware.wifi"
+
+
+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
+        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_value: {
+            vector_size: 6
+            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
+        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_value: {
+                vector_size: 6
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+    struct_value: {
+        name: "ssidWhitelist"
+        type: TYPE_VECTOR
+        vector_value: {
+            type: TYPE_ARRAY
+            vector_value: {
+                vector_size: 32
+                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: "ENABLED"
+        scalar_value: {
+            uint8_t: 0
+        }
+        enumerator: "DISABLED"
+        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: "rssiProximity"
+        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: "clusterIdLowVal"
+        type: TYPE_SCALAR
+        scalar_type: "uint16_t"
+    }
+    struct_value: {
+        name: "clusterIdHighVal"
+        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_value: {
+            vector_size: 6
+            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_VECTOR
+        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_VECTOR
+        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_VECTOR
+        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: "includeServiceIdsInBeacon"
+        type: TYPE_SCALAR
+        scalar_type: "bool_t"
+    }
+    struct_value: {
+        name: "numberOfServiceIdsInBeacon"
+        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_VECTOR
+        vector_value: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::wifi::V1_0::NanBandSpecificConfig"
+        }
+    }
+}
+
+attribute: {
+    name: "::android::hardware::wifi::V1_0::NanEnableRequest"
+    type: TYPE_STRUCT
+    struct_value: {
+        name: "operateInBand"
+        type: TYPE_VECTOR
+        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: "uint16_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_STRING
+    }
+    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: "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
+        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
+        predefined_type: "::android::hardware::wifi::V1_0::NanRangingIndication"
+    }
+    struct_value: {
+        name: "distanceIngressCm"
+        type: TYPE_SCALAR
+        scalar_type: "uint32_t"
+    }
+    struct_value: {
+        name: "distanceEgressCm"
+        type: TYPE_SCALAR
+        scalar_type: "uint32_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_value: {
+                vector_size: 6
+                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: "uint16_t"
+    }
+    struct_value: {
+        name: "peerId"
+        type: TYPE_SCALAR
+        scalar_type: "uint32_t"
+    }
+    struct_value: {
+        name: "addr"
+        type: TYPE_ARRAY
+        vector_value: {
+            vector_size: 6
+            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: "message"
+        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_value: {
+            vector_size: 6
+            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
+        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
+        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::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: {
+        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: "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
+        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: "uint16_t"
+    }
+    struct_value: {
+        name: "peerId"
+        type: TYPE_SCALAR
+        scalar_type: "uint32_t"
+    }
+    struct_value: {
+        name: "addr"
+        type: TYPE_ARRAY
+        vector_value: {
+            vector_size: 6
+            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: "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
+        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
+        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: "uint16_t"
+    }
+    struct_value: {
+        name: "peerId"
+        type: TYPE_SCALAR
+        scalar_type: "uint32_t"
+    }
+    struct_value: {
+        name: "addr"
+        type: TYPE_ARRAY
+        vector_value: {
+            vector_size: 6
+            type: TYPE_SCALAR
+            scalar_type: "uint8_t"
+        }
+    }
+    struct_value: {
+        name: "receivedInFaw"
+        type: TYPE_SCALAR
+        scalar_type: "bool_t"
+    }
+    struct_value: {
+        name: "message"
+        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_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_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: "uint16_t"
+    }
+    struct_value: {
+        name: "peerDiscMacAddr"
+        type: TYPE_ARRAY
+        vector_value: {
+            vector_size: 6
+            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_value: {
+            vector_size: 6
+            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_value: {
+            vector_size: 6
+            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_value: {
+            vector_size: 6
+            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
+        predefined_type: "::android::hardware::wifi::V1_0::RttPreamble"
+    }
+    struct_value: {
+        name: "bwSupport"
+        type: TYPE_MASK
+        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_value: {
+            vector_size: 2
+            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"
+    }
+}
+