ieee80211_b...te_ema_index(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ieee80211_beacon_get_template_ema_index(9) πŸ’–

okay bestie, sit down, grab a strawberry drink πŸ“ β€” this one is from the Kernel API Manual and its whole personality is "give me one beacon out of the EMA set pleeeease". Let's go. ✨


🌸 NAME 🌸

ieee80211_beacon_get_template_ema_index β€” EMA beacon template generation. that's it, that's the vibe. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

struct sk_buff * ieee80211_beacon_get_template_ema_index (struct
ieee80211_hw *hw , struct ieee80211_vif *vif , struct
ieee80211_mutable_offsets *offs , unsigned int link_id , u8 ema_index );

like, it returns a struct sk_buff * and takes five things. five. count 'em. πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” a pointer you got from ieee80211_alloc_hw. yes, that one. 🫢
  • vif β€” your struct ieee80211_vif pointer, the one that came from the add_interface callback.
  • offs β€” a struct ieee80211_mutable_offsets pointer to a struct that's gonna receive the offsets that the driver may update. it's the little mailbox where the offsets get dropped off. πŸ“¬
  • link_id β€” the link id that this beacon belongs to (or 0 for a non-MLD AP). no link? just say 0, it's fine. πŸ”₯
  • ema_index β€” the index of the beacon in the EMA set. that's the whole point of this function tbh. πŸ‘‘

⭐ DESCRIPTION ⭐

so this function follows the exact same rules as ieee80211_beacon_get_template (same rules, same energy, no cap)…

…BUT πŸ’€ it returns a beacon template which includes the multiple BSSID element at the requested index. that's the flex. that's the whole reason it exists. main character behavior fr fr.


🌈 RETURN 🌈

The beacon template. 🎁

and if you get NULL back? that is not an error bestie, that literally indicates the end of EMA templates. it's the signal to stop asking. periodt. πŸ›‘


πŸ‘‘ SEE ALSO πŸ‘‘

okay so this list is long β€” like, "my playlist has 300 songs and I know every word" long. but every single one of these is iconic in its own way, so here we go, no skipping, no summarizing, we do not do that here πŸ’œ:

The kernel file is ./include/net/mac80211.h, and from there you also have:

like… go read them. all of them. you'll be smarter and hotter for it. 🧚✨


ngl the only thing you really have to remember: NULL from this function means "end of EMA templates", not "oops". don't go chasing ghosts. πŸ™ˆ

and that's the page bestie!! πŸ’… this came out of ./include/net, dated October 2026, page ieee80211_beacon_get_template_ema_index(9) β€” go slay your beacons, ily, bye πŸ«ΆπŸ’–πŸŒˆ

πŸ“¦ where this page comes from