ENUM BSS_PARAM_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– enum bss_param_flags(9) πŸ’–

okay bestie, welcome to the Kernel API Manual β€” yes this is the enum bss_param_flags(9) page and yes it's a real one, buckle up πŸŽ€


✨ NAME ✨

enum bss_param_flags β€” the bitrate info flags πŸ¦‹

✨ SYNOPSIS ✨

enum bss_param_flags {
    BSS_PARAM_FLAGS_CTS_PROT ,
    BSS_PARAM_FLAGS_SHORT_PREAMBLE ,
    BSS_PARAM_FLAGS_SHORT_SLOT_TIME

};

🌸 Constants 🌸

okay so these are the three members of the enum, and each one is literally just a yes/no vibe check πŸ‘‘

  • BSS_PARAM_FLAGS_CTS_PROT β€” tells you whether CTS protection is enabled πŸ’…
  • BSS_PARAM_FLAGS_SHORT_PREAMBLE β€” tells you whether short preamble is enabled ✨
  • BSS_PARAM_FLAGS_SHORT_SLOT_TIME β€” tells you whether short slot time is enabled ⭐

πŸ’œ Description πŸ’œ

so the driver uses this one to indicate the specific rate transmission type for 802.11n transmissions 🫢 that's the whole lore, no cap β€” the driver says which rate transmission type it's on, and it does that for 802.11n transmissions, periodt πŸ”₯


still with me? good, because there's more coming πŸ’–

πŸ‘€ SEE ALSO πŸ‘€

okay bestie, this is the part where the manpage basically hands you the entire friend group 😭 like every single cross-reference in this corner of cfg80211 shows up to the party. No skips, no cuts β€” here's the whole guest list, exactly as printed.

  • Kernel file ./include/net/cfg80211.h 🫢 (the source of truth, the origin story, the blueprint)

🌱 the starter pack

  • Introduction(9), Device registration(9) β€” read these first, fr fr, they set the whole scene
  • enum ieee80211_channel_flags(9), struct ieee80211_channel(9)
  • enum ieee80211_rate_flags(9), enum ieee80211_bss_type(9), enum ieee80211_privacy(9), struct ieee80211_rate(9)

πŸ“Ά the ht/vht/he/eht/uhr capability squad

  • struct ieee80211_he_obss_pd(9), struct cfg80211_he_bss_color(9)
  • struct ieee80211_sta_ht_cap(9), struct ieee80211_sta_vht_cap(9), struct ieee80211_sta_he_cap(9)
  • struct ieee80211_eht_mcs_nss_supp(9), struct ieee80211_sta_eht_cap(9), struct ieee80211_sta_uhr_cap(9)

πŸ¦‹ band + iftype data (yes she has layers)

πŸŽ€ actions and configuration (the big one)

  • Actions and configuration(9) β€” whole section, go read it
  • struct vif_params(9), struct key_params(9), struct cfg80211_chan_def(9)
  • struct cfg80211_tid_cfg(9), struct cfg80211_tid_config(9)
  • struct cfg80211_fils_aad(9), struct cfg80211_set_hw_timestamp(9)

πŸ“ chandef girlies, absolutely obsessed with channel widths

πŸ” surveys, crypto, and AP settings (the whole venue setup)

  • 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), 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) β€” hiii, that's literally the page you're on πŸ’…
  • struct mesh_config(9), struct mesh_setup(9), struct ocb_setup(9), struct ieee80211_txq_params(9)

πŸ›°οΈ scanning and BSS list handling (the stalker era)

  • 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)

πŸ” auth, assoc, deauth, all the connection drama

  • 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 era (Neighbor Awareness Networking, very "who's around rn")

  • 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)

πŸ’« pmk, external auth, and measurement stuff

  • struct cfg80211_pmk_conf(9), struct cfg80211_external_auth_params(9), struct cfg80211_ftm_responder_stats(9)
  • struct cfg80211_pmsr_ftm_result(9), struct cfg80211_pmsr_result(9), struct cfg80211_pmsr_ftm_request_peer(9)
  • struct cfg80211_pmsr_request_peer(9), struct cfg80211_pmsr_request(9)
  • struct cfg80211_update_owe_info(9), struct mgmt_frame_regs(9)

πŸ‘‘ the ops + wiphy family (main characters)

🧚 wireless dev + utility functions

πŸ”₯ data path helpers (where the packets actually go)

πŸ—ΊοΈ regulatory enforcement infrastructure (the rules girlies)

πŸ“‘ scan done / bss informing (the receipts)

πŸ“¨ mlme mgmt + the sad little failure notifications

πŸ›‘ RFkill integration

πŸ›οΈ Vendor commands (bring your own vibes)

πŸ§ͺ Test mode

🌈 connect / roam / disconnect notifications

⏳ remain-on-channel + tx status era

πŸ“ cqm, radar, cac, rekey, and the rest of the notify crew

…and bestie, the guest list is not done yet 😭 the reference section just keeps going. Every one of these lives in the same corner of the kernel, so if you're deep in cfg80211 / ieee80211 land, someone here is exactly who you want. Tap in:

That first chunk is giving regulatory + channel math energy ✨ β€” band lookups, chandef conversions, bitrate crunching. It's giving "I know my center frequencies" and honestly, respect.

Information-element splitting, element fragmenting, wakeup reporting, critical-protocol stopping, counting your supported channels β€” cute little utility squad right there πŸŽ€

Combo checking, combo iterating, radio index lookups, link/interface stopping (and the shut everything down one, which is very main character πŸ”₯), plus setting and testing extended wiphy features. Yes.

The whole NAN cluster of friends plus external auth and PMSR reporting/completion πŸ¦‹ Neighbor Awareness Networking really said "we brought the entire group chat" and you know what, slay.

Type checks, association comeback, OWE info events, BSS flushing, and the entire colour-change saga β€” started, aborted, notified, collision-notified 😭 every notification got its own page and honestly the color change arc ate. Plus 6ghz_power_type(9) for the 6 GHz girlies ⭐

MLO reconfiguration data + "add done" callbacks, scheduled channel checks, EPCS changes, next NAN discovery window notification, cluster joined, ULW updates, channel evacuation 🧚 multi-link operation really is the moment, no cap.

And the finale πŸŽ‰ locked debugfs read/write (do not forget the locking, bestie, it's in the name), the S1G start/end frequency helpers, primary sibling getter, and one last cfg80211_incumbent_signal_notify(9) to close it out like the icon it is.


Go read the ones you actually need, okay? Sixty-something references means somebody already solved your problem and wrote it down πŸ’–

That's the whole page, start to finish β€” and it's a lot, so if you made it here, you're literally built different πŸ‘‘ The page says it comes from ./include/net and it's dated October 2026, so that's the source path and the date to cite if you're quoting it. Version tag on the footer is enum bss_param_flags(9) β€” cite that too and you're golden 🌸

Now go forth and cfg80211 responsibly, bestie πŸ«ΆπŸ’œ

πŸ“¦ where this page comes from