Hostapd: redefine data structure to avoid dependency on IHostapd@1.2
This commit is to remove dependency on IHostapdHal@1.2 by re-defining structures that were imported earlier. This allows support on targets where IHotapdHal@1.2 is not present Additionally, this commit adds following vendor network params: - enableOCV - enableBeaconProtection Change-Id: I6b9645a1defcdb8eac5178cee39ead1f8299b325 CRs-Fixed: 2673976
This commit is contained in:
@@ -31,7 +31,6 @@ 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 android.hardware.wifi.hostapd@1.2::IHostapd;
|
||||
|
||||
import @1.0::IHostapdVendor;
|
||||
import @1.1::IHostapdVendor;
|
||||
@@ -47,6 +46,103 @@ interface IHostapdVendor extends @1.1::IHostapdVendor {
|
||||
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.
|
||||
@@ -58,14 +154,14 @@ interface IHostapdVendor extends @1.1::IHostapdVendor {
|
||||
@1.1::IHostapdVendor.VendorIfaceParams VendorV1_1;
|
||||
|
||||
/**
|
||||
* Additional Channel params for the interface from 1.2::IHostapd HAL
|
||||
* Additional Hw mode params for the interface
|
||||
*/
|
||||
@1.2::IHostapd.ChannelParams channelParams;
|
||||
HwModeParams hwModeParams;
|
||||
|
||||
/**
|
||||
* Additional Hw mode params for the interface from 1.2::IHostapd HAL
|
||||
* Additional Channel params for the interface
|
||||
*/
|
||||
@1.2::IHostapd.HwModeParams hwModeParams;
|
||||
ChannelParams channelParams;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -73,14 +169,31 @@ interface IHostapdVendor extends @1.1::IHostapdVendor {
|
||||
*/
|
||||
struct VendorNetworkParams {
|
||||
/**
|
||||
* Baseline information as defined in HAL 1.2::IHostapd.
|
||||
* Baseline information as defined in HAL 1.0.
|
||||
*/
|
||||
@1.2::IHostapd.NetworkParams V1_2;
|
||||
@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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
version=3
|
||||
version=2
|
||||
|
||||
Reference in New Issue
Block a user