[RFC 46/56] NAN: Add an API to get a peer device capabilities
Andrei Otcheretianski
andrei.otcheretianski at intel.com
Sun Dec 7 03:18:55 PST 2025
From: Ilan Peer <ilan.peer at intel.com>
Signed-off-by: Ilan Peer <ilan.peer at intel.com>
---
src/nan/nan.c | 26 ++++++++++++++++++++++++++
src/nan/nan.h | 4 ++++
2 files changed, 30 insertions(+)
diff --git a/src/nan/nan.c b/src/nan/nan.c
index 4e3463a12d..6cd6c4c595 100644
--- a/src/nan/nan.c
+++ b/src/nan/nan.c
@@ -1671,3 +1671,29 @@ void nan_ndp_terminated(struct nan_data *nan, struct nan_peer *peer,
if (dl_list_empty(&peer->ndps) && !peer->ndp_setup.ndp)
nan_ndl_reset(nan, peer);
}
+
+
+int nan_peer_get_device_capabilities(struct nan_data *nan, const u8 *addr,
+ u8 map_id,
+ struct nan_device_capabilities *capa)
+{
+ struct nan_dev_capa_entry *cur, *next;
+ struct nan_peer *peer;
+
+ if (!nan || !capa)
+ return -1;
+
+ peer = nan_get_peer(nan, addr);
+ if (!peer)
+ return -1;
+
+ dl_list_for_each_safe(cur, next, &peer->info.dev_capa,
+ struct nan_dev_capa_entry, list) {
+ if (cur->map_id == map_id) {
+ *capa = cur->capa;
+ return 0;
+ }
+ }
+
+ return -1;
+}
diff --git a/src/nan/nan.h b/src/nan/nan.h
index 017ded8d1a..15da8a5d36 100644
--- a/src/nan/nan.h
+++ b/src/nan/nan.h
@@ -447,4 +447,8 @@ int nan_action_rx(struct nan_data *nan, const struct ieee80211_mgmt *mgmt,
int nan_tx_status(struct nan_data *nan, const u8 *dst, const u8 *data,
size_t data_len, u8 acked);
int nan_handle_ndp_setup(struct nan_data *nan, struct nan_ndp_params *params);
+
+int nan_peer_get_device_capabilities(struct nan_data *nan, const u8 *addr,
+ u8 map_id,
+ struct nan_device_capabilities *capa);
#endif /* NAN_H */
--
2.49.0
More information about the Hostap
mailing list