Loading wifi/1.0/Android.mk +114 −0 Original line number Diff line number Diff line Loading @@ -1555,6 +1555,63 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingCapabilities) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingCapabilities.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingCapabilities $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingConfig) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingConfig.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingConfig $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingState) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingState.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingState $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaScanData) # Loading Loading @@ -4040,6 +4097,63 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingCapabilities) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingCapabilities.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingCapabilities $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingConfig) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingConfig.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingConfig $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingState) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingState.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingState $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaScanData) # Loading wifi/1.0/IWifiStaIface.hal +59 −1 Original line number Diff line number Diff line Loading @@ -48,10 +48,22 @@ interface IWifiStaIface extends IWifiIface { * If set indicates that the RSSI monitor APIs are supported. */ RSSI_MONITOR = 1 << 3, /** * If set indicates that the roaming API's are supported. */ CONTROL_ROAMING = 1 << 4, /** * If set indicates support for Probe IE white listing. */ PROBE_IE_WHITELIST = 1 << 5, /** * If set indicates support for MAC & Probe Sequence Number randomization. */ SCAN_RAND = 1 << 6, /** * Tracks connection packets' fate. */ DEBUG_PACKET_FATE_SUPPORTED = 1 << 4 DEBUG_PACKET_FATE_SUPPORTED = 1 << 7 }; /** Loading Loading @@ -300,6 +312,52 @@ interface IWifiStaIface extends IWifiIface { */ stopRssiMonitoring(CommandId cmdId) generates (WifiStatus status); /** * Get roaming control capabilities. * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set. * * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_UNKNOWN| * @return caps Instance of |StaRoamingCapabilities|. */ getRoamingCapabilities() generates (WifiStatus status, StaRoamingCapabilities caps); /** * Configure roaming control parameters. * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set. * * @param config Instance of |StaRoamingConfig|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_UNKNOWN| */ configureRoaming(StaRoamingConfig config) generates (WifiStatus status); /** * Set the roaming control state with the parameters configured * using |configureRoaming|. Depending on the roaming state set, the * driver/firmware would enable/disable control over roaming decisions. * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set. * * @param state State of the roaming control. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_BUSY|, * |WifiStatusCode.ERROR_UNKNOWN| */ setRoamingState(StaRoamingState state) generates (WifiStatus status); /** * API to start packet fate monitoring. * - Once stared, monitoring must remain active until HAL is unloaded. Loading wifi/1.0/default/hidl_struct_util.cpp +59 −1 Original line number Diff line number Diff line Loading @@ -66,6 +66,12 @@ convertLegacyFeatureToHidlStaIfaceCapability(uint32_t feature) { return HidlStaIfaceCaps::LINK_LAYER_STATS; case WIFI_FEATURE_RSSI_MONITOR: return HidlStaIfaceCaps::RSSI_MONITOR; case WIFI_FEATURE_CONTROL_ROAMING: return HidlStaIfaceCaps::CONTROL_ROAMING; case WIFI_FEATURE_IE_WHITELIST: return HidlStaIfaceCaps::PROBE_IE_WHITELIST; case WIFI_FEATURE_SCAN_RAND: return HidlStaIfaceCaps::SCAN_RAND; }; CHECK(false) << "Unknown legacy feature: " << feature; return {}; Loading Loading @@ -214,7 +220,10 @@ bool convertLegacyFeaturesToHidlStaCapabilities( } for (const auto feature : {WIFI_FEATURE_GSCAN, WIFI_FEATURE_LINK_LAYER_STATS, WIFI_FEATURE_RSSI_MONITOR}) { WIFI_FEATURE_RSSI_MONITOR, WIFI_FEATURE_CONTROL_ROAMING, WIFI_FEATURE_IE_WHITELIST, WIFI_FEATURE_SCAN_RAND}) { if (feature & legacy_feature_set) { *hidl_caps |= convertLegacyFeatureToHidlStaIfaceCapability(feature); } Loading Loading @@ -669,6 +678,55 @@ bool convertLegacyLinkLayerStatsToHidl( return true; } bool convertLegacyRoamingCapabilitiesToHidl( const legacy_hal::wifi_roaming_capabilities& legacy_caps, StaRoamingCapabilities* hidl_caps) { if (!hidl_caps) { return false; } hidl_caps->maxBlacklistSize = legacy_caps.max_blacklist_size; hidl_caps->maxWhitelistSize = legacy_caps.max_whitelist_size; return true; } bool convertHidlRoamingConfigToLegacy( const StaRoamingConfig& hidl_config, legacy_hal::wifi_roaming_config* legacy_config) { if (!legacy_config) { return false; } if (hidl_config.bssidBlacklist.size() > MAX_BLACKLIST_BSSID || hidl_config.ssidWhitelist.size() > MAX_WHITELIST_SSID) { return false; } legacy_config->num_blacklist_bssid = hidl_config.bssidBlacklist.size(); uint32_t i = 0; for (const auto& bssid : hidl_config.bssidBlacklist) { CHECK(bssid.size() == sizeof(legacy_hal::mac_addr)); memcpy(legacy_config->blacklist_bssid[i++], bssid.data(), bssid.size()); } legacy_config->num_whitelist_ssid = hidl_config.ssidWhitelist.size(); i = 0; for (const auto& ssid : hidl_config.ssidWhitelist) { CHECK(ssid.size() <= sizeof(legacy_hal::ssid_t::ssid_str)); legacy_config->whitelist_ssid[i].length = ssid.size(); memcpy(legacy_config->whitelist_ssid[i].ssid_str, ssid.data(), ssid.size()); i++; } return true; } legacy_hal::fw_roaming_state_t convertHidlRoamingStateToLegacy( StaRoamingState state) { switch (state) { case StaRoamingState::ENABLED: return legacy_hal::ROAMING_ENABLE; case StaRoamingState::DISABLED: return legacy_hal::ROAMING_DISABLE; }; CHECK(false); } legacy_hal::NanPublishType convertHidlNanPublishTypeToLegacy( NanPublishType type) { switch (type) { Loading wifi/1.0/default/hidl_struct_util.h +8 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,14 @@ bool convertLegacyVectorOfCachedGscanResultsToHidl( bool convertLegacyLinkLayerStatsToHidl( const legacy_hal::LinkLayerStats& legacy_stats, StaLinkLayerStats* hidl_stats); bool convertLegacyRoamingCapabilitiesToHidl( const legacy_hal::wifi_roaming_capabilities& legacy_caps, StaRoamingCapabilities* hidl_caps); bool convertHidlRoamingConfigToLegacy( const StaRoamingConfig& hidl_config, legacy_hal::wifi_roaming_config* legacy_config); legacy_hal::fw_roaming_state_t convertHidlRoamingStateToLegacy( StaRoamingState state); bool convertLegacyVectorOfDebugTxPacketFateToHidl( const std::vector<legacy_hal::wifi_tx_report>& legacy_fates, std::vector<WifiDebugTxPacketFateReport>* hidl_fates); Loading wifi/1.0/default/wifi_legacy_hal.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -613,6 +613,25 @@ wifi_error WifiLegacyHal::stopRssiMonitoring(wifi_request_id id) { return status; } std::pair<wifi_error, wifi_roaming_capabilities> WifiLegacyHal::getRoamingCapabilities() { wifi_roaming_capabilities caps; wifi_error status = global_func_table_.wifi_get_roaming_capabilities( wlan_interface_handle_, &caps); return {status, caps}; } wifi_error WifiLegacyHal::enableFirmwareRoaming(fw_roaming_state_t state) { return global_func_table_.wifi_enable_firmware_roaming(wlan_interface_handle_, state); } wifi_error WifiLegacyHal::configureRoaming(const wifi_roaming_config& config) { wifi_roaming_config config_internal = config; return global_func_table_.wifi_configure_roaming(wlan_interface_handle_, &config_internal); } std::pair<wifi_error, uint32_t> WifiLegacyHal::getLoggerSupportedFeatureSet() { uint32_t supported_features; wifi_error status = global_func_table_.wifi_get_logger_supported_feature_set( Loading Loading
wifi/1.0/Android.mk +114 −0 Original line number Diff line number Diff line Loading @@ -1555,6 +1555,63 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingCapabilities) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingCapabilities.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingCapabilities $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingConfig) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingConfig.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingConfig $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingState) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingState.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingState $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaScanData) # Loading Loading @@ -4040,6 +4097,63 @@ $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingCapabilities) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingCapabilities.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingCapabilities $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingConfig) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingConfig.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingConfig $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaRoamingState) # GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingState.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.wifi@1.0::types.StaRoamingState $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StaScanData) # Loading
wifi/1.0/IWifiStaIface.hal +59 −1 Original line number Diff line number Diff line Loading @@ -48,10 +48,22 @@ interface IWifiStaIface extends IWifiIface { * If set indicates that the RSSI monitor APIs are supported. */ RSSI_MONITOR = 1 << 3, /** * If set indicates that the roaming API's are supported. */ CONTROL_ROAMING = 1 << 4, /** * If set indicates support for Probe IE white listing. */ PROBE_IE_WHITELIST = 1 << 5, /** * If set indicates support for MAC & Probe Sequence Number randomization. */ SCAN_RAND = 1 << 6, /** * Tracks connection packets' fate. */ DEBUG_PACKET_FATE_SUPPORTED = 1 << 4 DEBUG_PACKET_FATE_SUPPORTED = 1 << 7 }; /** Loading Loading @@ -300,6 +312,52 @@ interface IWifiStaIface extends IWifiIface { */ stopRssiMonitoring(CommandId cmdId) generates (WifiStatus status); /** * Get roaming control capabilities. * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set. * * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_UNKNOWN| * @return caps Instance of |StaRoamingCapabilities|. */ getRoamingCapabilities() generates (WifiStatus status, StaRoamingCapabilities caps); /** * Configure roaming control parameters. * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set. * * @param config Instance of |StaRoamingConfig|. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_UNKNOWN| */ configureRoaming(StaRoamingConfig config) generates (WifiStatus status); /** * Set the roaming control state with the parameters configured * using |configureRoaming|. Depending on the roaming state set, the * driver/firmware would enable/disable control over roaming decisions. * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set. * * @param state State of the roaming control. * @return status WifiStatus of the operation. * Possible status codes: * |WifiStatusCode.SUCCESS|, * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_BUSY|, * |WifiStatusCode.ERROR_UNKNOWN| */ setRoamingState(StaRoamingState state) generates (WifiStatus status); /** * API to start packet fate monitoring. * - Once stared, monitoring must remain active until HAL is unloaded. Loading
wifi/1.0/default/hidl_struct_util.cpp +59 −1 Original line number Diff line number Diff line Loading @@ -66,6 +66,12 @@ convertLegacyFeatureToHidlStaIfaceCapability(uint32_t feature) { return HidlStaIfaceCaps::LINK_LAYER_STATS; case WIFI_FEATURE_RSSI_MONITOR: return HidlStaIfaceCaps::RSSI_MONITOR; case WIFI_FEATURE_CONTROL_ROAMING: return HidlStaIfaceCaps::CONTROL_ROAMING; case WIFI_FEATURE_IE_WHITELIST: return HidlStaIfaceCaps::PROBE_IE_WHITELIST; case WIFI_FEATURE_SCAN_RAND: return HidlStaIfaceCaps::SCAN_RAND; }; CHECK(false) << "Unknown legacy feature: " << feature; return {}; Loading Loading @@ -214,7 +220,10 @@ bool convertLegacyFeaturesToHidlStaCapabilities( } for (const auto feature : {WIFI_FEATURE_GSCAN, WIFI_FEATURE_LINK_LAYER_STATS, WIFI_FEATURE_RSSI_MONITOR}) { WIFI_FEATURE_RSSI_MONITOR, WIFI_FEATURE_CONTROL_ROAMING, WIFI_FEATURE_IE_WHITELIST, WIFI_FEATURE_SCAN_RAND}) { if (feature & legacy_feature_set) { *hidl_caps |= convertLegacyFeatureToHidlStaIfaceCapability(feature); } Loading Loading @@ -669,6 +678,55 @@ bool convertLegacyLinkLayerStatsToHidl( return true; } bool convertLegacyRoamingCapabilitiesToHidl( const legacy_hal::wifi_roaming_capabilities& legacy_caps, StaRoamingCapabilities* hidl_caps) { if (!hidl_caps) { return false; } hidl_caps->maxBlacklistSize = legacy_caps.max_blacklist_size; hidl_caps->maxWhitelistSize = legacy_caps.max_whitelist_size; return true; } bool convertHidlRoamingConfigToLegacy( const StaRoamingConfig& hidl_config, legacy_hal::wifi_roaming_config* legacy_config) { if (!legacy_config) { return false; } if (hidl_config.bssidBlacklist.size() > MAX_BLACKLIST_BSSID || hidl_config.ssidWhitelist.size() > MAX_WHITELIST_SSID) { return false; } legacy_config->num_blacklist_bssid = hidl_config.bssidBlacklist.size(); uint32_t i = 0; for (const auto& bssid : hidl_config.bssidBlacklist) { CHECK(bssid.size() == sizeof(legacy_hal::mac_addr)); memcpy(legacy_config->blacklist_bssid[i++], bssid.data(), bssid.size()); } legacy_config->num_whitelist_ssid = hidl_config.ssidWhitelist.size(); i = 0; for (const auto& ssid : hidl_config.ssidWhitelist) { CHECK(ssid.size() <= sizeof(legacy_hal::ssid_t::ssid_str)); legacy_config->whitelist_ssid[i].length = ssid.size(); memcpy(legacy_config->whitelist_ssid[i].ssid_str, ssid.data(), ssid.size()); i++; } return true; } legacy_hal::fw_roaming_state_t convertHidlRoamingStateToLegacy( StaRoamingState state) { switch (state) { case StaRoamingState::ENABLED: return legacy_hal::ROAMING_ENABLE; case StaRoamingState::DISABLED: return legacy_hal::ROAMING_DISABLE; }; CHECK(false); } legacy_hal::NanPublishType convertHidlNanPublishTypeToLegacy( NanPublishType type) { switch (type) { Loading
wifi/1.0/default/hidl_struct_util.h +8 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,14 @@ bool convertLegacyVectorOfCachedGscanResultsToHidl( bool convertLegacyLinkLayerStatsToHidl( const legacy_hal::LinkLayerStats& legacy_stats, StaLinkLayerStats* hidl_stats); bool convertLegacyRoamingCapabilitiesToHidl( const legacy_hal::wifi_roaming_capabilities& legacy_caps, StaRoamingCapabilities* hidl_caps); bool convertHidlRoamingConfigToLegacy( const StaRoamingConfig& hidl_config, legacy_hal::wifi_roaming_config* legacy_config); legacy_hal::fw_roaming_state_t convertHidlRoamingStateToLegacy( StaRoamingState state); bool convertLegacyVectorOfDebugTxPacketFateToHidl( const std::vector<legacy_hal::wifi_tx_report>& legacy_fates, std::vector<WifiDebugTxPacketFateReport>* hidl_fates); Loading
wifi/1.0/default/wifi_legacy_hal.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -613,6 +613,25 @@ wifi_error WifiLegacyHal::stopRssiMonitoring(wifi_request_id id) { return status; } std::pair<wifi_error, wifi_roaming_capabilities> WifiLegacyHal::getRoamingCapabilities() { wifi_roaming_capabilities caps; wifi_error status = global_func_table_.wifi_get_roaming_capabilities( wlan_interface_handle_, &caps); return {status, caps}; } wifi_error WifiLegacyHal::enableFirmwareRoaming(fw_roaming_state_t state) { return global_func_table_.wifi_enable_firmware_roaming(wlan_interface_handle_, state); } wifi_error WifiLegacyHal::configureRoaming(const wifi_roaming_config& config) { wifi_roaming_config config_internal = config; return global_func_table_.wifi_configure_roaming(wlan_interface_handle_, &config_internal); } std::pair<wifi_error, uint32_t> WifiLegacyHal::getLoggerSupportedFeatureSet() { uint32_t supported_features; wifi_error status = global_func_table_.wifi_get_logger_supported_feature_set( Loading