STRUCT IEEE80211_SUPPORTED_BAND(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐ŸŽ€ struct ieee80211_supported_band โ€” the frequency-band bestie ๐ŸŽ€

hey bestie, welcome to the Kernel API Manual page for struct ieee80211_supported_band(9) โ€” this is where the kernel spills the tea on how a frequency band is defined. no cap, itโ€™s giving โ€œwiphyโ€™s whole personality per band.โ€ ๐Ÿ’…


โœจ NAME โœจ

struct ieee80211_supported_band โ€” frequency band definition, literally. ๐Ÿฆ‹

๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

       struct ieee80211_supported_band {
           struct ieee80211_channel *channels;
           struct ieee80211_rate *bitrates;
           enum nl80211_band band;
           int n_channels;
           int n_bitrates;
           struct ieee80211_sta_ht_cap ht_cap;
           struct ieee80211_sta_vht_cap vht_cap;
           struct ieee80211_sta_s1g_cap s1g_cap;
           struct ieee80211_edmg edmg_cap;
           u16 n_iftype_data;
           const struct ieee80211_sband_iftype_data __iftd *iftype_data;
        };

๐Ÿ’… Members ๐Ÿ’…

  • channels โ€” array of channels the hardware can operate with in this band. ๐Ÿ“ก
  • bitrates โ€” array of bitrates the hardware can operate with in this band. Must be sorted to give a valid "supported rates" IE, i.e. CCK rates first, then OFDM. ๐Ÿ”ฅ
  • band โ€” the band this structure represents. ๐Ÿ‘‘
  • n_channels โ€” number of channels in channels. ๐ŸŽ€
  • n_bitrates โ€” number of bitrates in bitrates. โœจ
  • ht_cap โ€” HT capabilities in this band. ๐Ÿฆ‹
  • vht_cap โ€” VHT capabilities in this band. ๐ŸŒธ
  • s1g_cap โ€” S1G capabilities in this band (S1G band only, of course). ๐Ÿ’–
  • edmg_cap โ€” EDMG capabilities in this band. ๐ŸŒˆ
  • n_iftype_data โ€” number of iftype data entries. ๐Ÿซถ
  • iftype_data โ€” interface type data entries. Note that the bits in types_mask inside this structure cannot overlap (i.e. only one occurrence of each type is allowed across all instances of iftype_data). โš ๏ธ

๐ŸŒธ Description ๐ŸŒธ

This structure describes a frequency band a wiphy is able to operate in. periodt. ๐Ÿ’œ


โœจ SEE ALSO โœจ

okay bestie this is the part where the page just... lists everyone it knows ๐Ÿ˜ญ and honestly? it's giving guest list at the met gala. every single one of these is a real page you can go read, so im gonna hand them to you in little bundles so your brain doesn't melt ๐Ÿ’–

and before we start โ€” if you want the actual source of truth it's all chillin' in the kernel file:


๐Ÿฆ‹ the foundational girlies (channels, rates, bss vibes)

  • enum ieee80211_channel_flags, struct ieee80211_channel, enum ieee80211_rate_flags, enum ieee80211_bss_type, enum ieee80211_privacy, struct ieee80211_rate, struct ieee80211_he_obss_pd, struct cfg80211_he_bss_color

๐ŸŽ€ capability queen energy (HT / VHT / HE / EHT / UHR / S1G)

  • struct ieee80211_sta_ht_cap, struct ieee80211_sta_vht_cap, struct ieee80211_sta_he_cap, struct ieee80211_eht_mcs_nss_supp, struct ieee80211_sta_eht_cap, struct ieee80211_sta_uhr_cap, struct ieee80211_sband_iftype_data, enum ieee80211_edmg_bw_config, struct ieee80211_edmg, struct ieee80211_sta_s1g_cap

๐ŸŒธ the sband iftype helper squad

  • _ieee80211_set_sband_iftype_data, ieee80211_set_sband_iftype_data, for_each_sband_iftype_data, ieee80211_get_sband_iftype_data, ieee80211_get_he_iftype_cap, ieee80211_get_he_6ghz_capa, ieee80211_get_eht_iftype_cap, ieee80211_get_uhr_iftype_cap, wiphy_read_of_freq_limits

๐Ÿ’… actions & configuration era

  • Actions and configuration(9)
  • struct vif_params, struct key_params, struct cfg80211_chan_def, struct cfg80211_tid_cfg, struct cfg80211_tid_config, struct cfg80211_fils_aad, struct cfg80211_set_hw_timestamp

๐Ÿงš chandef besties (width, dfs, primary, all of it)

  • cfg80211_get_chandef_type, cfg80211_chandef_create, cfg80211_chandef_identical, cfg80211_chandef_is_edmg, cfg80211_chandef_is_s1g, cfg80211_chandef_compatible, nl80211_chan_width_to_mhz, cfg80211_chandef_get_width, cfg80211_chandef_valid, cfg80211_chandef_usable, cfg80211_chandef_dfs_required, cfg80211_chandef_dfs_usable, cfg80211_chandef_dfs_cac_time, cfg80211_chandef_primary, cfg80211_chandef_npca_valid, cfg80211_chandef_add_npca, cfg80211_chandef_add_dbe, nl80211_send_chandef, ieee80211_chandef_max_power, cfg80211_chandef_s1g_pri_width, cfg80211_any_usable_channels

๐Ÿ“ survey, crypto, beacon & AP settings

  • enum survey_info_flags, struct survey_info, struct cfg80211_crypto_settings, struct cfg80211_mbssid_config, struct cfg80211_mbssid_elems, struct cfg80211_rnr_elems, struct cfg80211_beacon_data, struct cfg80211_acl_data, struct cfg80211_fils_discovery, struct cfg80211_unsol_bcast_probe_resp, struct cfg80211_s1g_short_beacon, struct cfg80211_ap_settings, struct cfg80211_ap_update, struct cfg80211_csa_settings, struct cfg80211_color_change_settings, struct iface_combination_params

๐Ÿซถ station parameters & station info (a whole saga)

  • enum station_parameters_apply_mask, struct sta_txpwr, struct link_station_parameters, struct link_station_del_parameters, struct cfg80211_ttlm_params, struct station_parameters, struct station_del_parameters, enum cfg80211_station_type, cfg80211_check_station_change, enum rate_info_flags, enum rate_info_bw, struct rate_info, enum bss_param_flags, struct sta_bss_parameters, struct cfg80211_txq_stats, struct cfg80211_tid_stats, struct link_station_info, struct station_info, struct cfg80211_sar_sub_specs, struct cfg80211_sar_specs, struct cfg80211_sar_freq_ranges, struct cfg80211_sar_capa, cfg80211_get_station, enum monitor_flags, enum mpath_info_flags, struct mpath_info, enum wiphy_bss_param_flags, struct bss_parameters, struct mesh_config, struct mesh_setup, struct ocb_setup, struct ieee80211_txq_params

๐Ÿ”ฅ scanning & BSS list handling (main character section ngl)

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid, struct cfg80211_scan_info, struct cfg80211_scan_6ghz_params, struct cfg80211_scan_request, struct cfg80211_match_set, struct cfg80211_sched_scan_plan, struct cfg80211_bss_select_adjust, struct cfg80211_sched_scan_request, enum cfg80211_signal_type, struct cfg80211_inform_bss, struct cfg80211_bss_ies, struct cfg80211_bss, ieee80211_bss_get_elem, ieee80211_bss_get_ie, struct cfg80211_auth_request, struct cfg80211_assoc_link, struct cfg80211_ml_reconf_req, enum cfg80211_assoc_req_flags, struct cfg80211_assoc_request, struct cfg80211_deauth_request, struct cfg80211_disassoc_request, struct cfg80211_ibss_params, struct cfg80211_bss_selection, struct cfg80211_connect_params, enum cfg80211_connect_params_changed, enum wiphy_params_flags, struct cfg80211_pmksa, struct cfg80211_pkt_pattern, struct cfg80211_wowlan_tcp, struct cfg80211_wowlan, struct cfg80211_coalesce_rules, struct cfg80211_coalesce, struct cfg80211_wowlan_nd_match, struct cfg80211_wowlan_nd_info, struct cfg80211_wowlan_wakeup, struct cfg80211_gtk_rekey_data, struct cfg80211_update_ft_ies_params, struct cfg80211_mgmt_tx_params, struct cfg80211_dscp_exception, struct cfg80211_dscp_range, struct cfg80211_qos_map

๐ŸŒˆ Neighbor Awareness Networking (NAN) corner

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

๐Ÿ”‘ pmk, external auth, FTM & pmsr things

  • struct cfg80211_pmk_conf, struct cfg80211_external_auth_params, struct cfg80211_ftm_responder_stats, struct cfg80211_pmsr_ftm_result, struct cfg80211_pmsr_result, struct cfg80211_pmsr_ftm_request_peer, struct cfg80211_pmsr_request_peer, struct cfg80211_pmsr_request, struct cfg80211_update_owe_info, struct mgmt_frame_regs, struct cfg80211_ops

๐Ÿ‘‘ wiphy flags, caps & radio config

  • enum wiphy_flags, struct ieee80211_iface_limit, struct ieee80211_iface_combination, enum wiphy_wowlan_support_flags, struct wiphy_wowlan_support, struct wiphy_coalesce_support, enum wiphy_vendor_command_flags, enum wiphy_opmode_flag, struct sta_opmode_info, struct wiphy_vendor_command, struct wiphy_iftype_ext_capab, cfg80211_get_iftype_ext_capa, struct cfg80211_pmsr_capabilities, struct wiphy_iftype_akm_suites, struct wiphy_radio_cfg, struct wiphy_radio_freq_range, struct wiphy_radio, enum wiphy_nan_flags, struct wiphy_nan_capa, struct wiphy

๐Ÿ’œ wiphy lifecycle + work queue hive

  • wiphy_priv, priv_to_wiphy, set_wiphy_dev, wiphy_dev, wiphy_name, wiphy_new_nm, wiphy_new, wiphy_register, rcu_dereference_wiphy, wiphy_dereference, get_wiphy_regdom, wiphy_unregister, wiphy_free, wiphy_lock, wiphy_unlock, wiphy_work_queue, wiphy_work_cancel, wiphy_work_flush, wiphy_delayed_work_queue, wiphy_delayed_work_cancel, wiphy_delayed_work_flush, wiphy_delayed_work_pending, wiphy_hrtimer_work_queue, wiphy_hrtimer_work_cancel, wiphy_hrtimer_work_flush, wiphy_hrtimer_work_pending, enum ieee80211_ap_reg_power, struct wireless_dev, wdev_priv, wdev_chandef

โญ utility functions (the little helpers that ate)

  • Utility functions(9)
  • ieee80211_channel_equal, ieee80211_channel_to_khz, ieee80211_channel_to_freq_khz, ieee80211_channel_to_frequency, ieee80211_freq_khz_to_channel, ieee80211_frequency_to_channel, ieee80211_get_channel_khz, ieee80211_get_channel, cfg80211_channel_is_psc, ieee80211_radio_freq_range_valid, cfg80211_radio_chandef_valid, cfg80211_wdev_channel_allowed, ieee80211_get_response_rate, ieee80211_mandatory_rates, struct ieee80211_radiotap_iterator, ieee80211_get_hdrlen_from_skb, ieee80211_hdrlen, ieee80211_get_mesh_hdrlen

๐Ÿฆ‹ data path helpers (where the packets actually flow)

  • Data path helpers(9)
  • ieee80211_data_to_8023_exthdr, ieee80211_data_to_8023, ieee80211_is_valid_amsdu, ieee80211_amsdu_to_8023s, ieee80211_get_8023_tunnel_proto, ieee80211_strip_8023_mesh_hdr, cfg80211_classify8021d, cfg80211_find_elem_match, cfg80211_find_ie_match, cfg80211_find_elem, cfg80211_find_ie, cfg80211_find_ext_elem, cfg80211_find_ext_ie, cfg80211_find_vendor_elem, cfg80211_find_vendor_ie, enum cfg80211_rnr_iter_ret, cfg80211_iter_rnr, cfg80211_defragment_element, cfg80211_send_layer2_update

๐ŸŒธ regulatory enforcement infrastructure

  • Regulatory enforcement infrastructure(9)
  • regulatory_hint, regulatory_set_wiphy_regd, regulatory_set_wiphy_regd_sync, wiphy_apply_custom_regulatory, freq_reg_info, reg_initiator_name, regulatory_pre_cac_allowed
and then, separately, the internal ones ๐Ÿ‘€
  • Internal regulatory db functions(9)
  • reg_query_regdb_wmm

๐ŸŽ€ scan done, BSS informing & mlme rx'ing

  • cfg80211_scan_done, cfg80211_sched_scan_results, cfg80211_sched_scan_stopped, cfg80211_sched_scan_stopped_locked, cfg80211_inform_bss_frame_data, cfg80211_gen_new_bssid, cfg80211_is_element_inherited, cfg80211_merge_profile, enum cfg80211_bss_frame_type, cfg80211_get_ies_channel_number, cfg80211_ssid_eq, cfg80211_inform_bss_data, __cfg80211_get_bss, cfg80211_get_bss, cfg80211_ref_bss, cfg80211_put_bss, cfg80211_unlink_bss, cfg80211_bss_iter, cfg80211_rx_mlme_mgmt, cfg80211_auth_timeout, struct cfg80211_rx_assoc_resp_data, cfg80211_rx_assoc_resp, struct cfg80211_assoc_failure, cfg80211_assoc_failure, cfg80211_tx_mlme_mgmt, cfg80211_rx_unprot_mlme_mgmt, cfg80211_michael_mic_failure, cfg80211_ibss_joined, cfg80211_notify_new_peer_candidate

๐Ÿ“ก RFkill integration

  • RFkill integration(9)
  • wiphy_rfkill_set_hw_state_reason, wiphy_rfkill_start_polling, wiphy_rfkill_stop_polling

๐Ÿงš Vendor commands

  • Vendor commands(9)
  • cfg80211_vendor_cmd_alloc_reply_skb, cfg80211_vendor_cmd_reply, cfg80211_vendor_cmd_get_sender, cfg80211_vendor_event_alloc, cfg80211_vendor_event_alloc_ucast, cfg80211_vendor_event

๐Ÿ“ Test mode

  • Test mode(9)
  • cfg80211_testmode_alloc_reply_skb, cfg80211_testmode_reply, cfg80211_testmode_alloc_event_skb, cfg80211_testmode_event

๐Ÿ’œ connect, roam & the notification avalanche

  • struct cfg80211_fils_resp_params, struct cfg80211_connect_resp_params, cfg80211_connect_done, cfg80211_connect_bss, cfg80211_connect_result, cfg80211_connect_timeout, struct cfg80211_roam_info, cfg80211_roamed, cfg80211_port_authorized, cfg80211_disconnected, cfg80211_ready_on_channel, cfg80211_remain_on_channel_expired, cfg80211_tx_mgmt_expired, cfg80211_sinfo_alloc_tid_stats, cfg80211_link_sinfo_alloc_tid_stats, cfg80211_sinfo_release_content, cfg80211_new_sta, cfg80211_del_sta_sinfo, cfg80211_del_sta, cfg80211_conn_failed, struct cfg80211_rx_info, cfg80211_rx_mgmt_ext, cfg80211_rx_mgmt_khz, cfg80211_rx_mgmt, struct cfg80211_tx_status, cfg80211_mgmt_tx_status_ext, cfg80211_mgmt_tx_status, cfg80211_control_port_tx_status, cfg80211_rx_control_port, cfg80211_cqm_rssi_notify, cfg80211_cqm_pktloss_notify, cfg80211_cqm_txe_notify, cfg80211_cqm_beacon_loss_notify, __cfg80211_radar_event, cfg80211_sta_opmode_change_notify, cfg80211_cac_event, cfg80211_background_cac_abort, cfg80211_gtk_rekey_notify, cfg80211_pmksa_candidate_notify, cfg80211_rx_spurious_frame, cfg80211_rx_unexpected_4addr_frame, cfg80211_probe_status, cfg80211_report_obss_beacon_khz, cfg80211_report_obss_beacon, struct cfg80211_beaconing_check_config
fr fr that's the whole list ๐Ÿซถ go tap any of these, they're all just a man away.

okay so the SEE ALSO list literally does not stop, and honestly? it's giving "the whole kernel" ๐Ÿ˜ญ so here it is, grouped by vibe so you can actually find stuff, every single ref in the same order, no cap ๐Ÿซถ

๐ŸŽ€ regulatory + channel-switch crew

๐Ÿฆ‹ operating class โ†” chandef conversions (the glow-ups)

๐ŸŒธ tdls, bitrate, and register/unregister

๐ŸŽ€ fast transition stuff

  • struct cfg80211_ft_event_params(9) โ€” the struct that carries the FT event params
  • cfg80211_ft_event(9) โ€” FT event, periodt

โœจ p2p + IE splitting

๐Ÿ’œ wowlan, crit proto, channels, combinations

๐Ÿ”ฅ the "stopping things" section, highkey iconic

๐Ÿฆ‹ wiphy ext features

๐ŸŒˆ NAN, part one

โญ external auth + pmsr

๐ŸŒธ iftype / assoc comeback / OWE

๐ŸŽ€ bss flush + colour change (the drama)

๐Ÿฆ‹ channels check + EPCS

๐ŸŒˆ NAN, part two (she's back)

๐Ÿ’… debugfs locks

๐Ÿ“ S1G besties

๐Ÿ”ฅ last but never least


and that's the whole list, bestie โ€” every single ref, nothing skipped, we ate ๐Ÿฝ๏ธ

This page comes from the source at ./include/net, it's dated October 2026, and the footer on it reads struct ieee...pported_band(9) (yes, with the ... in it, that's not a typo, that's just how it's printed ๐ŸŽ€). That's the end of the page fr fr โ€” go touch some grass, then come back and read another one ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from