[PATCH] Adding fields channel and frequency in interface capability properties on dbus

Avichal Agarwal avichal.a at samsung.com
Wed Dec 7 06:34:20 PST 2016


Signed-off-by: Avichal Agarwal <avichal.a at samsung.com>
Signed-off-by: Mayank Haarit <mayank.h at samsung.com>
---
 wpa_supplicant/ctrl_iface.c             |     4 +-
 wpa_supplicant/dbus/dbus_new_handlers.c |    21 +
 wpa_supplicant/wpa_supplicant_i.h       |     4 +
 4 files changed, 10159 insertions(+), 2 deletions(-)
 create mode 100644 wpa_supplicant/dbus/1

diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index a754943..5aa51fe 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -3846,7 +3846,7 @@ static int ctrl_iface_get_capability_modes(int res, char *strict,
 }
 
 
-static int ctrl_iface_get_capability_channels(struct wpa_supplicant *wpa_s,
+int ctrl_iface_get_capability_channels(struct wpa_supplicant *wpa_s,
 					      char *buf, size_t buflen)
 {
 	struct hostapd_channel_data *chnl;
@@ -3896,7 +3896,7 @@ static int ctrl_iface_get_capability_channels(struct wpa_supplicant *wpa_s,
 }
 
 
-static int ctrl_iface_get_capability_freq(struct wpa_supplicant *wpa_s,
+int ctrl_iface_get_capability_freq(struct wpa_supplicant *wpa_s,
 					  char *buf, size_t buflen)
 {
 	struct hostapd_channel_data *chnl;

diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c
index e11dd36..58d4e92 100644
--- a/wpa_supplicant/dbus/dbus_new_handlers.c
+++ b/wpa_supplicant/dbus/dbus_new_handlers.c
@@ -2642,6 +2642,27 @@ dbus_bool_t wpas_dbus_getter_capabilities(
 			goto nomem;
 	}
 
+	if (res >= 0) {
+		char buf[4096];
+		int len=4096;
+		if( ctrl_iface_get_capability_freq(wpa_s, buf, len))
+		{
+			if(!wpa_dbus_dict_append_string(&iter_dict, "Frequency", buf))
+				goto nomem;
+		}
+	}
+
+	if (res >= 0) {
+		char buf[4096];
+		int len=4096;
+		 if(ctrl_iface_get_capability_channels(wpa_s, buf, len))
+		 {
+			 if(!wpa_dbus_dict_append_string(&iter_dict, "Channels", buf))
+				 goto nomem;
+		 }
+
+		}
+
 	if (!wpa_dbus_dict_close_write(&variant_iter, &iter_dict) ||
 	    !dbus_message_iter_close_container(iter, &variant_iter))
 		goto nomem;
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index ec6917a..4f337db 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
@@ -1077,7 +1077,11 @@ struct wpa_supplicant {
 	struct os_reltime lci_time;
 };
 
+int ctrl_iface_get_capability_freq(struct wpa_supplicant *wpa_s,
+					  char *buf, size_t buflen);
 
+int ctrl_iface_get_capability_channels(struct wpa_supplicant *wpa_s,
+					      char *buf, size_t buflen);
 /* wpa_supplicant.c */
 void wpa_supplicant_apply_ht_overrides(
 	struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
-- 
2.7.4




More information about the Hostap mailing list