ieee80211_i...tions_atomic(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ieee80211_iterate_stations_atomic πŸ’–

okay so bestie, this is a page from the Kernel API Manual (mac80211 land, section 9) and it's genuinely one of the shorter ones so we're gonna get through it together, hand in hand 🫢


✨ NAME ✨

ieee80211_iterate_stations_atomic β€” literally just iterate stations πŸ’… that's the whole thing. the name ate and left no crumbs.


🌸 SYNOPSIS 🌸

void ieee80211_iterate_stations_atomic (struct ieee80211_hw *hw , void
(*iterator)(void *data, struct ieee80211_sta *sta) , void *data );

look at her. three args, one function pointer, zero chill. πŸŽ€


πŸ¦‹ ARGUMENTS πŸ¦‹

  • hw β€” the hardware struct of which the interfaces should be iterated over. yeah, we're going over its interfaces. it's giving main character hardware energy πŸ‘‘
  • iterator β€” the iterator function to call. cannot sleep 😴🚫 not "shouldn't", cannot β€” like, do not. no cap, this is the whole vibe check of this function.
  • data β€” first argument of the iterator function. you hand it a thing, the callback gets that thing. that's the pipeline, bestie πŸ“

πŸ”₯ DESCRIPTION πŸ”₯

So here's the tea β˜•: 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.

Read that again β€” currently uploaded to the driver. Not the theoretical stations in the sky. The ones that are actually there right now. 🌈

And the big one: this function requires the iterator callback function to be atomic.

⚠️ lowkey important: atomic means atomic. your callback cannot sleep. if it tries to nap, that's not a vibe check failing, that's your kernel having a bad time πŸ’€

🧚 SEE ALSO 🧚

okay bestie this list is long long β€” like genuinely iconic levels of cross-referencing. but you asked, and I would never gatekeep. every single one, in order, no cap πŸ’œ

Kernel file ./include/net/mac80211.h


like… that's the whole friend group right there 😭 every single one showed up to the party πŸŽ‰


okay that's the page bestie!! πŸ’…βœ¨ this little gem lives in ./include/net and it's dated October 2026 β€” so yeah, fresh off the press, no cap πŸŽ€ go forth and iterate atomically, and remember: your callback does not sleep πŸ‘‘πŸ’–

πŸ“¦ where this page comes from