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

Commit 0e0762dc authored by Gabriel Biren's avatar Gabriel Biren Committed by Android (Google) Code Review
Browse files

Merge "Add QosCharacteristics to the supplicant AIDL interface." into main

parents d27ec7f9 1652753c
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
///////////////////////////////////////////////////////////////////////////////
// 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 android.hardware.wifi.supplicant;
@VintfStability
parcelable MsduDeliveryInfo {
  android.hardware.wifi.supplicant.MsduDeliveryInfo.DeliveryRatio deliveryRatio;
  byte countExponent;
  @Backing(type="byte") @VintfStability
  enum DeliveryRatio {
    RATIO_95 = 1,
    RATIO_96 = 2,
    RATIO_97 = 3,
    RATIO_98 = 4,
    RATIO_99 = 5,
    RATIO_99_9 = 6,
    RATIO_99_99 = 7,
    RATIO_99_999 = 8,
    RATIO_99_9999 = 9,
  }
}
+59 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
///////////////////////////////////////////////////////////////////////////////
// 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 android.hardware.wifi.supplicant;
@VintfStability
parcelable QosCharacteristics {
  int minServiceIntervalUs;
  int maxServiceIntervalUs;
  int minDataRateKbps;
  int delayBoundUs;
  int optionalFieldMask;
  char maxMsduSizeOctets;
  int serviceStartTimeUs;
  byte serviceStartTimeLinkId;
  int meanDataRateKbps;
  int burstSizeOctets;
  char msduLifetimeMs;
  android.hardware.wifi.supplicant.MsduDeliveryInfo msduDeliveryInfo;
  @Backing(type="int") @VintfStability
  enum QosCharacteristicsMask {
    MAX_MSDU_SIZE = (1 << 0) /* 1 */,
    SERVICE_START_TIME = (1 << 1) /* 2 */,
    SERVICE_START_TIME_LINK_ID = (1 << 2) /* 4 */,
    MEAN_DATA_RATE = (1 << 3) /* 8 */,
    BURST_SIZE = (1 << 4) /* 16 */,
    MSDU_LIFETIME = (1 << 5) /* 32 */,
    MSDU_DELIVERY_INFO = (1 << 6) /* 64 */,
  }
}
+7 −0
Original line number Diff line number Diff line
@@ -22,4 +22,11 @@ parcelable QosPolicyScsData {
  byte policyId;
  byte userPriority;
  android.hardware.wifi.supplicant.QosPolicyClassifierParams classifierParams;
  android.hardware.wifi.supplicant.QosPolicyScsData.LinkDirection direction;
  @nullable android.hardware.wifi.supplicant.QosCharacteristics QosCharacteristics;
  @Backing(type="byte") @VintfStability
  enum LinkDirection {
    DOWNLINK,
    UPLINK,
  }
}
+54 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware.wifi.supplicant;

/**
 * MSDU delivery information.
 * See Section 9.4.2.316 of the IEEE P802.11be/D4.0 Standard.
 */
@VintfStability
parcelable MsduDeliveryInfo {
    /**
     * Enums for the |deliveryRatio| field.
     * See Table 9-404t of the IEEE P802.11be/D4.0 Standard.
     */
    @VintfStability
    @Backing(type="byte")
    enum DeliveryRatio {
        RATIO_95 = 1, // 95%
        RATIO_96 = 2, // 96%
        RATIO_97 = 3, // 97%
        RATIO_98 = 4, // 98%
        RATIO_99 = 5, // 99%
        RATIO_99_9 = 6, // 99.9%
        RATIO_99_99 = 7, // 99.99%
        RATIO_99_999 = 8, // 99.999%
        RATIO_99_9999 = 9, // 99.9999%
    }

    /**
     * Percentage of the MSDUs that are expected to be delivered successfully.
     */
    DeliveryRatio deliveryRatio;

    /**
     * Exponent from which the number of incoming MSDUs is computed. The number of incoming
     * MSDUs is 10^countExponent, and is used to determine the MSDU delivery ratio.
     * Must be a number between 0 and 15 (inclusive).
     */
    byte countExponent;
}
+120 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware.wifi.supplicant;

