[PATCH 1/5] network: Add SignalStrength/Frequency properties to BSS interface
James Prestwood <[email protected]> Wed, 23 Apr 2025 09:54:54 -0400
| Newsgroups | dev.linux.lists.iwd |
|---|---|
| Message-ID | <[email protected]> |
This patch adds SignalStrength and Frequencies properties to the
BSS interface, which will provide more information for individual
BSS's.
---
src/network.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/src/network.c b/src/network.c
index 4602a110..2443d4c5 100644
--- a/src/network.c
+++ b/src/network.c
@@ -2194,10 +2194,39 @@ static bool network_bss_property_get_address(struct l_dbus *dbus,
return true;
}
+static bool network_bss_property_get_signal(struct l_dbus *dbus,
+ struct l_dbus_message *message,
+ struct l_dbus_message_builder *builder,
+ void *user_data)
+{
+ struct scan_bss *bss = user_data;
+ int16_t signal = bss->signal_strength / 100;
+
+ l_dbus_message_builder_append_basic(builder, 'n', &signal);
+
+ return true;
+}
+
+static bool network_bss_property_get_freq(struct l_dbus *dbus,
+ struct l_dbus_message *message,
+ struct l_dbus_message_builder *builder,
+ void *user_data)
+{
+ struct scan_bss *bss = user_data;
+
+ l_dbus_message_builder_append_basic(builder, 'u', &bss->frequency);
+
+ return true;
+}
+
static void setup_bss_interface(struct l_dbus_interface *interface)
{
l_dbus_interface_property(interface, "Address", 0, "s",
network_bss_property_get_address, NULL);
+ l_dbus_interface_property(interface, "SignalStrength", 0, "n",
+ network_bss_property_get_signal, NULL);
+ l_dbus_interface_property(interface, "Frequency", 0, "u",
+ network_bss_property_get_freq, NULL);
}
static int network_init(void)
--
2.34.1