summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2014-10-22 12:30:59 +0300
committerJohannes Berg <johannes.berg@intel.com>2014-10-23 20:40:03 +0200
commit0fc1e0495fd6e261e75acdbe66b53e769e5ffb81 (patch)
tree01f0e5c9cb8b8c834224ca10161d152f4f5a8307 /include/net
parent2bad7748b332d7218377287248eb66c25de033b2 (diff)
downloadlinux-0fc1e0495fd6e261e75acdbe66b53e769e5ffb81.tar.gz
linux-0fc1e0495fd6e261e75acdbe66b53e769e5ffb81.tar.bz2
linux-0fc1e0495fd6e261e75acdbe66b53e769e5ffb81.zip
mac80211: expose API allowing station iteration
Allow drivers to iterate all stations currently uploaded to them. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/mac80211.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 99dd3ce7484e..2b7426a90ff0 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4193,6 +4193,22 @@ void ieee80211_iterate_active_interfaces_rtnl(struct ieee80211_hw *hw,
void *data);
/**
+ * ieee80211_iterate_stations_atomic - iterate stations
+ *
+ * This function iterates over all stations associated with a given
+ * hardware that are currently uploaded to the driver and calls the callback
+ * function for them.
+ * This function requires the iterator callback function to be atomic,
+ *
+ * @hw: the hardware struct of which the interfaces should be iterated over
+ * @iterator: the iterator function to call, cannot sleep
+ * @data: first argument of the iterator function
+ */
+void ieee80211_iterate_stations_atomic(struct ieee80211_hw *hw,
+ void (*iterator)(void *data,
+ struct ieee80211_sta *sta),
+ void *data);
+/**
* ieee80211_queue_work - add work onto the mac80211 workqueue
*
* Drivers and mac80211 use this to add work onto the mac80211 workqueue.