replace common qcom sources with samsung ones

This commit is contained in:
SaschaNes
2025-08-12 22:13:00 +02:00
parent ba24dcded9
commit 6f7753de11
5682 changed files with 2450203 additions and 103634 deletions

View File

@@ -0,0 +1,16 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi@1.0",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
srcs: [
"IWifiVendorStaIface.hal",
],
interfaces: [
"android.hardware.wifi@1.0",
"android.hardware.wifi@1.2",
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,50 @@
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi@1.0;
import android.hardware.wifi@1.0::types;
import android.hardware.wifi@1.0::IWifiIface;
import android.hardware.wifi@1.2::IWifiStaIface;
/**
* Vendor StaIface Interface
*/
interface IWifiVendorStaIface extends IWifiStaIface{
/**
* Set latancy level to driver.
*
* @return status WifiStatus of the operation.
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
* |WifiStatusCode.UNKNOWN|
*/
setLatencyLevel(uint32_t level) generates (WifiStatus status);
};

View File

@@ -0,0 +1,83 @@
# Copyright (c) 2018, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
######HAL released in Android O######
##wpa_supplicant
44f64089ee7da809dd0b7a7091a77563f4042918f5a72fbf2adf0913f739d87f vendor.qti.hardware.wifi.supplicant@1.0::ISupplicantVendorStaIface
cae461dd9fd96e1fadd08173fe0d741c1634c48f54dabf50b2a80e2f7f611ab4 vendor.qti.hardware.wifi.supplicant@1.0::ISupplicantVendorStaIfaceCallback
8015ba1e1e5b6951d6b2ed2a248799d9867aaacd424c2a00287a3c9ee47a34d6 vendor.qti.hardware.wifi.supplicant@1.0::ISupplicantVendorStaNetwork
######HAL released in Android O-MR1######
######HAL released in Android P######
##wpa_supplicant
5e543f94a97fcdc8406bb79ef218c974fa516955bd3f452b4bff2e13b973b4a5 vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendor
776150216bea5f183011d579a615cace1341500d64bb5b4f0e56fc4989143cc4 vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorIface
5d4b3e28c162cd760d4482d520d33b6a3f2137c6e82ed7ff27ec98b25052545e vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorNetwork
a407fedd34b5aeac6fa6bc8442e57c9528f197d3de20e81be508fb2f17dc4295 vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorP2PIface
c5a4055a1f0a53f34fbdcbfb732670f1e7444581bc6a4fe0dcccdf8b0c2f2329 vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorP2PIfaceCallback
045f0c1733d336287fe7f833a77a5e52a4c14fb46aa4a911df643bd1d5422533 vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorStaIface
29696c53249ce1ef8510f7d8fb4919ab07df138f1f909844b4cf3009eb2741cc vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorStaIfaceCallback
26b24a10f174cd9c18cb75e20308f75bc3e39f847c1342ebd2911c47e8fc5d87 vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorStaNetwork
##hostapd
50ef4bcbaeb679dccc87871862ee6ebd1308f7e387b36920a597d9e5207241bd vendor.qti.hardware.wifi.hostapd@1.0::IHostapdVendor
db279e0c0c0fef0cc475780c164397d95aa873385ae2a5ac3cfa61dadfb8ccc7 vendor.qti.hardware.wifi.hostapd@1.0::IHostapdVendorIfaceCallback
######HAL released in Android Q######
##hostapd
dc94b24d2b88da954eeb718dd72a4efb82d7399f5ffb9c2c5b5ea6b2e7843d83 vendor.qti.hardware.wifi.hostapd@1.1::IHostapdVendor
c3f75d8b9d47c8d5083b29fa1838cd2d6c655dbfc1433cc3cee98aad0f9729dc vendor.qti.hardware.wifi.hostapd@1.1::IHostapdVendorIfaceCallback
7512cd0a563c0bab38bdbcfd3935dac93f5c99b7e1ef957e2b024119d6a5a8b9 vendor.qti.hardware.wifi.supplicant@2.1::types
ccb298d65dff8c8b978b3145fe648db5e96de63ff0e7dc2a6c07d55201708482 vendor.qti.hardware.wifi.supplicant@2.1::ISupplicantVendor
593777080f116d12eec9db81ea86f2d28691f364c64d5d9f3a26e8d2ed805c2e vendor.qti.hardware.wifi.supplicant@2.1::ISupplicantVendorStaIface
d9f3911d1cf245669f6df42670aba2d28fb926e805164b0fc02f07226b838714 vendor.qti.hardware.wifi.supplicant@2.2::ISupplicantVendor
088160ba6fc1ed96e1863345ef41ea1b4d6e9dadefd2a24489bd3e676e9529a7 vendor.qti.hardware.wifi.supplicant@2.2::ISupplicantVendorStaIface
######HAL released in Android R######
##hostapd
3c30b2676f2fcfd2ce69f037b44f8ae867c26df57096ebe885abb886cd9f034c vendor.qti.hardware.wifi.hostapd@1.2::IHostapdVendor
######HAL released in Android R (auto) #####
##wpa_supplicant
1e5695a614c8c54295a7cf365c83de26dd48b4911d506de4691f0b7636c353da vendor.qti.hardware.wifi.supplicant@2.3::ISupplicantVendor.hal
f1bda1600a77468047a0371dd840badeda46fb05dff54030d424cea9b362d52d vendor.qti.hardware.wifi.supplicant@2.3::ISupplicantVendorStaIface.hal
8ada5bb9a477cbeb91a3f4e21662c080370e271269e2cf8801f3e2e8756f196c vendor.qti.hardware.wifi.supplicant@2.3::ISupplicantVendorStaIfaceCallback.hal
##hostapd
44d0419e93b0b3d8a53b42338f1ef4883097590ea125990f49959227251106e0 vendor.qti.hardware.wifi.hostapd@1.3::IHostapdVendor.hal
4a875a64d58a9e3cb233656f0822e7969c5827a610c746530b474aa6021941fe vendor.qti.hardware.wifi.hostapd@1.3::IHostapdVendorIfaceCallback.hal

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.hostapd@1.0",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"IHostapdVendor.hal",
"IHostapdVendorIfaceCallback.hal",
],
interfaces: [
"android.hardware.wifi.hostapd@1.0",
"android.hardware.wifi.supplicant@1.0",
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,121 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.0;
import android.hardware.wifi.hostapd@1.0::IHostapd;
import android.hardware.wifi.hostapd@1.0::types;
import vendor.qti.hardware.wifi.hostapd@1.0::IHostapdVendorIfaceCallback;
/**
* Vendor Interface exposed by the hostapd HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific hostapd interactions.
*/
interface IHostapdVendor {
/**
* Parameters to use for setting up the access point interface.
*/
struct VendorIfaceParams {
/** Country code */
string countryCode;
/** Name of the bridge interface */
string bridgeIfaceName;
/** Iface param @IHostapd */
IfaceParams ifaceParams;
};
/**
* Adds a new access point for hostapd to control.
*
* This should trigger the setup of an access point with the specified
* interface and network params.
*
* @param ifaceParams AccessPoint Params for the access point.
* @param nwParams Network Params for the access point.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_ARGS_INVALID|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_EXISTS|
*/
addVendorAccessPoint(VendorIfaceParams ifaceParams, NetworkParams nwParams)
generates(HostapdStatus status);
/**
* Removes an existing access point from hostapd.
*
* This should bring down the access point previously setup on the
* interface.
*
* @param ifaceName Name of the interface.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_UNKNOWN|
*/
removeVendorAccessPoint(string ifaceName) generates(HostapdStatus status);
/**
* Set hostapd parameters via QSAP command.
*
* This would call QSAP library APIs via hostapd hidl.
*
* @param cmd QSAP command.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
*/
setHostapdParams(string cmd) generates(HostapdStatus status);
/**
* Register for vendorcallback from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple vendor callback objects is supported. These objects
* must be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param ifaceName Name of the interface.
* @param callback An instance of the |IHostapdVendorIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_UNKNOWN|
*/
registerVendorCallback(string ifaceName, IHostapdVendorIfaceCallback callback)
generates (HostapdStatus status);
};

View File

@@ -0,0 +1,56 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.0;
import android.hardware.wifi.hostapd@1.0::types;
/**
* Vendor Hostapd Callback Interface
*/
interface IHostapdVendorIfaceCallback {
/** MAC Address type. 6 octets representing physical address of a device. */
typedef uint8_t[6] MacAddress;
/**
* Used to Notify Macaddres of connected stations to the AP
*
* @param new_sta is the MacAddress of New STA connected to this AP
*/
oneway onStaConnected(MacAddress new_sta);
/**
* Used to Notify Macaddress of disconnected stations to the AP
*
* @param del_sta is the MacAddress of STA disconnected to this AP
*/
oneway onStaDisconnected(MacAddress del_sta);
};

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.hostapd@1.1",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"IHostapdVendor.hal",
"IHostapdVendorIfaceCallback.hal",
],
interfaces: [
"android.hardware.wifi.hostapd@1.0",
"android.hardware.wifi.supplicant@1.0",
"android.hidl.base@1.0",
"vendor.qti.hardware.wifi.hostapd@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,176 @@
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.1;
import android.hardware.wifi.hostapd@1.0::IHostapd;
import android.hardware.wifi.hostapd@1.0::types;
import @1.0::IHostapdVendor;
import @1.1::IHostapdVendorIfaceCallback;
/**
* Vendor Interface exposed by the hostapd HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific hostapd interactions.
*/
interface IHostapdVendor extends @1.0::IHostapdVendor {
/**
* Debug levels for the hostapd.
* Only log messages with a level greater than the set level
* (via |setDebugParams|) will be logged.
*/
enum DebugLevel : uint32_t {
EXCESSIVE = 0,
MSGDUMP = 1,
DEBUG = 2,
INFO = 3,
WARNING = 4,
ERROR = 5
};
/** Possble Security types. */
enum VendorEncryptionType : uint32_t {
NONE,
WPA,
WPA2,
SAE,
OWE
};
/**
* Set debug parameters for the hostapd.
*
* @param level Debug logging level for the hostapd.
* (one of |DebugLevel| values).
* @param timestamp Determines whether to show timestamps in logs or
* not.
* @param showKeys Determines whether to show keys in debug logs or
* not.
* CAUTION: Do not set this param in production code!
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_UNKNOWN|
*/
setDebugParams(DebugLevel level, bool showTimestamp, bool showKeys)
generates (HostapdStatus status);
/**
* Get the debug level set.
*
* @return level one of |DebugLevel| values.
*/
getDebugLevel() generates (DebugLevel level);
/**
* Parameters to specify the channel range for ACS.
*/
struct AcsChannelRange {
/**
* Channel number (IEEE 802.11) at the start of the range.
*/
uint32_t start;
/**
* Channel number (IEEE 802.11) at the end of the range.
*/
uint32_t end;
};
/**
* Parameters to control the channel selection for the interface.
*/
struct VendorChannelParams {
/**
* This option can be used to specify the channels selected by ACS.
* If this is an empty list, all channels allowed in selected HW mode
* are specified implicitly.
* Note: channels may be overridden by firmware.
* Note: this option is ignored if ACS is disabled.
*/
vec<AcsChannelRange> acsChannelRanges;
/** Channel params from @1.0::IHostapd::ChannelParams */
ChannelParams channelParams;
};
/**
* Parameters to use for setting up the access point interface.
*/
struct VendorIfaceParams {
/**
* Baseline information as defined in HAL 1.0.
*/
@1.0::IHostapdVendor.VendorIfaceParams VendorV1_0;
/** Additional Channel params for the interface */
VendorChannelParams vendorChannelParams;
/** Key management mask for the network. overrides NetworkParams.encryptionType */
VendorEncryptionType vendorEncryptionType;
/** Iface name for OWE transition mode */
string oweTransIfaceName;
};
/**
* Adds a new access point for hostapd to control.
*
* This should trigger the setup of an access point with the specified
* interface and network params.
*
* @param ifaceParams AccessPoint Params for the access point.
* @param nwParams Network Params for the access point.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_ARGS_INVALID|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_EXISTS|
*/
addVendorAccessPoint_1_1(VendorIfaceParams ifaceParams, NetworkParams nwParams)
generates(HostapdStatus status);
/**
* Register for vendorcallback from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple vendor callback objects is supported. These objects
* must be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param ifaceName Name of the interface.
* @param callback An instance of the |IHostapdVendorIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_UNKNOWN|
*/
registerVendorCallback_1_1(string ifaceName, IHostapdVendorIfaceCallback callback)
generates (HostapdStatus status);
};

View File

@@ -0,0 +1,45 @@
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.1;
import @1.0::IHostapdVendorIfaceCallback;
/**
* Vendor Hostapd Callback Interface
*/
interface IHostapdVendorIfaceCallback extends @1.0::IHostapdVendorIfaceCallback {
/**
* Invoked when an asynchronous failure is encountered in one of the access
* points added via |IHostapdVendor.addVendorAccessPoint|.
*
* @param ifaceName Name of the interface.
*/
oneway onFailure(string ifaceName);
};

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.hostapd@1.2",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"IHostapdVendor.hal",
],
interfaces: [
"android.hardware.wifi.hostapd@1.0",
"android.hardware.wifi.supplicant@1.0",
"android.hidl.base@1.0",
"vendor.qti.hardware.wifi.hostapd@1.0",
"vendor.qti.hardware.wifi.hostapd@1.1",
],
gen_java: true,
}

