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
This commit is contained in:
Swarn Singh
2022-06-02 15:16:28 +05:30
parent 16a8e83b36
commit c88737ec64
17 changed files with 438 additions and 0 deletions

View File

@@ -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: [],
},
],
}

View File

@@ -0,0 +1 @@
42bd698acab7cceeb5125af52c0b8fd730f354da

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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,
}

View File

@@ -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,
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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,
}

View File

@@ -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,
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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,
}

View File

@@ -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,
}