cfg80211_get_bss(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_get_bss β€” get a BSS reference

okay so this is from the Kernel API Manual, section 9 (cfg80211_get_bss(9)), and bestie… it's literally the function that hands you a BSS reference. that's the whole vibe. grab a BSS, get a refcount, go live your life ✨


✨ SYNOPSIS ✨

struct cfg80211_bss * cfg80211_get_bss (struct wiphy *wiphy , struct
ieee80211_channel *channel , const u8 *bssid , const u8 *ssid , size_t
ssid_len , enum ieee80211_bss_type bss_type , enum ieee80211_privacy
privacy );

like, seven whole arguments, she's high-maintenance but she delivers 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • wiphy β€” the wiphy this BSS struct belongs to. yes, you gotta tell her which family she's from 🌸
  • channel β€” the channel to search on, or NULL. give her a channel and she'll stay in her lane; give her NULL and she's searching everywhere πŸ‘€
  • bssid β€” the desired BSSID, or NULL. you want a specific one? drop it here πŸ’…
  • ssid β€” the desired SSID, or NULL. network name match-up time πŸ¦‹
  • ssid_len β€” length of the SSID, or 0. don't forget her, she's literally the size of the thing you just passed 😭
  • bss_type β€” type of BSS, see enum ieee80211_bss_type. go read that enum, iykyk πŸ“–
  • privacy β€” privacy filter, see enum ieee80211_privacy. another enum, another slay πŸ”₯

πŸ’– DESCRIPTION πŸ’–

so like… this version implies regular usage β€” NL80211_BSS_USE_FOR_NORMAL. that's it, that's the whole note. no cap. it's giving "normal main character energy" and we respect it πŸ‘‘


⭐ RETURN ⭐

  • Reference-counted BSS on success πŸŽ‰ like okayyy, you got her, but remember she's refcounted so handle her with care, bestie
  • NULL on error πŸ’€ yeah. sometimes it just doesn't work out

ngl the refcount part is the whole point β€” you get a reference, so somebody's gotta put it back down eventually πŸ™ˆ (this page doesn't tell you where β€” that's a whole other manpage's problem)

🌸 SEE ALSO 🌸

okay so this is the cross-reference section and bestie… it is long. like, unreasonably long. it's basically the entire cfg80211 extended family showing up to the group chat at once πŸ’€ every single name from the original is here in the exact same order, so you can scroll, ctrl-F, or just vibe-check whichever one you need.

first up, the source of truth itself:

  • ./include/net/cfg80211.h β€” the kernel file, i.e. where all of this actually lives ✨

and then the family:


okay breathing break, we're like 8% through 😭 next up the actions and configuration crew, they're a lot but they ate:


πŸŽ€ scanning and BSS list handling, aka our section, aka the one this whole page is about:

  • 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 girlies rise (Neighbor Awareness Networking, she's her own whole world):


🧚 utility functions, the little helpers that lowkey carry everything:


🌺 data path helpers β€” packets go brrr:


πŸ‘‘ regulatory enforcement infrastructure (the vibes police, respectfully):


okay back to the scanning-adjacent besties, and then the notify crowd, deep breath 🫢:


⭐ RFkill integration, vendor commands and test mode β€” three little mini-fams:


πŸ’– and the last stretch, connect/roam/notify girlies, going strong:

and that's every single cross-ref, no cap β€” three hundred and change of them, and not one got left behind πŸ˜­πŸ’œ

…okay and the rest of the extended fam, because this SEE ALSO list is long and honestly kind of iconic. Everyone here is a (9) page, so like β€” same section, same family group chat. Skim it, bookmark it, whatever πŸ’…


and that's the whole page, bestie, you made it πŸŽ‰ fr fr go touch some grass, or like… go read the kernel source instead.

this one comes from ./include/net, dated October 2026, and it's cfg80211_get_bss(9) β€” like that's literally her whole signature line 🌸 go off, queen πŸ’–

πŸ“¦ where this page comes from