From a99ad5dc0877cfee76c7a07cef5835760d7a404f Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 5 Jun 2019 14:18:37 +0200 Subject: gsupplicant: Add support for setting BSS expiration age --- gsupplicant/gsupplicant.h | 3 +++ gsupplicant/supplicant.c | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) (limited to 'gsupplicant') diff --git a/gsupplicant/gsupplicant.h b/gsupplicant/gsupplicant.h index bfb52db7..7935c3a6 100644 --- a/gsupplicant/gsupplicant.h +++ b/gsupplicant/gsupplicant.h @@ -268,6 +268,9 @@ int g_supplicant_interface_disconnect(GSupplicantInterface *interface, GSupplicantInterfaceCallback callback, void *user_data); +int g_supplicant_interface_set_bss_expiration_age(GSupplicantInterface *interface, + unsigned int bss_expiration_age); + int g_supplicant_interface_set_apscan(GSupplicantInterface *interface, unsigned int ap_scan); diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 6052f7b6..f56b595f 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -981,6 +981,24 @@ static void interface_capability(const char *key, DBusMessageIter *iter, key, dbus_message_iter_get_arg_type(iter)); } +static void set_bss_expiration_age(DBusMessageIter *iter, void *user_data) +{ + unsigned int bss_expiration_age = GPOINTER_TO_UINT(user_data); + + dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, + &bss_expiration_age); +} + +int g_supplicant_interface_set_bss_expiration_age(GSupplicantInterface *interface, + unsigned int bss_expiration_age) +{ + return supplicant_dbus_property_set(interface->path, + SUPPLICANT_INTERFACE ".Interface", + "BSSExpireAge", DBUS_TYPE_UINT32_AS_STRING, + set_bss_expiration_age, NULL, + GUINT_TO_POINTER(bss_expiration_age), NULL); +} + struct set_apscan_data { unsigned int ap_scan; -- cgit v1.2.1