ENUM CFG80211_NAN_CONF_CHANGES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

enum cfg80211_nan_conf_changes β€” okay so bestie, this is the enum that literally tells you which fields got changed in your NAN configuration ✨ (yes, NAN as in Neighbor Awareness Networking, we love a networking moment πŸ’…)

And hey, before we go anywhere β€” this whole page lives in the Kernel API Manual, so jot that down, it's giving very much "official kernel business" energy πŸ‘‘


✨ SYNOPSIS ✨

Lowkey here's the whole shape of it, and yes I'm copying it exactly because kernel headers do NOT play about spelling 🫢

enum cfg80211_nan_conf_changes {
    CFG80211_NAN_CONF_CHANGED_PREF ,
    CFG80211_NAN_CONF_CHANGED_BANDS ,
    CFG80211_NAN_CONF_CHANGED_CONFIG

};

Like, that's it, that's the enum β€” three little constants and a whole lot of attitude πŸ¦‹


πŸŽ€ CONSTANTS πŸŽ€

Bestie, these are the three vibes this enum can throw at you, and honestly each one is a different flavor of "something moved" πŸ“

  • CFG80211_NAN_CONF_CHANGED_PREF β€” the master preference changed, periodt. That's the whole message, no notes πŸ’…
  • CFG80211_NAN_CONF_CHANGED_BANDS β€” the operating bands changed. Bands! Switching it up! Iconic of them honestly 🌈
  • CFG80211_NAN_CONF_CHANGED_CONFIG β€” okay this one's the main character, so listen up πŸ‘‘ When this flag is set, it means some additional attribute(s) have been changed β€” and by "additional" we mean other than master_pref and bands, iykyk πŸ’œ In that case, all the attributes that didn't change get properly configured back to their previous values. And the good news? The driver doesn't need to store any previous configuration besides master_pref and bands β€” so it's not out here hoarding old state, we love a low-maintenance situation 😌✨

Fr fr though: that last bit about the driver only needing to remember master_pref and bands is genuinely the key takeaway here, so don't let the cute font distract you from it πŸ’€

✨ SEE ALSO ✨

okay so this is the part where the manpage just... dumps the entire extended friend group on you. no cap, it's a LOT. But it's all stuff you'll actually want to know, so let's do a roll call πŸ’–

First up, the source file itself:

  • ./include/net/cfg80211.h

Then the whole crew, in the exact order they show up:

see, that's the caps-and-bands clique, they roll deep πŸ’…


Then we get into the config side of things:

the way this list just refuses to end 😭 iconic behavior honestly


Scanning era, let's go πŸ¦‹

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

NAN besties rise up πŸŽ€ (yes, this is the section your page actually lives in, so like... hi, you're home)

okay the wiphy work-queue family is literally the "we're all named the same thing" squad and I respect the commitment πŸ’€


Utility functions, aka the lil helpers that fix everything 🌸


Data path helpers β€” the ones that actually move your packets around 🫢


Regulatory enforcement infrastructure πŸ“‹ (the vibes police, but for radio)


And then the notification / event gang, which is the longest clique ever, no exaggeration 😭


Final stretch, we're so close, stay with me bestie 🧚✨

annnnd that's the whole list, fr fr 🌈 you made it, I'm proud of you, and there's still more page coming so don't go anywhere πŸ’œ

okay bestie, part three, final stretch β€” the rest of the guest list, and bestie it is a long guest list πŸ’… no cap, this page knows everyone.


πŸ“‘ regulatory, channel-switch & operating-class math

πŸ› οΈ devices, events & IE parsing

πŸ”— combos, channels & stopping stuff

✨ features, NAN & off-channel drama

πŸ¦‹ the final boss list

ngl bestie that's the whole squad β€” every single reference checked off, nothing dropped, no notes πŸ”₯

and that's a wrap on this whole page, bestie πŸ’– this came out of ./include/net, dated October 2026, and it's the enum cfg8021...conf_changes(9) page β€” go forth, configure your beaconing, and slay βœ¨πŸ‘‘

πŸ“¦ where this page comes from