STRUCT CFG80211_PMK_CONF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct cfg80211_pmk_conf(9) β€” Kernel API Manual πŸ’–

okay bestie, buckle up, because this is the section 9 (kernel API) page for struct cfg80211_pmk_conf, and it's literally the PMK configuration moment. no cap. πŸŽ€


✨ NAME ✨

struct cfg80211_pmk_conf β€” PMK configuration

like, that's it, that's the whole vibe check. it configures your PMK. slay. πŸ’…


🌸 SYNOPSIS 🌸

this is the whole struct, in all its glory, copied exactly because we do NOT play with code:

struct cfg80211_pmk_conf {
    const u8 *aa;
    u8 pmk_len;
    const u8 *pmk;
    const u8 *pmk_r0_name;
 };

four fields. four. that's the whole main character. πŸ’œ


πŸ¦‹ Members πŸ¦‹

okay so THIS is the part you actually need, bestie β€” every single field, no skips:

  • aa β€” the authenticator address. that's it, that's the address of the thing doing the authenticating. iconic. πŸ”₯
  • pmk_len β€” the PMK length, in bytes. a u8, so it's a smol number, and it's telling you how big the PMK is. ⭐
  • pmk β€” the PMK material itself. the actual goods. the whole point. 🫢
  • pmk_r0_name β€” the PMK-R0 Name. sets to NULL when it's not applicable (i.e., the PMK is not PMK-R0, so don't come for it). and listen β€” when pmk_r0_name is not NULL, the pmk field holds PMK-R0. so those two are locked in together, iykyk. πŸ”’βœ¨
fr fr, that pmk_r0_name/pmk relationship is the one detail everybody forgets, so like… don't be that person. πŸ’€

more coming, bestie β€” don't go anywhere 🧚

πŸ”— SEE ALSO πŸ”—

okay so first thing: Kernel file ./include/net/cfg80211.h β€” that's the actual file bestie, everything below lives in there. And the guest list for this page is long, like "who invited all these people" long πŸ’€ but we're getting through it together, no skipping, no cap.


ok now the actions girlies, this is where stuff actually happens:


and it just. keeps. going. πŸ™ˆ

  • enum survey_info_flags(9)
  • struct survey_info(9)
  • struct cfg80211_crypto_settings(9)
  • struct cfg80211_mbssid_config(9)
  • struct cfg80211_mbssid_elems(9)
  • struct cfg80211_rnr_elems(9)
  • struct cfg80211_beacon_data(9)
  • struct cfg80211_acl_data(9)
  • struct cfg80211_fils_discovery(9)
  • struct cfg80211_unsol_bcast_probe_resp(9)
  • struct cfg80211_s1g_short_beacon(9)
  • struct cfg80211_ap_settings(9)
  • struct cfg80211_ap_update(9)
  • struct cfg80211_csa_settings(9)
  • struct cfg80211_color_change_settings(9)
  • struct iface_combination_params(9)
  • enum station_parameters_apply_mask(9)
  • struct sta_txpwr(9)
  • struct link_station_parameters(9)
  • struct link_station_del_parameters(9)
  • struct cfg80211_ttlm_params(9)
  • struct station_parameters(9)
  • struct station_del_parameters(9)
  • enum cfg80211_station_type(9)
  • cfg80211_check_station_change(9)
  • enum rate_info_flags(9)
  • enum rate_info_bw(9)
  • struct rate_info(9)
  • enum bss_param_flags(9)
  • struct sta_bss_parameters(9)
  • struct cfg80211_txq_stats(9)
  • struct cfg80211_tid_stats(9)
  • struct link_station_info(9)
  • struct station_info(9)
  • struct cfg80211_sar_sub_specs(9)
  • struct cfg80211_sar_specs(9)
  • struct cfg80211_sar_freq_ranges(9)
  • struct cfg80211_sar_capa(9)
  • cfg80211_get_station(9)
  • enum monitor_flags(9)
  • enum mpath_info_flags(9)
  • struct mpath_info(9)
  • enum wiphy_bss_param_flags(9)
  • struct bss_parameters(9)
  • struct mesh_config(9)
  • struct mesh_setup(9)
  • struct ocb_setup(9)
  • struct ieee80211_txq_params(9)

