STRUCT BRCMF_PMKSA_V3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct brcmf_pmksa_v3(9) β€” PMK Security Association

okay bestie so this is a page from the Kernel API Manual, and it's about struct brcmf_pmksa_v3 β€” literally the PMK Security Association struct. it's giving wireless-driver internals, it's giving "I read headers for fun", and honestly? obsessed. πŸŽ€


✨ NAME ✨

struct brcmf_pmksa_v3 β€” PMK Security Association

like, the whole vibe of the struct in four little words. slay. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of it, copied exactly, no cap:

struct brcmf_pmksa_v3 {
    u8 bssid[ETH_ALEN];
    u8 pmkid[WLAN_PMKID_LEN];
    u8 pmkid_len;
    u8 pmk[WLAN_PMK_LEN_SUITE_B_192];
    u8 pmk_len;
    __le16 fils_cache_id;
    u8 pad;
    struct brcmf_ssid8_le ssid;
    __le32 time_left;
 };

look at her. nine-ish fields of pure main character energy. πŸ”₯


🌸 Members 🌸

okay so let's go field by field, because every single one matters:

  • bssid β€” the AP's BSSID. that's the basic service set identifier, the AP's whole identity, her government name basically. πŸ‘‘
  • pmkid β€” the PMK ID. that's it, that's the field.
  • pmkid_len β€” the length of the PMK ID. yes bestie, a length for the ID. we love a self-describing struct.
  • pmk β€” PMK material for FILS key derivation. it's the actual crypto-ish material, okay, treat it with respect. ✨
  • pmk_len β€” length of PMK data. the number that tells you how much of pmk is real.
  • fils_cache_id β€” the FILS cache identifier. FILS said "I'll cache it" and this is the id of that cache. iconic. πŸ¦‹
  • pad β€” it's in the struct, it's padding-shaped, and the manpage literally gives it no description at all. so I'm not gonna invent one for you, ngl. it's just... there. πŸ™ˆ
  • ssid β€” the AP's SSID. the name you actually see in the wifi list, the one you click on at a cafΓ© and immediately regret.
  • time_left β€” remaining time until expiry. and the page is very specific here: 0 = expired, ~0 = no expiry. memorize that, it's a vibe check in numeric form. πŸ’€
🫢 reminder that pad has no documented meaning on this page β€” don't go assigning lore to it.

⭐ SEE ALSO ⭐

first up, the source of truth: the Kernel file ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h β€” that's where she lives. go say hi.

and the whole friend group, literally the entire brcmf fam, all of them, in order, because we do not skip people:

  • 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_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_gscan_config(9)
  • struct brcmf_mkeep_alive_pkt_le(9)

periodt. that's the list, all twenty-eight of them, nobody left on read. πŸ’–


and that's the page, bestie! 🧚 source/version line goes a little something like ./drivers/net/wireless/broadco... and the date stamp says October 2026, and the footer is still repping struct brcmf_pmksa_v3(9) β€” so yeah, that's the whole read. go forth and associate your PMKs responsibly. 🌈✨

πŸ“¦ where this page comes from