mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Add QosCharacteristics to the supplicant AIDL interface.
Bug: 300870302 Test: m Change-Id: I91f44cad643c08d97def359939755597a93fee38
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* 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,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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 */,
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package android.hardware.wifi.supplicant;
|
||||
|
||||
import android.hardware.wifi.supplicant.QosCharacteristics;
|
||||
import android.hardware.wifi.supplicant.QosPolicyClassifierParams;
|
||||
|
||||
/**
|
||||
@@ -21,4 +22,24 @@ parcelable QosPolicyScsData {
|
||||
* QoS policy SCS classifier type information.
|
||||
*/
|
||||
QosPolicyClassifierParams classifierParams;
|
||||
|
||||
/**
|
||||
* Enum values for the |direction| field.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="byte")
|
||||
enum LinkDirection {
|
||||
DOWNLINK,
|
||||
UPLINK, // Only applies to trigger-based traffic (Wi-Fi 6+)
|
||||
}
|
||||
|
||||
/**
|
||||
* Direction of data described by this element.
|
||||
*/
|
||||
LinkDirection direction;
|
||||
|
||||
/**
|
||||
* Additional parameters available in QoS R3.
|
||||
*/
|
||||
@nullable QosCharacteristics QosCharacteristics;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user