weeny scan hours, this cluster is a whole friend group:

  • 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 πŸ“‘πŸ’…

  • Neighbor Awareness Networking (NAN)(9)
  • struct cfg80211_nan_band_config(9)
  • struct cfg80211_nan_conf(9)
  • struct cfg80211_nan_channel(9)
  • struct cfg80211_nan_local_sched(9)
  • struct cfg80211_nan_peer_map(9)
  • struct cfg80211_nan_peer_sched(9)
  • enum cfg80211_nan_conf_changes(9)
  • struct cfg80211_nan_func_filter(9)
  • struct cfg80211_nan_func(9)

ok take a breath, we're not even halfway 😭


utility girlies, the ones you actually call:


packets packets packets πŸ“¦


the regulatory section, aka the strict parent of the whole page 🚨


back to the notification squad πŸ””



brand deal hours 🀝


dress rehearsal vibes 🎭


and the last stretch, we're so close bestie 🫢

okay bestie, the SEE ALSO section on this one is long β€” it's literally the entire friend group πŸ’… so here's the whole squad, one by one, no skips, no cuts, everybody gets named:

  • cfg80211_reg_check_beaconing(9)
  • cfg80211_reg_can_beacon(9)
  • cfg80211_reg_can_beacon_relax(9)
  • cfg80211_ch_switch_notify(9)
  • cfg80211_ch_switch_started_notify(9)
  • ieee80211_operating_class_to_band(9)
  • ieee80211_operating_class_to_chandef(9)
  • ieee80211_chandef_to_operating_class(9)
  • ieee80211_chandef_to_khz(9)
  • cfg80211_tdls_oper_request(9)
  • cfg80211_calculate_bitrate(9)
  • cfg80211_unregister_wdev(9)
  • cfg80211_register_netdevice(9)
  • cfg80211_unregister_netdevice(9)
  • struct cfg80211_ft_event_params(9)
  • cfg80211_ft_event(9)
  • cfg80211_get_p2p_attr(9)
  • ieee80211_ie_split_ric(9)
  • ieee80211_ie_split(9)
  • ieee80211_fragment_element(9)
  • cfg80211_report_wowlan_wakeup(9)
  • cfg80211_crit_proto_stopped(9)
  • ieee80211_get_num_supported_channels(9)
  • cfg80211_check_combinations(9)
  • cfg80211_iter_combinations(9)
  • cfg80211_get_radio_idx_by_chan(9)
  • cfg80211_stop_link(9)
  • cfg80211_stop_iface(9)
  • cfg80211_shutdown_all_interfaces(9)
  • wiphy_ext_feature_set(9)
  • wiphy_ext_feature_isset(9)
  • cfg80211_free_nan_func(9)
  • struct cfg80211_nan_match_params(9)
  • cfg80211_nan_match(9)
  • cfg80211_nan_func_terminated(9)
  • cfg80211_nan_sched_update_done(9)
  • cfg80211_external_auth_request(9)
  • cfg80211_pmsr_report(9)
  • cfg80211_pmsr_complete(9)
  • cfg80211_iftype_allowed(9)
  • cfg80211_assoc_comeback(9)
  • cfg80211_update_owe_info_event(9)
  • cfg80211_bss_flush(9)
  • cfg80211_bss_color_notify(9)
  • cfg80211_obss_color_collision_notify(9)
  • cfg80211_color_change_started_notify(9)
  • cfg80211_color_change_aborted_notify(9)
  • cfg80211_color_change_notify(9)
  • cfg80211_6ghz_power_type(9)
  • cfg80211_links_removed(9)
  • struct cfg80211_mlo_reconf_done_data(9)
  • cfg80211_mlo_reconf_add_done(9)
  • cfg80211_schedule_channels_check(9)
  • cfg80211_epcs_changed(9)
  • cfg80211_next_nan_dw_notif(9)
  • cfg80211_nan_cluster_joined(9)
  • cfg80211_nan_ulw_update(9)
  • cfg80211_nan_channel_evac(9)
  • wiphy_locked_debugfs_read(9)
  • wiphy_locked_debugfs_write(9)
  • cfg80211_s1g_get_start_freq_khz(9)
  • cfg80211_s1g_get_end_freq_khz(9)
  • cfg80211_s1g_get_primary_sibling(9)
  • cfg80211_incumbent_signal_notify(9)

like… sixty-four cross-refs, that's not a SEE ALSO that's a whole group chat 😭 and every single one of them is a real page you can go read, so go read them, i'm literally begging 🫢


and that's a wrap on this one, bestie!! πŸŽ€ this lil page lives in the source tree at ./include/net, it's the October 2026 edition, and it's filed under struct cfg80211_pmk_conf(9) β€” go forth and configure your PMK like the main character you are πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from