]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - src/p2p/p2p.c
WFD: Add WFD R2 Subelements
[thirdparty/hostap.git] / src / p2p / p2p.c
index 14d6279981afa14d82dc759980e238cfc0074e8a..77eda064bb8d4348825fe0ffa90c9f7828366451 100644 (file)
@@ -2993,6 +2993,7 @@ void p2p_deinit(struct p2p_data *p2p)
        wpabuf_free(p2p->wfd_dev_info);
        wpabuf_free(p2p->wfd_assoc_bssid);
        wpabuf_free(p2p->wfd_coupled_sink_info);
+       wpabuf_free(p2p->wfd_r2_dev_info);
 #endif /* CONFIG_WIFI_DISPLAY */
 
        eloop_cancel_timeout(p2p_scan_timeout, p2p, NULL);
@@ -5143,6 +5144,20 @@ int p2p_set_wfd_dev_info(struct p2p_data *p2p, const struct wpabuf *elem)
 }
 
 
+int p2p_set_wfd_r2_dev_info(struct p2p_data *p2p, const struct wpabuf *elem)
+{
+       wpabuf_free(p2p->wfd_r2_dev_info);
+       if (elem) {
+               p2p->wfd_r2_dev_info = wpabuf_dup(elem);
+               if (p2p->wfd_r2_dev_info == NULL)
+                       return -1;
+       } else
+               p2p->wfd_r2_dev_info = NULL;
+
+       return 0;
+}
+
+
 int p2p_set_wfd_assoc_bssid(struct p2p_data *p2p, const struct wpabuf *elem)
 {
        wpabuf_free(p2p->wfd_assoc_bssid);