View File

@@ -0,0 +1,238 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.2;
import android.hardware.wifi.hostapd@1.0::IHostapd;
import android.hardware.wifi.hostapd@1.0::types;
import @1.0::IHostapdVendor;
import @1.1::IHostapdVendor;
/**
* Vendor Interface exposed by the hostapd HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific hostapd interactions.
*/
interface IHostapdVendor extends @1.1::IHostapdVendor {
/** Possble Security types. */
enum VendorEncryptionType : @1.1::IHostapdVendor.VendorEncryptionType {
SAE_TRANSITION,
};
/**
* Band bitmMask to use for the SoftAp operations.
* A combinatoin of these bits are used to identify the allowed bands
* to start the softAp
*/
enum BandMask : uint32_t {
/**
* 2.4 GHz band.
*/
BAND_2_GHZ = 1 << 0,
/**
* 5 GHz band.
*/
BAND_5_GHZ = 1 << 1,
/**
* 6 GHz band.
*/
BAND_6_GHZ = 1 << 2,
};
/**
* Parameters to control the HW mode for the interface.
*/
struct HwModeParams {
/**
* Whether IEEE 802.11ax (HE) is enabled or not.
* Note: hw_mode=a is used to specify that 5 GHz band or 6 GHz band is
* used with HE.
*/
bool enable80211AX;
/**
* Whether 6GHz band enabled or not on softAp.
* Note: hw_mode=a is used to specify that 5 GHz band or 6 GHz band is
* used.
*/
bool enable6GhzBand;
/**
* Whether HE single user beamformer in enabled or not on softAp.
* Note: this is only applicable if 802.11ax is supported for softAp
*/
bool enableHeSingleUserBeamformer;
/**
* Whether HE single user beamformee is enabled or not on softAp.
* Note: this is only applicable if 802.11ax is supported for softAp
*/
bool enableHeSingleUserBeamformee;
/**
* Whether HE multiple user beamformer is enabled or not on softAp.
* Note: this is only applicable if 802.11ax is supported for softAp
*/
bool enableHeMultiUserBeamformer;
/**
* Whether HE Target Wait Time (TWT) is enabled or not on softAp.
* Note: this is only applicable if 802.11ax is supported for softAp
*/
bool enableHeTargetWakeTime;
};
/**
* Parameters to specify the channel frequency range for ACS.
*/
struct AcsFrequencyRange {
/**
* Channel Frequency (in MHz) at the start of the range.
*/
uint32_t start;
/**
* Channel Frequency (in MHz) at the end of the range.
*/
uint32_t end;
};
/**
* Parameters to control the channel selection for the interface.
*/
struct ChannelParams {
/**
* Band to use for the SoftAp operations.
*/
bitfield<BandMask> bandMask;
/**
* This option can be used to specify the channel frequencies (in MHz) selected by ACS.
* If this is an empty list, all channels allowed in selected HW mode
* are specified implicitly.
* Note: channels may be overridden by firmware.
* Note: this option is ignored if ACS is disabled.
*/
vec<AcsFrequencyRange> acsChannelFreqRangesMhz;
};
/**
* Parameters to use for setting up the access point interface.
*/
struct VendorIfaceParams {
/**
* Baseline information as defined in HAL 1.1.
*/
@1.1::IHostapdVendor.VendorIfaceParams VendorV1_1;
/**
* Additional Hw mode params for the interface
*/
HwModeParams hwModeParams;
/**
* Additional Channel params for the interface
*/
ChannelParams channelParams;
};
/**
* Parameters to use for setting up the access point network.
*/
struct VendorNetworkParams {
/**
* Baseline information as defined in HAL 1.0.
*/
@1.0::IHostapd.NetworkParams V1_0;
/**
* Passphrase for WPA3_SAE network, WPA3_SAE_TRANSITION and
* WPA2_PSK. Replaces @1.0::IHostapd.NetworkParams.pskPassphrase.
*/
string passphrase;
/**
* Key management mask for the network. overrides NetworkParams.encryptionType
*/
VendorEncryptionType vendorEncryptionType;
/**
* ocv: Operating Channel Validation
* This is a countermeasure against multi-channel man-in-the-middle attacks.
*/
bool enableOCV;
/**
* Beacon Protection (management frame protection for Beacon frames)
*/
bool enableBeaconProtection;
};
/**
* Adds a new vendor access point for hostapd to control.
*
* This should trigger the setup of an access point with the specified
* interface and network params.
*
* @param ifaceParams AccessPoint Params for the access point.
* @param nwParams Network Params for the access point.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_ARGS_INVALID|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_EXISTS|
*/
addVendorAccessPoint_1_2(VendorIfaceParams ifaceParams, VendorNetworkParams nwParams)
generates (HostapdStatus status);
/**
* List active interfaces in hostapd.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return ifnames Active interface names.
*/
listInterfaces() generates (HostapdStatus status, vec<string> ifnames);
/**
* Send hostapd_cli like commands to hostapd.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return reply Hostapd_cli like reply string
*/
hostapdCmd(string ifname, string cmd) generates (HostapdStatus status, string reply);
};

