diff --git a/src/adapter.c b/src/adapter.c
index 5fe3010..2066140 100644
--- a/src/adapter.c
+++ b/src/adapter.c
g_free(adapter->oob_handler);
adapter->oob_handler = NULL;
}
+
+void btd_adapter_for_each_device(struct btd_adapter *adapter,
+ void (*cb)(struct btd_device *device, void *data),
+ void *data)
+{
+ g_slist_foreach(adapter->devices, (GFunc) cb, data);
+}
diff --git a/src/adapter.h b/src/adapter.h
index bde76b2..a192a71 100644
--- a/src/adapter.h
+++ b/src/adapter.h
gboolean btd_adapter_check_oob_handler(struct btd_adapter *adapter);
void adapter_store_cached_name(const bdaddr_t *local, const bdaddr_t *peer,
const char *name);
+
+void btd_adapter_for_each_device(struct btd_adapter *adapter,
+ void (*cb)(struct btd_device *device, void *data),
+ void *data);