P2P: Add a utility function to run a method on every known peer
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Mon, 2 Jun 2014 14:42:07 +0000 (17:42 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 29 Jun 2014 14:27:27 +0000 (17:27 +0300)
This will be useful in wpa_supplicant part to signal if a peer got its
group changed.

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

index d0191e7..48f3aa6 100644 (file)
@@ -4494,6 +4494,19 @@ void p2p_err(struct p2p_data *p2p, const char *fmt, ...)
 }
 
 
+void p2p_loop_on_known_peers(struct p2p_data *p2p,
+                            void (*peer_callback)(struct p2p_peer_info *peer,
+                                                  void *user_data),
+                            void *user_data)
+{
+       struct p2p_device *dev, *n;
+
+       dl_list_for_each_safe(dev, n, &p2p->devices, struct p2p_device, list) {
+               peer_callback(&dev->info, user_data);
+       }
+}
+
+
 #ifdef CONFIG_WPS_NFC
 
 static struct wpabuf * p2p_build_nfc_handover(struct p2p_data *p2p,
index 3473450..16500a8 100644 (file)
@@ -1990,4 +1990,9 @@ void p2p_set_authorized_oob_dev_pw_id(struct p2p_data *p2p, u16 dev_pw_id,
 
 int p2p_set_passphrase_len(struct p2p_data *p2p, unsigned int len);
 
+void p2p_loop_on_known_peers(struct p2p_data *p2p,
+                            void (*peer_callback)(struct p2p_peer_info *peer,
+                                                  void *user_data),
+                            void *user_data);
+
 #endif /* P2P_H */