Introduce vendor stable aidl for wpa_supplicant
This commit introduces new vendor stable aidl for wpa_supplicant.
Adding supplicant vendor stable AIDL to allow doDriverCmd which is used
by System service module (QtiWifiService).
This was earlier done through HIDL interface.
Change-Id: I271994ab4be58976fe564ada887bccfbf3876be9
CRs-Fixed: 3196761
diff --git a/wifi/supplicant/aidl/Android.bp b/wifi/supplicant/aidl/Android.bp
new file mode 100644
index 0000000..5d72439
--- /dev/null
+++ b/wifi/supplicant/aidl/Android.bp
@@ -0,0 +1,23 @@
+aidl_interface {
+ name: "vendor.qti.hardware.wifi.supplicant",
+ system_ext_specific: true,
+ vendor_available: true,
+
+ srcs: [
+ "vendor/qti/hardware/wifi/supplicant/*.aidl",
+ ],
+ stability: "vintf",
+ backend: {
+ java: {
+ sdk_version: "module_current",
+ min_sdk_version: "Tiramisu",
+ },
+ },
+ versions_with_info: [
+ {
+ version: "1",
+ imports: [],
+ },
+ ],
+
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/.hash b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/.hash
new file mode 100644
index 0000000..ad414d5
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/.hash
@@ -0,0 +1 @@
+42bd698acab7cceeb5125af52c0b8fd730f354da
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl
new file mode 100644
index 0000000..bf1dd5e
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl
@@ -0,0 +1,28 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+interface ISupplicantVendor {
+ vendor.qti.hardware.wifi.supplicant.ISupplicantVendorStaIface getVendorInterface(in vendor.qti.hardware.wifi.supplicant.IVendorIfaceInfo ifaceInfo);
+ vendor.qti.hardware.wifi.supplicant.IVendorIfaceInfo[] listVendorInterfaces();
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl
new file mode 100644
index 0000000..31e1ac4
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl
@@ -0,0 +1,27 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+interface ISupplicantVendorStaIface {
+ String doDriverCmd(in String command);
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl
new file mode 100644
index 0000000..3b5d712
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl
@@ -0,0 +1,28 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+parcelable IVendorIfaceInfo {
+ vendor.qti.hardware.wifi.supplicant.IVendorIfaceType type;
+ String name;
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl
new file mode 100644
index 0000000..1b5bf91
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl
@@ -0,0 +1,27 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@Backing(type="int") @VintfStability
+enum IVendorIfaceType {
+ STA = 0,
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl
new file mode 100644
index 0000000..6ddcf4d
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/1/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl
@@ -0,0 +1,31 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+enum SupplicantVendorStatusCode {
+ SUCCESS = 0,
+ FAILURE_UNKNOWN = 1,
+ FAILURE_ARGS_INVALID = 2,
+ FAILURE_IFACE_INVALID = 3,
+ FAILURE_UNSUPPORTED = 4,
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl
new file mode 100644
index 0000000..bf1dd5e
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl
@@ -0,0 +1,28 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+interface ISupplicantVendor {
+ vendor.qti.hardware.wifi.supplicant.ISupplicantVendorStaIface getVendorInterface(in vendor.qti.hardware.wifi.supplicant.IVendorIfaceInfo ifaceInfo);
+ vendor.qti.hardware.wifi.supplicant.IVendorIfaceInfo[] listVendorInterfaces();
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl
new file mode 100644
index 0000000..31e1ac4
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl
@@ -0,0 +1,27 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+interface ISupplicantVendorStaIface {
+ String doDriverCmd(in String command);
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl
new file mode 100644
index 0000000..3b5d712
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl
@@ -0,0 +1,28 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+parcelable IVendorIfaceInfo {
+ vendor.qti.hardware.wifi.supplicant.IVendorIfaceType type;
+ String name;
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl
new file mode 100644
index 0000000..1b5bf91
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl
@@ -0,0 +1,27 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@Backing(type="int") @VintfStability
+enum IVendorIfaceType {
+ STA = 0,
+}
diff --git a/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl
new file mode 100644
index 0000000..6ddcf4d
--- /dev/null
+++ b/wifi/supplicant/aidl/aidl_api/vendor.qti.hardware.wifi.supplicant/current/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl
@@ -0,0 +1,31 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.wifi.supplicant;
+@VintfStability
+enum SupplicantVendorStatusCode {
+ SUCCESS = 0,
+ FAILURE_UNKNOWN = 1,
+ FAILURE_ARGS_INVALID = 2,
+ FAILURE_IFACE_INVALID = 3,
+ FAILURE_UNSUPPORTED = 4,
+}
diff --git a/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl
new file mode 100644
index 0000000..a411541
--- /dev/null
+++ b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/ISupplicantVendor.aidl
@@ -0,0 +1,42 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.wifi.supplicant;
+import vendor.qti.hardware.wifi.supplicant.IVendorIfaceInfo;
+import vendor.qti.hardware.wifi.supplicant.ISupplicantVendorStaIface;
+
+/**
+ * Interface exposed by the supplicant vendor AIDL service registered
+ * with the service manager. This is the root level object for
+ * any of the vendor supplicant interactions.
+ */
+@VintfStability
+interface ISupplicantVendor {
+ /**
+ * Gets a AIDL interface object for the interface corresponding to iface
+ * name which the supplicant already controls.
+ *
+ * @param ifaceInfo Combination of the iface type and name retrieved
+ * using |listVendorInterfaces|.
+ * @return iface AIDL sta interface object representing the interface if
+ * successful, null otherwise.
+ * @throws ServiceSpecificException with one of the following values:
+ * |SupplicantVendorStatusCode.FAILURE_UNKNOWN|
+ */
+ ISupplicantVendorStaIface getVendorInterface(in IVendorIfaceInfo ifaceInfo);
+
+ /**
+ * Retrieve a list of all the vendor interfaces controlled by the supplicant.
+ *
+ * The corresponding |ISupplicantStaIface| object for any interface can be
+ * retrieved using |getVendorInterface| method.
+ *
+ * @return ifaces List of all interfaces controlled by the supplicant.
+ * @throws ServiceSpecificException with one of the following values:
+ * |SupplicantVendorStatusCode.FAILURE_UNKNOWN|
+ */
+ IVendorIfaceInfo[] listVendorInterfaces();
+}
+
diff --git a/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl
new file mode 100644
index 0000000..7bf820b
--- /dev/null
+++ b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/ISupplicantVendorStaIface.aidl
@@ -0,0 +1,22 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.wifi.supplicant;
+
+/**
+ * Vendor StaIface Interface
+ */
+@VintfStability
+interface ISupplicantVendorStaIface {
+ /**
+ * run Driver Commands
+ *
+ * @param command Driver Command
+ * @return status supplicant status/reply for driver command
+ * @throws ServiceSpecificException with one of the following values:
+ * |SupplicantVendorStatusCode.FAILURE_UNKNOWN|
+ */
+ String doDriverCmd(in String command);
+}
diff --git a/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl
new file mode 100644
index 0000000..53f0c57
--- /dev/null
+++ b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/IVendorIfaceInfo.aidl
@@ -0,0 +1,23 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.wifi.supplicant;
+import vendor.qti.hardware.wifi.supplicant.IVendorIfaceType;
+
+/**
+ * Structure describing the type and name of an vendor iface
+ * controlled by the supplicant.
+ */
+@VintfStability
+parcelable IVendorIfaceInfo {
+ /**
+ * Type of the interface.
+ */
+ IVendorIfaceType type;
+ /**
+ * Name of the interface, e.g., wlan0
+ */
+ String name;
+}
diff --git a/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl
new file mode 100644
index 0000000..a15b597
--- /dev/null
+++ b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/IVendorIfaceType.aidl
@@ -0,0 +1,15 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.wifi.supplicant;
+
+/**
+ * List of IVendorIface types supported.
+ */
+@VintfStability
+@Backing(type="int")
+enum IVendorIfaceType {
+ STA,
+}
diff --git a/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl
new file mode 100644
index 0000000..394e668
--- /dev/null
+++ b/wifi/supplicant/aidl/vendor/qti/hardware/wifi/supplicant/SupplicantVendorStatusCode.aidl
@@ -0,0 +1,30 @@
+/* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.wifi.supplicant;
+
+/**
+ * Enum values indicating the status of any supplicant operation.
+ */
+@VintfStability
+enum SupplicantVendorStatusCode {
+ /**
+ * No errors.
+ */
+ SUCCESS,
+ /**
+ * Unknown failure occurred.
+ */
+ FAILURE_UNKNOWN,
+ /**
+ * One of the incoming args is invalid.
+ */
+ FAILURE_ARGS_INVALID,
+ /**
+ * |ISupplicantVendorStaIface| AIDL interface object is no longer valid.
+ */
+ FAILURE_IFACE_INVALID,
+ FAILURE_UNSUPPORTED,
+}