mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
wifi: Add APF/feature-set wrappers in WifiLegacyHal am: 0a47c187b9
am: ed39ab0b55
Change-Id: I8d77d627ef9ee3c2e50764f5e730b716e536da7b
This commit is contained in:
@@ -143,7 +143,7 @@ std::pair<wifi_error, std::string> WifiLegacyHal::getDriverVersion() {
|
||||
buffer.fill(0);
|
||||
wifi_error status = global_func_table_.wifi_get_driver_version(
|
||||
wlan_interface_handle_, buffer.data(), buffer.size());
|
||||
return std::make_pair(status, buffer.data());
|
||||
return {status, buffer.data()};
|
||||
}
|
||||
|
||||
std::pair<wifi_error, std::string> WifiLegacyHal::getFirmwareVersion() {
|
||||
@@ -151,7 +151,7 @@ std::pair<wifi_error, std::string> WifiLegacyHal::getFirmwareVersion() {
|
||||
buffer.fill(0);
|
||||
wifi_error status = global_func_table_.wifi_get_firmware_version(
|
||||
wlan_interface_handle_, buffer.data(), buffer.size());
|
||||
return std::make_pair(status, buffer.data());
|
||||
return {status, buffer.data()};
|
||||
}
|
||||
|
||||
std::pair<wifi_error, std::vector<uint8_t>>
|
||||
@@ -166,7 +166,7 @@ WifiLegacyHal::requestDriverMemoryDump() {
|
||||
wifi_error status = global_func_table_.wifi_get_driver_memory_dump(
|
||||
wlan_interface_handle_, {onDriverMemoryDump});
|
||||
on_driver_memory_dump_internal_callback = nullptr;
|
||||
return std::make_pair(status, std::move(driver_dump));
|
||||
return {status, std::move(driver_dump)};
|
||||
}
|
||||
|
||||
std::pair<wifi_error, std::vector<uint8_t>>
|
||||
@@ -181,7 +181,29 @@ WifiLegacyHal::requestFirmwareMemoryDump() {
|
||||
wifi_error status = global_func_table_.wifi_get_firmware_memory_dump(
|
||||
wlan_interface_handle_, {onFirmwareMemoryDump});
|
||||
on_firmware_memory_dump_internal_callback = nullptr;
|
||||
return std::make_pair(status, std::move(firmware_dump));
|
||||
return {status, std::move(firmware_dump)};
|
||||
}
|
||||
|
||||
std::pair<wifi_error, uint32_t> WifiLegacyHal::getSupportedFeatureSet() {
|
||||
feature_set set;
|
||||
static_assert(sizeof(set) == sizeof(uint32_t),
|
||||
"Some features can not be represented in output");
|
||||
wifi_error status = global_func_table_.wifi_get_supported_feature_set(
|
||||
wlan_interface_handle_, &set);
|
||||
return {status, static_cast<uint32_t>(set)};
|
||||
}
|
||||
|
||||
std::pair<wifi_error, PacketFilterCapabilities>
|
||||
WifiLegacyHal::getPacketFilterCapabilities() {
|
||||
PacketFilterCapabilities caps;
|
||||
wifi_error status = global_func_table_.wifi_get_packet_filter_capabilities(
|
||||
wlan_interface_handle_, &caps.version, &caps.max_len);
|
||||
return {status, caps};
|
||||
}
|
||||
|
||||
wifi_error WifiLegacyHal::setPacketFilter(const std::vector<uint8_t>& program) {
|
||||
return global_func_table_.wifi_set_packet_filter(
|
||||
wlan_interface_handle_, program.data(), program.size());
|
||||
}
|
||||
|
||||
wifi_error WifiLegacyHal::retrieveWlanInterfaceHandle() {
|
||||
|
||||
@@ -33,6 +33,12 @@ namespace legacy_hal {
|
||||
// namespace.
|
||||
#include <hardware_legacy/wifi_hal.h>
|
||||
|
||||
// APF capabilities supported by the iface.
|
||||
struct PacketFilterCapabilities {
|
||||
uint32_t version;
|
||||
uint32_t max_len;
|
||||
};
|
||||
|
||||
/**
|
||||
* Class that encapsulates all legacy HAL interactions.
|
||||
* This class manages the lifetime of the event loop thread used by legacy HAL.
|
||||
@@ -55,6 +61,10 @@ class WifiLegacyHal {
|
||||
std::pair<wifi_error, std::string> getFirmwareVersion();
|
||||
std::pair<wifi_error, std::vector<uint8_t>> requestDriverMemoryDump();
|
||||
std::pair<wifi_error, std::vector<uint8_t>> requestFirmwareMemoryDump();
|
||||
std::pair<wifi_error, uint32_t> getSupportedFeatureSet();
|
||||
// APF functions.
|
||||
std::pair<wifi_error, PacketFilterCapabilities> getPacketFilterCapabilities();
|
||||
wifi_error setPacketFilter(const std::vector<uint8_t>& program);
|
||||
|
||||
private:
|
||||
// Retrieve the interface handle to be used for the "wlan" interface.
|
||||
|
||||
Reference in New Issue
Block a user