STRUCT BRCMF_GSCAN_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct brcmf_gscan_config(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual entry for struct brcmf_gscan_config β€” yes it's a kernel struct, yes it's from the Broadcom fam, and yes we're gonna get through it together. it's giving "niche but iconic" and honestly? we love that for us.


✨ NAME ✨

struct brcmf_gscan_config β€” configuration data for gscan. that's it, that's the whole vibe: it's the config blob. no cap. 🫢


🌸 SYNOPSIS 🌸

struct brcmf_gscan_config {
    __le16 version;
    u8 flags;
    u8 buffer_threshold;
    u8 swc_nbssid_threshold;
    u8 swc_rssi_window_size;
    u8 count_of_channel_buckets;
    u8 retry_threshold;
    __le16 lost_ap_window;
    struct brcmf_gscan_bucket_config bucket[];
};

look at her. a whole little struct. the bucket[] at the end is a flexible array member btw β€” she's flexible, she's mysterious, she contains channels. main character energy fr fr. ✨


πŸŽ€ Members πŸŽ€

time for the member-by-member breakdown, aka the part where we meet each field like it's a group chat introduction. πŸ’–

  • version β€” the version of the api, and it has to match the firmware. think of it as the firmware's vibe check β€” if the versions don't line up, it's not gonna slay.
  • flags β€” flags, governed by enum brcmf_gscan_cfg_flags. iykyk.
  • buffer_threshold β€” the percentage threshold of the buffer that has to be hit before an event gets generated. lowkey a "how full before we freak out" situation.
  • swc_nbssid_threshold β€” the number of BSSIDs with significant change that will generate an event. so like, a headcount of BSSIDs going through it before we notify anyone. πŸ‘‘
  • swc_rssi_window_size β€” the size of the rssi cache buffer (max=8). that's the whole limit, bestie β€” 8. do not exceed. πŸ™ˆ
  • count_of_channel_buckets β€” the number of array members in bucket. simple, clean, does what it says on the tin.
  • retry_threshold β€” !unknown!. literally that's all we've got. no further lore. 😭
  • lost_ap_window β€” also !unknown!. matching mystery energy, we stan a consistent duo. πŸ’€
  • bucket β€” array of channel buckets. it's the flex array, it's the payload, it's her. 🌈

πŸ¦‹ SEE ALSO πŸ¦‹

where to go next, bestie β€” the lore is all here:

  • Kernel file: ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h

and then the whole extended friend group, all in that same file family β€” say hi to every one of them, don't skip a single name:

  • struct brcmf_wsec_pmk_le(9)
  • struct brcmf_wsec_sae_pwd_le(9)
  • struct brcmf_fil_wowl_pattern_le(9)
  • struct brcmf_fil_country_le(9)
  • struct brcmf_rev_info_le(9)
  • struct brcmf_wlc_version_le(9)
  • struct brcmf_assoclist_le(9)
  • struct brcmf_rssi_be(9)
  • struct brcmf_wowl_wakeind_le(9)
  • struct brcmf_pmksa(9)
  • struct brcmf_pmksa_v2(9)
  • struct brcmf_pmksa_v3(9)
  • struct brcmf_pmk_list_le(9)
  • struct brcmf_pmk_list_v2_le(9)
  • struct brcmf_pmk_op_v3_le(9)
  • struct brcmf_pno_param_le(9)
  • struct brcmf_pno_config_le(9)
  • struct brcmf_pno_net_param_le(9)
  • struct brcmf_pno_net_info_le(9)
  • struct brcmf_pno_scanresults_le(9)
  • struct brcmf_pno_macaddr_le(9)
  • struct brcmf_dload_data_le(9)
  • struct brcmf_pno_bssid_le(9)
  • struct brcmf_pktcnt_le(9)
  • struct brcmf_gtk_keyinfo_le(9)
  • struct brcmf_gscan_bucket_config(9)
  • enum brcmf_gscan_cfg_flags(9)
  • struct brcmf_mkeep_alive_pkt_le(9)
ok and just so we're clear β€” that's the full list, every single one, no edits, no cuts. the manpage said it, we said it. periodt. πŸ’…

and that's the page!! πŸŽ€ source/version line says ./drivers/net/wireless/broadco... and the date is October 2026 β€” so like, future-dated manual page, very mysterious, very cunty, we love her. go forth and configure your gscan, bestie, you're gonna ate. πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from