Loading wifi/1.0/default/wifi_legacy_hal.cpp +26 −4 Original line number Diff line number Diff line Loading @@ -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() { Loading @@ -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>> Loading @@ -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>> Loading @@ -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() { Loading wifi/1.0/default/wifi_legacy_hal.h +10 −0 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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. Loading Loading
wifi/1.0/default/wifi_legacy_hal.cpp +26 −4 Original line number Diff line number Diff line Loading @@ -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() { Loading @@ -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>> Loading @@ -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>> Loading @@ -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() { Loading
wifi/1.0/default/wifi_legacy_hal.h +10 −0 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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. Loading