]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wifi_display: Add a utility function to get the sub-elements as IEs
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Mon, 15 Sep 2014 05:04:29 +0000 (08:04 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 28 Sep 2014 16:22:23 +0000 (19:22 +0300)
This will be useful for DBus API to expose current WFD configuration.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
wpa_supplicant/wifi_display.c
wpa_supplicant/wifi_display.h

index b6f9236380fe60c7f46e69204a33ebc3bbdcdd42..80c4e13aca904240b078c3315183565d622c32bb 100644 (file)
@@ -36,6 +36,34 @@ void wifi_display_deinit(struct wpa_global *global)
 }
 
 
+struct wpabuf * wifi_display_get_wfd_ie(struct wpa_global *global)
+{
+       struct wpabuf *ie;
+       size_t len;
+       int i;
+
+       if (global->p2p == NULL)
+               return NULL;
+
+       len = 0;
+       for (i = 0; i < MAX_WFD_SUBELEMS; i++) {
+               if (global->wfd_subelem[i])
+                       len += wpabuf_len(global->wfd_subelem[i]);
+       }
+
+       ie = wpabuf_alloc(len);
+       if (ie == NULL)
+               return NULL;
+
+       for (i = 0; i < MAX_WFD_SUBELEMS; i++) {
+               if (global->wfd_subelem[i])
+                       wpabuf_put_buf(ie, global->wfd_subelem[i]);
+       }
+
+       return ie;
+}
+
+
 static int wifi_display_update_wfd_ie(struct wpa_global *global)
 {
        struct wpabuf *ie, *buf;
index 755481755a39aa07362fe40db92b58375546d736..67d8bc1affd0f56acea1c1bc5e5957f65bb0fe1a 100644 (file)
@@ -13,6 +13,7 @@
 int wifi_display_init(struct wpa_global *global);
 void wifi_display_deinit(struct wpa_global *global);
 void wifi_display_enable(struct wpa_global *global, int enabled);
+struct wpabuf *wifi_display_get_wfd_ie(struct wpa_global *global);
 int wifi_display_subelem_set(struct wpa_global *global, char *cmd);
 int wifi_display_subelem_get(struct wpa_global *global, char *cmd,
                             char *buf, size_t buflen);