import android.hardware.wifi.supplicant.MsduDeliveryInfo;

/**
 * Additional QoS parameters as defined in Section 9.4.2.316
 * of the IEEE P802.11be/D4.0 Standard.
 */
@VintfStability
parcelable QosCharacteristics {
    /**
     * Unsigned integer specifying the minimum interval (in microseconds) between the start of
     * two consecutive service periods (SPs) that are allocated for frame exchanges.
     * The value must be non-zero.
     */
    int minServiceIntervalUs;

    /**
     * Unsigned integer specifying the maximum interval (in microseconds) between the start of two
     * consecutive SPs that are allocated for frame exchanges. The value must be non-zero.
     */
    int maxServiceIntervalUs;

    /**
     * Unsigned integer specifying the lowest data rate (in kilobits/sec)
     * for the transport of MSDUs or A-MSDUs belonging to the traffic flow.
     * The value must be non-zero.
     */
    int minDataRateKbps;

    /**
     * Unsigned integer specifying the maximum amount of time (in microseconds)
     * targeted to transport an MSDU or A-MSDU belonging to the traffic flow.
     * The value must be non-zero.
     */
    int delayBoundUs;

    /**
     * Enum values indicating which optional fields are provided.
     * See Figure 9-1001au of the IEEE P802.11be/D4.0 Standard.
     */
    @VintfStability
    @Backing(type="int")
    enum QosCharacteristicsMask {
        MAX_MSDU_SIZE = 1 << 0,
        SERVICE_START_TIME = 1 << 1,
        SERVICE_START_TIME_LINK_ID = 1 << 2,
        MEAN_DATA_RATE = 1 << 3,
        BURST_SIZE = 1 << 4,
        MSDU_LIFETIME = 1 << 5,
        MSDU_DELIVERY_INFO = 1 << 6,
    }

    /**
     * Mask of |QosCharacteristicsMask| indicating which optional fields are provided.
     */
    int optionalFieldMask;

    /**
     * Unsigned 16-bit value specifying the maximum size (in octets) of an MSDU
     * belonging to the traffic flow. The value must be non-zero if provided.
     */
    char maxMsduSizeOctets;

    /**
     * Unsigned integer specifying the anticipated time (in microseconds) when
     * the traffic starts for the associated TID.
     */
    int serviceStartTimeUs;

    /**
     * The four LSBs indicate the link identifier that corresponds to the link for which the
     * TSF timer is used to indicate the Service Start Time. The four MSBs should not be used.
     * This field is present if |serviceStartTimeUs| is included and is not present otherwise.
     */
    byte serviceStartTimeLinkId;

    /**
     * Unsigned integer indicating the data rate specified (in kilobits/sec) for transport of MSDUs
     * or A-MSDUs belonging to the traffic flow. The value must be non-zero if provided.
     */
    int meanDataRateKbps;

    /**
     * Unsigned integer specififying the maximum burst (in octets) of the MSDUs or A-MSDUs
     * belonging to the traffic flow that arrive at the MAC SAP within any time duration equal
     * to the value specified in the |delayBound| field. The value must be non-zero if provided.
     */
    int burstSizeOctets;

    /**
     * Unsigned 16-bit integer specifying the maximum amount of time (in milliseconds) since the
     * arrival of the MSDU at the MAC data service interface beyond which the MSDU is not useful
     * even if received by the receiver. The amount of time specified in this field is larger than
     * or equal to the amount of time specified in the |delayBound| field, if present. The value
     * must be non-zero if provided.
     */
    char msduLifetimeMs;

    /**
     * MSDU delivery information. See |MsduDeliveryInfo| for more details.
     */
    MsduDeliveryInfo msduDeliveryInfo;
}
Loading