Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61430f49 authored by Gabriel Biren's avatar Gabriel Biren
Browse files

Add an API to the Vendor HAL to create an AP

or Bridged AP iface using vendor-specific
parameters.

Bug: 296069900
Test: m
Change-Id: I4bc05195a6e0b539b426d994e59f9f61a78c1255
parent 7c79f702
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@ aidl_interface {
    srcs: [
        "android/hardware/wifi/*.aidl",
    ],
    imports: [
        "android.hardware.wifi.common-V1",
    ],
    stability: "vintf",
    backend: {
        java: {
@@ -42,6 +45,9 @@ aidl_interface {
                enabled: false,
            },
        },
        cpp: {
            enabled: false,
        },
    },
    versions_with_info: [
        {
@@ -49,6 +55,5 @@ aidl_interface {
            imports: [],
        },
    ],
    frozen: true,

    frozen: false,
}
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ interface IWifiChip {
  void triggerSubsystemRestart();
  void enableStaChannelForPeerNetwork(in int channelCategoryEnableFlag);
  void setMloMode(in android.hardware.wifi.IWifiChip.ChipMloMode mode);
  @PropagateAllowBlocking android.hardware.wifi.IWifiApIface createApOrBridgedApIface(in android.hardware.wifi.IfaceConcurrencyType iface, in android.hardware.wifi.common.OuiKeyedData[] vendorData);
  const int NO_POWER_CAP_CONSTANT = 0x7FFFFFFF;
  @Backing(type="int") @VintfStability
  enum FeatureSetMask {
+24 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.hardware.wifi.WifiDebugRingBufferVerboseLevel;
import android.hardware.wifi.WifiIfaceMode;
import android.hardware.wifi.WifiRadioCombination;
import android.hardware.wifi.WifiUsableChannel;
import android.hardware.wifi.common.OuiKeyedData;

/**
 * Interface that represents a chip that must be configured as a single unit.
@@ -1149,4 +1150,27 @@ interface IWifiChip {
     *
     */
    void setMloMode(in ChipMloMode mode);

    /**
     * Create an AP or bridged AP iface on the chip using vendor-provided configuration parameters.
     *
     * Depending on the mode the chip is configured in, the interface creation
     * may fail (code: |WifiStatusCode.ERROR_NOT_AVAILABLE|) if we've already
     * reached the maximum allowed (specified in |ChipIfaceCombination|) number
     * of ifaces of the AP or AP_BRIDGED type.
     *
     * @param  iface IfaceConcurrencyType to be created. Takes one of
               |IfaceConcurrencyType.AP| or |IfaceConcurrencyType.AP_BRIDGED|
     * @param  vendorData Vendor-provided configuration data as a list of |OuiKeyedData|.
     * @return AIDL interface object representing the iface if
     *         successful, null otherwise.
     * @throws ServiceSpecificException with one of the following values:
     *         |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
     *         |WifiStatusCode.ERROR_NOT_SUPPORTED|,
     *         |WifiStatusCode.ERROR_NOT_AVAILABLE|,
     *         |WifiStatusCode.ERROR_INVALID_ARGS|
     */
    @PropagateAllowBlocking
    IWifiApIface createApOrBridgedApIface(
            in IfaceConcurrencyType iface, in OuiKeyedData[] vendorData);
}