View File

@@ -0,0 +1 @@
version=2

View File

@@ -0,0 +1,20 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.hostapd@1.3",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
srcs: [
"IHostapdVendor.hal",
"IHostapdVendorIfaceCallback.hal",
],
interfaces: [
"android.hardware.wifi.hostapd@1.0",
"android.hardware.wifi.supplicant@1.0",
"android.hidl.base@1.0",
"vendor.qti.hardware.wifi.hostapd@1.0",
"vendor.qti.hardware.wifi.hostapd@1.1",
"vendor.qti.hardware.wifi.hostapd@1.2",
],
gen_java: true,
}

View File

@@ -0,0 +1,63 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.3;
import android.hardware.wifi.hostapd@1.0::IHostapd;
import android.hardware.wifi.hostapd@1.0::types;
import @1.2::IHostapdVendor;
import @1.3::IHostapdVendorIfaceCallback;
/**
* Vendor Interface exposed by the hostapd HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific hostapd interactions.
*/
interface IHostapdVendor extends @1.2::IHostapdVendor {
/**
* Register for vendorcallback from this interface.
*
* These callbacks are invoked for events that are specific to this
* interface. Registration of multiple vendor callback objects is
* supported. These objects must be automatically deleted when the
* corresponding client process is dead or if this interface is removed.
*
* @param ifaceName Name of the interface.
* @param callback An instance of the |IHostapdVendorIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |HostapdStatusCode.SUCCESS|,
* |HostapdStatusCode.FAILURE_UNKNOWN|,
* |HostapdStatusCode.FAILURE_IFACE_UNKNOWN|
*/
registerVendorCallback_1_3(string ifaceName, IHostapdVendorIfaceCallback callback)
generates (HostapdStatus status);
};

View File

@@ -0,0 +1,45 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.hostapd@1.3;
import @1.1::IHostapdVendorIfaceCallback;
/**
* Vendor Hostapd Callback Interface
*/
interface IHostapdVendorIfaceCallback extends @1.1::IHostapdVendorIfaceCallback {
/**
* Invoked when vendor event is triggered, and returned event info.
*
* @param ifaceName Name of the interface.
* @param event_str Event info.
*/
oneway onCtrlEvent(string ifaceName, string event_str);
};

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.supplicant@1.0",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"ISupplicantVendorStaIface.hal",
"ISupplicantVendorStaIfaceCallback.hal",
"ISupplicantVendorStaNetwork.hal",
],
interfaces: [
"android.hardware.wifi.supplicant@1.0",
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,67 @@
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@1.0;
import android.hardware.wifi.supplicant@1.0::ISupplicantStaIface;
import android.hardware.wifi.supplicant@1.0::types;
/**
* Vendor StaIface Interface extend to wifi.Supplicant@1.0 ISupplicantStaIface
*/
interface ISupplicantVendorStaIface extends ISupplicantStaIface {
/**
* Flush FILS HLP IEs
* Use this to flush all the HLP IEs in wpa_supplicant
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
filsHlpFlushRequest() generates (SupplicantStatus status);
/**
* Add FILS HLP IEs
* Use this to add a HLP IE to wpa_supplicant
*
* @param dst_mac MAC address of the destination
* @param pkt The contents of the HLP IE starting from ethertype
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
filsHlpAddRequest(MacAddress dst_mac, vec<uint8_t> pkt)
generates (SupplicantStatus status);
};

View File

@@ -0,0 +1,62 @@
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@1.0;
import android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback;
import android.hardware.wifi.supplicant@1.0::types;
/**
* Vendor StaIface Callback Interface extend to wifi.Supplicant@1.0
* ISupplicantStaIfaceCallback
*/
interface ISupplicantVendorStaIfaceCallback
extends ISupplicantStaIfaceCallback {
/**
* Used to indicate a state change event on this particular iface. If this
* event is triggered by a particular network, the |SupplicantNetworkId|,
* |ssid|, |bssid| parameters must indicate the parameters of the network/AP
* which caused this state transition.
*
* @param newState New State of the interface. This must be one of the |State|
* values above.
* @param bssid BSSID of the corresponding AP which caused this state
* change event. This must be zero'ed if this event is not
* specific to a particular network.
* @param id ID of the corresponding network which caused this
* state change event. This must be invalid (UINT32_MAX) if this
* event is not specific to a particular network.
* @param ssid SSID of the corresponding network which caused this state
* change event. This must be empty if this event is not specific
* to a particular network.
* @param filsHlpSent If FILS HLP IEs were included in this association.
*/
oneway onVendorStateChanged(
State newState, Bssid bssid, SupplicantNetworkId id, Ssid ssid, bool filsHlpSent);
};

View File

@@ -0,0 +1,70 @@
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@1.0;
import android.hardware.wifi.supplicant@1.0::ISupplicantNetwork;
import android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback;
import android.hardware.wifi.supplicant@1.0::ISupplicantStaNetwork;
import android.hardware.wifi.supplicant@1.0::types;
/**
* Vendor StaNetwork Interface extend to wifi.Supplicant@1.0 ISupplicantStaNetwork
*/
interface ISupplicantVendorStaNetwork extends ISupplicantStaNetwork {
/** Possble mask of values for VendorKeyMgmt param. */
enum VendorKeyMgmtMask : uint32_t {
FILS_SHA256 = 1 << 18,
FILS_SHA384 = 1 << 19,
};
/** Possble mask of values for VendorAuthAlg param. */
enum VendorAuthAlgMask : uint32_t {
FILS_SK = 1 << 5,
};
/**
* Enable EAP ERP for this network.
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapErp(bool enable) generates (SupplicantStatus status);
/**
* Configure Sim number for eap-proxy
*/
setSimNumber(uint32_t sim_num) generates (SupplicantStatus status);
};

View File

@@ -0,0 +1,27 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.supplicant@2.0",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"ISupplicantVendor.hal",
"ISupplicantVendorIface.hal",
"ISupplicantVendorNetwork.hal",
"ISupplicantVendorP2PIface.hal",
"ISupplicantVendorP2PIfaceCallback.hal",
"ISupplicantVendorStaIface.hal",
"ISupplicantVendorStaIfaceCallback.hal",
"ISupplicantVendorStaNetwork.hal",
],
interfaces: [
"android.hardware.wifi.supplicant@1.0",
"android.hardware.wifi.supplicant@1.1",
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,75 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import android.hardware.wifi.supplicant@1.1::ISupplicant;
import android.hardware.wifi.supplicant@1.0::ISupplicant;
import android.hardware.wifi.supplicant@1.0::ISupplicantIface;
import android.hardware.wifi.supplicant@1.0::SupplicantStatus;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorIface;
import android.hardware.wifi.supplicant@1.0::types;
/**
* Vendor Interface exposed by the supplicant HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific supplicant interactions.
*/
interface ISupplicantVendor {
/**
* Gets a HIDL 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 |listInterfaces|.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_UNKOWN|
* @return iface HIDL interface object representing the interface if
* successful, null otherwise.
*/
getVendorInterface(IfaceInfo ifaceInfo)
generates (SupplicantStatus status, ISupplicantVendorIface iface);
/**
* Retrieve a list of all the vendor interfaces controlled by the supplicant.
*
* The corresponding |ISupplicantIface| object for any interface can be
* retrieved using |getInterface| method.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return ifaces List of all interfaces controlled by the supplicant.
*/
listVendorInterfaces() generates (SupplicantStatus status, vec<IfaceInfo> ifaces);
};

View File

@@ -0,0 +1,59 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorNetwork;
import android.hardware.wifi.supplicant@1.0::types;
/**
* Vendor Interface exposed by the supplicant for each network interface (e.g wlan0)
* it controls.
*/
interface ISupplicantVendorIface {
/**
* Gets a HIDL interface object for the network corresponding to the
* |SupplicantNetworkId|.
*
* Use |ISupplicantNetwork.getId()| on the corresponding network HIDL
* interface object to retrieve the ID.
*
* @param id Network ID allocated to the corresponding network.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_NETWORK_UNKNOWN|
* @return network HIDL interface object representing the new network if
* successful, null otherwise.
*/
getVendorNetwork(SupplicantNetworkId id)
generates (SupplicantStatus status, ISupplicantVendorNetwork network);
};

View File

@@ -0,0 +1,42 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
/**
* Vendor Interface exposed by the supplicant for each network configuration it
* controls.
* A network is the supplicant's way of representing the configuration
* parameters of a Wifi service set. Service sets are identified by their
* service set identitifier (SSID). The parameters for a network includes the
* credentials, bssid, etc.
*/
interface ISupplicantVendorNetwork {
/* Dummy Interface created which is used to extend ISupplicantVendorStaNetwork */
};

View File

@@ -0,0 +1,86 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorIface;
import android.hardware.wifi.supplicant@1.0::types;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorP2PIfaceCallback;
/* Vendor P2PIface HAL interface*/
interface ISupplicantVendorP2PIface extends @2.0::ISupplicantVendorIface{
/**
* Register for P2P vendorcallbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple vendor callback objects is supported. These objects
* must be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param callback An instance of the |ISupplicantVendorP2PIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
registerVendorCallback(ISupplicantVendorP2PIfaceCallback callback)
generates (SupplicantStatus status);
/*
* Set Wifi Display device info.
*
* @param info WFDR2 device info as described in section 5.1.12 of WFD technical
* specification v2.0.0.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
setWfdR2DeviceInfo(uint8_t[4] info) generates (SupplicantStatus status);
/*
* Set Vendor extension attributes in WSC IE
*
* @param info WFDR2 device info as described in section 12 of WSC technical
* specification v2.0.4
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
setVendorInfoElement(vec<uint8_t> ie, bitfield<InfoElementType> type)
generates (SupplicantStatus status);
};

View File

@@ -0,0 +1,78 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import android.hardware.wifi.supplicant@1.0::types;
/* Vendor P2P Iface Callback interface */
interface ISupplicantVendorP2PIfaceCallback {
/* Possible set of values for Information Element Type */
enum InfoElementType :uint8_t {
WSC_VENDOR,
MIRRORLINK
};
/**
* Used to indicate that a P2P device has been found.
*
* @param srcAddress MAC address of the device found. This must either
* be the P2P device address or the P2P interface address.
* @param p2pDeviceAddress P2P device address.
* @param primaryDeviceType Type of device. Refer to section B.1 of Wifi P2P
* Technical specification v1.2.
* @param deviceName Name of the device.
* @param configMethods Mask of WPS configuration methods supported by the
* device.
* @param deviceCapabilities Refer to section 4.1.4 of Wifi P2P Technical
* specification v1.2.
* @param groupCapabilites Refer to section 4.1.4 of Wifi P2P Technical
* specification v1.2.
* @param wfdDeviceInfo WFD device info as described in section 5.1.2 of WFD
* technical specification v1.0.0.
*/
oneway onR2DeviceFound(
MacAddress srcAddress, MacAddress p2pDeviceAddress,
uint8_t[8] primaryDeviceType, string deviceName,
bitfield<WpsConfigMethods> configMethods, uint8_t deviceCapabilities,
bitfield<P2pGroupCapabilityMask> groupCapabilities, uint8_t[6] wfdDeviceInfo,uint8_t[2] wfdR2DeviceInfo);
/**
* Used to indicate that a P2P device with some addition IEs has been found.
*
* @param info Vendor Extension Info as described in Section 12 of WSC
* specification version 2.0.4
* @param type Vendor Extension Attribute for identification
*
*/
oneway onVendorExtensionFound(vec<uint8_t> info, bitfield<InfoElementType> type);
};

View File

@@ -0,0 +1,241 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import android.hardware.wifi.supplicant@1.0::types;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorIface;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorStaIfaceCallback;
/**
* Vendor StaIface Interface
*/
interface ISupplicantVendorStaIface extends @2.0::ISupplicantVendorIface{
/**
* Register for vendorcallbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple vendor callback objects is supported. These objects
* must be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param callback An instance of the |ISupplicantVendorStaIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
registerVendorCallback(ISupplicantVendorStaIfaceCallback callback)
generates (SupplicantStatus status);
/**
* Flush FILS HLP IEs
* Use this to flush all the HLP IEs in wpa_supplicant
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
filsHlpFlushRequest() generates (SupplicantStatus status);
/**
* Add FILS HLP IEs
* Use this to add a HLP IE to wpa_supplicant
*
* @param dst_mac MAC address of the destination
* @param pkt The contents of the HLP IE starting from ethertype
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
filsHlpAddRequest(MacAddress dst_mac, vec<uint8_t> pkt)
generates (SupplicantStatus status);
/**
* Query driver Capabilities.
*
* @param capaType ASCII string, capability type ex: key_mgmt.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* |SupplicantStatusCode.FAILURE_IFACE_UNKNOWN|
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
* @return String of capabilities fetched from driver
*/
getCapabilities(string capaType)
generates (SupplicantStatus status, string capabilities);
/**
* Add the DPP bootstrap info obtained from QR code.
*
* @param uri The URI obtained from the QR code.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppAddBootstrapQrcode(string uri)
generates (SupplicantStatus status, int32_t id);
/**
* Generate bootstrap URI based on the passed arguments
*
* @param config bootstrap generate config
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppBootstrapGenerate(uint32_t type, string chan_list, MacAddress mac_addr,
string info, string curve, string key)
generates (SupplicantStatus status, int32_t id);
/**
* Remove bootstrap URI based on bootstrap ID
*
* @param bootstrap_id Stored bootstrap ID
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppBootstrapRemove(uint32_t id)
generates (SupplicantStatus status, int32_t dpp_status);
/**
* Get bootstrap URI based on bootstrap ID
*
* @param bootstrap_id Stored bootstrap ID
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppGetUri(uint32_t id)
generates (SupplicantStatus status, string uri);
/**
* start listen on the channel specified waiting to receive
* the DPP Authentication request
*
* @param frequency: DPP listen frequency
* @param dpp_role: Configurator/Enrollee role
* @param qr_mutual: Mutual authentication required
* @param netrole_ap: network role
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppStartListen(string frequency, uint32_t dpp_role, bool qr_mutual,
bool netrole_ap)
generates (SupplicantStatus status, int32_t listen_status);
/**
* stop ongoing dpp listen
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppStopListen()
generates (SupplicantStatus status);
/**
* Adds the DPP configurator
*
* @param curve curve used for dpp encryption
* @param key private key
* @param expiry timeout in seconds
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppConfiguratorAdd(string curve, string key, uint32_t expiry)
generates (SupplicantStatus status, int32_t id);
/**
* Removed the DPP configurator
*
* @param id dpp configuration id
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppConfiguratorRemove(uint32_t id)
generates (SupplicantStatus status, int32_t conf_status);
/**
* Start DPP Authentication
*
* @param config bootstrap generate config
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppStartAuth(int32_t peer_bootstrap_id, int32_t own_bootstrap_id,
int32_t dpp_role, string ssid, string password, bool isAp,
bool isDpp, int32_t conf_id, int32_t expiry)
generates (SupplicantStatus status, int32_t auth_status);
/**
* Retrieve Private key of configurator
*
* @param id Configurator id
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
dppConfiguratorGetKey(uint32_t id)
generates (SupplicantStatus status, string key);
};

View File

@@ -0,0 +1,148 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback;
import android.hardware.wifi.supplicant@1.0::types;
/**
* Vendor StaIface Callback Interface
*/
interface ISupplicantVendorStaIfaceCallback {
/**
* Used to indicate a state change event on this particular iface. If this
* event is triggered by a particular network, the |SupplicantNetworkId|,
* |ssid|, |bssid| parameters must indicate the parameters of the network/AP
* which caused this state transition.
*
* @param newState New State of the interface. This must be one of the |State|
* values above.
* @param bssid BSSID of the corresponding AP which caused this state
* change event. This must be zero'ed if this event is not
* specific to a particular network.
* @param id ID of the corresponding network which caused this
* state change event. This must be invalid (UINT32_MAX) if this
* event is not specific to a particular network.
* @param ssid SSID of the corresponding network which caused this state
* change event. This must be empty if this event is not specific
* to a particular network.
* @param filsHlpSent If FILS HLP IEs were included in this association.
*/
oneway onVendorStateChanged(
State newState, Bssid bssid, SupplicantNetworkId id, Ssid ssid, bool filsHlpSent);
/** DPP Authentication parameter. */
enum DppAuthParam : uint8_t {
CONNECTOR = 1 << 0,
C_SIGN_KEY = 1 << 1,
NET_ACCESS_KEY = 1 << 2,
NET_ACCESS_KEY_EXPIRY = 1 << 3,
};
/** DPP Config message type. */
enum DppConfigType : uint8_t {
FAILED = 0,
SENT = 1,
RECEIVED = 2,
};
/**
* Used to indicate dpp authentication success status.
*
* @param initiator Indicates if this is received on initiator(1) side
* or responder side (0)
*/
oneway onDppAuthSuccess(bool initiator);
/**
* Used to indicate dpp capability of the peer.
*
* @param initiator Indicates if this is for initiator(1) or responder(0)
* At the Initiator with capab showing Responders capabilities.
* At the Responder with capab showing Initiators capabilities.
*/
oneway onDppNotCompatible(uint8_t capab, bool initiator);
/**
* Used to indicate pending dpp response.
*/
oneway onDppResponsePending();
/**
* Current dpp authentication needs mutual authentication. DPP: Mutual
* authentication required with QR Codes, but peer info is not yet available.
* Request more time.
*
* @param bootstrapData Hash of initiator's public bootstrap key.
*
*/
oneway onDppScanPeerQrCode(vec<uint8_t> bootstrapData);
/**
* Used to indicate if configuration event at the Enrollee/Configurator.
*
* @param type Type of configuration messaage. This must be one of
* |DppConfigType|.
* @param ssid SSID (in hex format) received in the Configuration Object
* at Enrollee side.
* @param connector Connector (in hex format) received in the Configuration
* Object at Enrollee side.
* @param c_sign C-Sign-Key (in hex format) received in the Configuration
* Object at Enrollee side.
* @param net_access Net-Access-Key (in hex format) received in the
* Configuration Object at Enrollee side.
* @param net_access_expiry Net-Access-Key Expiry time received in the
* Configuration Object at Enrollee side.
* @param passphrase Passphrase as string received in the Configuration
* Object at Enrollee side.
* @param psk PSK received in the Configuration Object at Enrollee side.
*/
oneway onDppConf(uint8_t type, Ssid ssid, string connector,
vec<uint8_t> c_sign, vec<uint8_t> net_access,
uint32_t net_access_expiry, string passphrase,
vec<uint8_t> psk);
/**
* Used to indicate missing dpp authentication param when trying to connect
* to a DPP network.
*
* @param auth Indicates what requisite fields are missing/expired. It sets
* missing param bitfield from |DppAuthParam|.
*/
oneway onDppMissingAuth(bitfield<DppAuthParam> auth);
/**
* This event is received when a DPP network is added by on successful DPP
* Provisioning on the Enrollee.
*
* @param id Network id of added DPP network.
*/
oneway onDppNetworkId(uint32_t id);
};

View File

@@ -0,0 +1,442 @@
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.0;
import android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback;
import android.hardware.wifi.supplicant@1.0::types;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorNetwork;
/**
* Vendor StaNetwork Interface extend to vendor.qti.hardware.wifi.supplicant@2.0 ISupplicantVendorNetwork
*/
interface ISupplicantVendorStaNetwork extends @2.0::ISupplicantVendorNetwork {
/** Possble mask of values for VendorKeyMgmt param. */
enum VendorKeyMgmtMask : uint32_t {
SAE = 1 << 10,
WAPI_PSK = 1 << 12,
WAPI_CERT = 1 << 13,
IEEE8021X_SUITEB = 1 << 16,
IEEE8021X_SUITEB_192 = 1 << 17,
FILS_SHA256 = 1 << 18,
FILS_SHA384 = 1 << 19,
OWE = 1 << 22,
DPP = 1 << 23,
};
/** Possble mask of values for VendorProto param. */
enum VendorProtoMask : uint32_t {
WAPI = 1 << 2,
};
/** Possble mask of values for VendorAuthAlg param. */
enum VendorAuthAlgMask : uint32_t {
FILS_SK = 1 << 5,
};
/** Possble mask of values for GroupCipher param. */
enum VendorGroupCipherMask : uint32_t {
GCMP = 1 << 6,
GCMP_256 = 1 << 8,
};
/** Possble mask of values for PairwiseCipher param. */
enum VendorPairwiseCipherMask : uint32_t {
GCMP = 1 << 6,
GCMP_256 = 1 << 8,
};
/** Possble mask of values for GroupMgmtCipher param. */
enum VendorGroupMgmtCipherMask : uint32_t {
BIP_GMAC_128 = 1 << 11,
BIP_GMAC_256 = 1 << 12,
BIP_CMAC_256 = 1 << 13,
};
/** Common config Vendor Param Method */
/**
* Set key management mask for the network.
*
* @param keyMgmtMask value to set.
* Combination of |KeyMgmtMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setVendorKeyMgmt(bitfield<VendorKeyMgmtMask> keyMgmtMask) generates (SupplicantStatus status);
/**
* Set Protocol mask for the network.
*
* @param ProtoMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setVendorProto(bitfield<VendorProtoMask> ProtoMask) generates (SupplicantStatus status);
/**
* Set auth alg mask for the network.
*
* @param authAlgMask value to set.
* Combination of |authAlgMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setVendorAuthAlg(bitfield<VendorAuthAlgMask> authAlgMask) generates (SupplicantStatus status);
/**
* Set group cipher mask for the network.
*
* @param groupCipherMask value to set.
* Combination of |groupCipherMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setVendorGroupCipher(bitfield<VendorGroupCipherMask> groupCipherMask)
generates (SupplicantStatus status);
/**
* Set pairwise cipher mask for the network.
*
* @param pairwiseCipherMask value to set.
* Combination of |pairwiseCipherMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setVendorPairwiseCipher(bitfield<VendorPairwiseCipherMask> pairwiseCipherMask)
generates (SupplicantStatus status);
/**
* Get the key mgmt mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return keyMgmtMask Combination of |VendorKeyMgmtMask| values.
*/
getVendorKeyMgmt()
generates (SupplicantStatus status, bitfield<VendorKeyMgmtMask> keyMgmtMask);
/**
* Get the protocol mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return ProtoMask Combination of |VendorProtoMask| values.
*/
getVendorProto()
generates (SupplicantStatus status, bitfield<VendorProtoMask> ProtoMask);
/**
* Get the auth alg mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return authAlgMask Combination of |VendorAuthAlgMask| values.
*/
getVendorAuthAlg()
generates (SupplicantStatus status, bitfield<VendorAuthAlgMask> authAlgMask);
/**
* Get the group cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return groupCipherMask Combination of |VendorGroupCipherMask| values.
*/
getVendorGroupCipher()
generates (SupplicantStatus status,
bitfield<VendorGroupCipherMask> groupCipherMask);
/**
* Get the pairwise cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return groupCipherMask Combination of |VendorPairwiseCipherMask| values.
*/
getVendorPairwiseCipher()
generates (SupplicantStatus status,
bitfield<VendorPairwiseCipherMask> pairwiseCipherMask);
/** FILS config Vendor Method */
/**
* Enable EAP ERP for this network.
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapErp(bool enable) generates (SupplicantStatus status);
/** WPA3 config Vendor Method */
/**
* Bitfield of allowed group management ciphers
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setGroupMgmtCipher(uint32_t group_mgmt_cipher) generates (SupplicantStatus status);
/**
* Set phase1 (outer authentication) parameters.
*
* @param Pre-configured EAP parameters or %NULL.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapPhase1Params(string params) generates (SupplicantStatus status);
/**
* Set OpenSSL cipher string.
*
* @param This is an OpenSSL specific configuration option for configuring the
* default ciphers.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEapOpensslCiphers(string Ciphers) generates (SupplicantStatus status);
/**
* Set DPP Connector for this network.
*
* @param connector string to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setDppConnector(string connector) generates (SupplicantStatus status);
/**
* Set DPP Net Access Key for this network.
*
* @param netAccessKey value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setDppNetAccessKey(vec<uint8_t> netAccessKey)
generates (SupplicantStatus status);
/**
* Set DPP Net Access Key Expiry time for this network.
*
* @param netAccessKeyExpiry integer to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setDppNetAccessKeyExpiry(uint32_t netAccessKeyExpiry)
generates (SupplicantStatus status);
/**
* Set DPP C-sign for this network.
*
* @param csign value to set.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setDppCsign(vec<uint8_t> csign) generates (SupplicantStatus status);
/** WAPI config Vendor Method */
/**
* Set wapiPskType for this network.
*
* @param psk type value to set.
* 0: ASCII; 1: HEX.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWapiPskType(uint32_t type) generates (SupplicantStatus status);
/**
* Set wapiPsk for this network.
*
* @param psk value to set.
* Max length is 64.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWapiPsk(string psk) generates (SupplicantStatus status);
/**
* Set wapiCertSelMode for this network.
*
* @param cert select mode to set.
* 0: automatic; 1: manual.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWapiCertSelMode(uint32_t mode) generates (SupplicantStatus status);
/**
* Set wapiCertSel for this network.
*
* @param selected cert name.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setWapiCertSel(string name) generates (SupplicantStatus status);
/**
* Get wapiPskType for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return psk type value.
*/
getWapiPskType() generates (SupplicantStatus status, uint32_t type);
/**
* Get wapiPsk for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return psk value.
*/
getWapiPsk() generates (SupplicantStatus status, string psk);
/**
* Get wapiCertSelMode for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return cert select mode value.
*/
getWapiCertSelMode() generates (SupplicantStatus status, uint32_t mode);
/**
* Get wapiCertSel for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return selected cert value.
*/
getWapiCertSel() generates (SupplicantStatus status, string name);
/** EAP SIM Vendor Method */
/**
* Set simnumber for this network.
*
* @param sim_num.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setVendorSimNumber(uint32_t sim_num) generates (SupplicantStatus status);
};

View File

@@ -0,0 +1,23 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.supplicant@2.1",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"types.hal",
"ISupplicantVendor.hal",
"ISupplicantVendorStaIface.hal",
],
interfaces: [
"android.hardware.wifi.supplicant@1.0",
"android.hardware.wifi.supplicant@1.1",
"android.hidl.base@1.0",
"vendor.qti.hardware.wifi.supplicant@2.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,40 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.1;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendor;
/**
* Vendor Interface exposed by the supplicant HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific supplicant interactions.
*/
interface ISupplicantVendor extends @2.0::ISupplicantVendor {
};

View File

@@ -0,0 +1,52 @@
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.1;
import android.hardware.wifi.supplicant@1.0::types;
import vendor.qti.hardware.wifi.supplicant@2.0::ISupplicantVendorStaIface;
import vendor.qti.hardware.wifi.supplicant@2.1::types;
/**
* Vendor StaIface Interface
*/
interface ISupplicantVendorStaIface extends @2.0::ISupplicantVendorStaIface{
/**
* Get Wifi Generation Status information
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return generationStatus Wi-Fi generation status info for active STA link.
*/
getWifiGenerationStatus()
generates (SupplicantStatus status, WifiGenerationStatus generationStatus);
};

View File

@@ -0,0 +1,54 @@
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.1;
/**
* Wi-Fi Generation information for active link.
*/
struct WifiGenerationStatus {
/**
* Wi-Fi generation
* 802.11 a/b/g - 0
* 802.11 n - 4
* 802.11 ac - 5
* 802.11 ax - 6
*/
int32_t generation;
/**
* Flag to indicate no.of maximum VHT spatial streams supported is 8.
*/
bool vhtMax8SpatialStreamsSupport;
/**
* TWT Support flag.
*/
bool twtSupport;
};

View File

@@ -0,0 +1,23 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.supplicant@2.2",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
srcs: [
"ISupplicantVendor.hal",
"ISupplicantVendorStaIface.hal",
],
interfaces: [
"android.hardware.wifi.supplicant@1.0",
"android.hardware.wifi.supplicant@1.1",
"android.hidl.base@1.0",
"vendor.qti.hardware.wifi.supplicant@2.0",
"vendor.qti.hardware.wifi.supplicant@2.1",
],
gen_java: true,
}

View File

@@ -0,0 +1,40 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.2;
import vendor.qti.hardware.wifi.supplicant@2.1::ISupplicantVendor;
/**
* Vendor Interface exposed by the supplicant HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific supplicant interactions.
*/
interface ISupplicantVendor extends @2.1::ISupplicantVendor {
};

View File

@@ -0,0 +1,52 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.2;
import android.hardware.wifi.supplicant@1.0::types;
import vendor.qti.hardware.wifi.supplicant@2.1::ISupplicantVendorStaIface;
/**
* Vendor StaIface Interface
*/
interface ISupplicantVendorStaIface extends @2.1::ISupplicantVendorStaIface{
/**
* run Driver Commands
*
* @param command Driver Command
* @return status Supplicant Status
* @return reply Command Message Reply
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
*/
doDriverCmd(string command)
generates (SupplicantStatus status, string reply);
};

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.wifi.supplicant@2.3",
root: "vendor.qti.hardware.wifi",
system_ext_specific: true,
srcs: [
"ISupplicantVendor.hal",
"ISupplicantVendorStaIface.hal",
"ISupplicantVendorStaIfaceCallback.hal",
],
interfaces: [
"android.hardware.wifi.supplicant@1.0",
"android.hardware.wifi.supplicant@1.1",
"android.hidl.base@1.0",
"vendor.qti.hardware.wifi.supplicant@2.0",
"vendor.qti.hardware.wifi.supplicant@2.1",
"vendor.qti.hardware.wifi.supplicant@2.2",
],
gen_java: true,
}

View File

@@ -0,0 +1,40 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.3;
import vendor.qti.hardware.wifi.supplicant@2.2::ISupplicantVendor;
/**
* Vendor Interface exposed by the supplicant HIDL service registered
* with the hardware service manager.
* This is the root level object for any vendor specific supplicant interactions.
*/
interface ISupplicantVendor extends @2.2::ISupplicantVendor {
};

View File

@@ -0,0 +1,58 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.3;
import android.hardware.wifi.supplicant@1.0::types;
import @2.2::ISupplicantVendorStaIface;
import @2.3::ISupplicantVendorStaIfaceCallback;
/**
* Vendor StaIface Interface
*/
interface ISupplicantVendorStaIface extends @2.2::ISupplicantVendorStaIface {
/**
* Register for vendorcallbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
* Registration of multiple vendor callback objects is supported. These objects
* must be automatically deleted when the corresponding client process is dead or
* if this interface is removed.
*
* @param callback An instance of the |ISupplicantVendorStaIfaceCallback| HIDL
* interface object.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
registerVendorCallback_2_3(ISupplicantVendorStaIfaceCallback callback)
generates (SupplicantStatus status);
};

View File

@@ -0,0 +1,46 @@
/* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package vendor.qti.hardware.wifi.supplicant@2.3;
import android.hardware.wifi.supplicant@1.0::types;
import @2.0::ISupplicantVendorStaIfaceCallback;
/**
* Vendor StaIface Callback Interface
*/
interface ISupplicantVendorStaIfaceCallback extends @2.0::ISupplicantVendorStaIfaceCallback {
/**
* Invoked when vendor event is triggered, and returned event info.
*
* @param ifaceName Name of the interface.
* @param event_str Event info.
*/
oneway onCtrlEvent(string ifaceName, string event_str);
};

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