_ieee80211_s..._iftype_data(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… _ieee80211_s..._iftype_data(9) πŸ’…

okay bestie, welcome to the Kernel API Manual page for _ieee80211_s..._iftype_data(9) β€” yes that title is giving mysterious ellipsis energy, but we move πŸ’–


πŸ’– NAME πŸ’–

_ieee80211_set_sband_iftype_data β€” set sband iftype data array. That’s the whole mission, no cap ✨


✨ SYNOPSIS ✨

void _ieee80211_set_sband_iftype_data (struct ieee80211_supported_band
*sband , const struct ieee80211_sband_iftype_data *iftd , u16 n_iftd );

πŸŽ€ ARGUMENTS πŸŽ€

  • sband β€” the sband to initialize 🫢
  • iftd β€” the iftype data array pointer 🌸
  • n_iftd β€” the length of the iftype data array ⭐

πŸ¦‹ DESCRIPTION πŸ¦‹

Set the sband iftype data array. Use this one where the length cannot be derived from the ARRAY_SIZE of the argument β€” but prefer ieee80211_set_sband_iftype_data where it can be used. literally that’s the whole tea πŸ’…

πŸŽ€ SEE ALSO πŸŽ€

okay bestie, this is the "go read these next" section and honestly? it's giving phone book 😭 there's like a hundred of them. but i got you β€” every single one is here, nothing skipped, no cap. this is the whole neighborhood that lives next to this page, so whenever you bump into one of these names in the wild you'll already know where to look πŸ’–

first up, the actual source of truth β€” the kernel file where all of this lives:

  • ./include/net/cfg80211.h β€” kernel file, the big one, the origin story ✨

and the two intro pages you should probably hit before anything else:

  • Introduction(9) β€” start here bestie, it's literally called introduction 🫢
  • Device registration(9) β€” how devices get themselves registered, iconic

🌸 the channel / rate / band basics 🌸

  • enum ieee80211_channel_flags(9) β€” the channel flags enum
  • struct ieee80211_channel(9) β€” a channel, as a struct, that's the whole vibe
  • enum ieee80211_rate_flags(9) β€” rate flags enum, yes another flags enum, we love consistency πŸ’…
  • enum ieee80211_bss_type(9) β€” bss type enum
  • enum ieee80211_privacy(9) β€” privacy enum
  • struct ieee80211_rate(9) β€” one single rate, as a treat
  • struct ieee80211_he_obss_pd(9) β€” the he obss pd struct 🌈
  • struct cfg80211_he_bss_color(9) β€” bss color struct, cute name fr
  • struct ieee80211_sta_ht_cap(9) β€” HT capability struct
  • struct ieee80211_sta_vht_cap(9) β€” VHT capability struct, the sequel
  • struct ieee80211_sta_he_cap(9) β€” HE capability struct
  • struct ieee80211_eht_mcs_nss_supp(9) β€” EHT mcs/nss supp struct, say that five times fast 😭
  • struct ieee80211_sta_eht_cap(9) β€” EHT capability struct
  • struct ieee80211_sta_uhr_cap(9) β€” UHR capability struct
  • struct ieee80211_sband_iftype_data(9) β€” the main character πŸ‘‘ this is literally the page you're reading, so yeah, it cites itself, self-love
  • enum ieee80211_edmg_bw_config(9) β€” edmg bandwidth config enum
  • struct ieee80211_edmg(9) β€” the edmg struct
  • struct ieee80211_sta_s1g_cap(9) β€” S1G capability struct
  • struct ieee80211_supported_band(9) β€” supported band struct, the container of containers
  • ieee80211_set_sband_iftype_data(9) β€” the setter, iykyk
  • for_each_sband_iftype_data(9) β€” the loop macro bestie, go iterate ✨
  • ieee80211_get_sband_iftype_data(9) β€” the getter
  • ieee80211_get_he_iftype_cap(9) β€” get the HE iftype cap
  • ieee80211_get_he_6ghz_capa(9) β€” get the HE 6GHz capa, note the missing b, that's just how it's spelled 🫢
  • ieee80211_get_eht_iftype_cap(9) β€” get the EHT iftype cap
  • ieee80211_get_uhr_iftype_cap(9) β€” get the UHR iftype cap
  • wiphy_read_of_freq_limits(9) β€” reads freq limits out of the OF, slay

πŸ’œ Actions and configuration(9) πŸ’œ

this one's a whole doc section of its own, and then the structs start and they do not stop:

  • struct vif_params(9) β€” virtual interface params struct
  • struct key_params(9) β€” key params struct
  • struct cfg80211_chan_def(9) β€” channel definition struct, you'll see this name a LOT
  • struct cfg80211_tid_cfg(9) β€” tid cfg struct
  • struct cfg80211_tid_config(9) β€” tid config struct (yes, both, don't @ me)
  • struct cfg80211_fils_aad(9) β€” fils aad struct
  • struct cfg80211_set_hw_timestamp(9) β€” set hw timestamp struct
  • cfg80211_get_chandef_type(9) β€” get the chandef type
  • cfg80211_chandef_create(9) β€” create a chandef
  • cfg80211_chandef_identical(9) β€” are they identical? read the page πŸ¦‹
  • cfg80211_chandef_is_edmg(9) β€” is it edmg
  • cfg80211_chandef_is_s1g(9) β€” is it s1g
  • cfg80211_chandef_compatible(9) β€” compatible or not
  • nl80211_chan_width_to_mhz(9) β€” width ➑️ mhz
  • cfg80211_chandef_get_width(9) β€” get the width
  • cfg80211_chandef_valid(9) β€” valid check
  • cfg80211_chandef_usable(9) β€” usable check
  • cfg80211_chandef_dfs_required(9) β€” dfs required?
  • cfg80211_chandef_dfs_usable(9) β€” dfs usable?
  • cfg80211_chandef_dfs_cac_time(9) β€” dfs cac time
  • cfg80211_chandef_primary(9) β€” the primary channel of the chandef
  • cfg80211_chandef_npca_valid(9) β€” npca valid check
  • cfg80211_chandef_add_npca(9) β€” add npca
  • cfg80211_chandef_add_dbe(9) β€” add dbe
  • nl80211_send_chandef(9) β€” send it
  • ieee80211_chandef_max_power(9) β€” max power for a chandef πŸ”₯
  • cfg80211_chandef_s1g_pri_width(9) β€” s1g primary width
  • cfg80211_any_usable_channels(9) β€” any usable channels at all?
  • enum survey_info_flags(9) β€” survey flags enum
  • struct survey_info(9) β€” survey info struct
  • struct cfg80211_crypto_settings(9) β€” crypto settings struct
  • struct cfg80211_mbssid_config(9) β€” mbssid config struct
  • struct cfg80211_mbssid_elems(9) β€” mbssid elems struct
  • struct cfg80211_rnr_elems(9) β€” rnr elems struct
  • struct cfg80211_beacon_data(9) β€” beacon data struct
  • struct cfg80211_acl_data(9) β€” acl data struct
  • struct cfg80211_fils_discovery(9) β€” fils discovery struct
  • struct cfg80211_unsol_bcast_probe_resp(9) β€” unsolicited broadcast probe response struct, long name, iconic
  • struct cfg80211_s1g_short_beacon(9) β€” s1g short beacon struct
  • struct cfg80211_ap_settings(9) β€” AP settings struct
  • struct cfg80211_ap_update(9) β€” AP update struct
  • struct cfg80211_csa_settings(9) β€” CSA settings struct
  • struct cfg80211_color_change_settings(9) β€” color change settings struct 🌈
  • struct iface_combination_params(9) β€” interface combination params
  • enum station_parameters_apply_mask(9) β€” station parameters apply mask enum
  • struct sta_txpwr(9) β€” sta tx power struct
  • struct link_station_parameters(9) β€” link station parameters
  • struct link_station_del_parameters(9) β€” link station del parameters
  • struct cfg80211_ttlm_params(9) β€” ttlm params struct
  • struct station_parameters(9) β€” station parameters struct
  • struct station_del_parameters(9) β€” station del parameters struct
  • enum cfg80211_station_type(9) β€” station type enum
  • cfg80211_check_station_change(9) β€” check the station change
  • enum rate_info_flags(9) β€” rate info flags enum
  • enum rate_info_bw(9) β€” rate info bandwidth enum
  • struct rate_info(9) β€” rate info struct
  • enum bss_param_flags(9) β€” bss param flags enum
  • struct sta_bss_parameters(9) β€” sta bss parameters struct
  • struct cfg80211_txq_stats(9) β€” txq stats struct
  • struct cfg80211_tid_stats(9) β€” tid stats struct
  • struct link_station_info(9) β€” link station info struct
  • struct station_info(9) β€” station info struct, the big one
  • struct cfg80211_sar_sub_specs(9) β€” sar sub specs struct
  • struct cfg80211_sar_specs(9) β€” sar specs struct
  • struct cfg80211_sar_freq_ranges(9) β€” sar freq ranges struct
  • struct cfg80211_sar_capa(9) β€” sar capa struct
  • cfg80211_get_station(9) β€” get the station
  • enum monitor_flags(9) β€” monitor flags enum
  • enum mpath_info_flags(9) β€” mpath info flags enum
  • struct mpath_info(9) β€” mpath info struct
  • enum wiphy_bss_param_flags(9) β€” wiphy bss param flags enum
  • struct bss_parameters(9) β€” bss parameters struct
  • struct mesh_config(9) β€” mesh config struct
  • struct mesh_setup(9) β€” mesh setup struct
  • struct ocb_setup(9) β€” ocb setup struct
  • struct ieee80211_txq_params(9) β€” txq params struct, and that's the end of this block bestie, breathe 🫢

πŸ¦‹ Scanning and BSS list handling(9) πŸ¦‹

  • struct cfg80211_ssid(9) β€” ssid struct
  • struct cfg80211_scan_info(9) β€” scan info struct
  • struct cfg80211_scan_6ghz_params(9) β€” 6GHz scan params struct
  • struct cfg80211_scan_request(9) β€” scan request struct
  • struct cfg80211_match_set(9) β€” match set struct
  • struct cfg80211_sched_scan_plan(9) β€” scheduled scan plan struct
  • struct cfg80211_bss_select_adjust(9) β€” bss select adjust struct
  • struct cfg80211_sched_scan_request(9) β€” scheduled scan request struct
  • enum cfg80211_signal_type(9) β€” signal type enum
  • struct cfg80211_inform_bss(9) β€” inform bss struct
  • struct cfg80211_bss_ies(9) β€” bss IEs struct
  • struct cfg80211_bss(9) β€” the bss struct itself
  • ieee80211_bss_get_elem(9) β€” get an element out of a bss
  • ieee80211_bss_get_ie(9) β€” get an IE out of a bss (yes, both exist, they're siblings πŸ’…)
  • struct cfg80211_auth_request(9) β€” auth request struct
  • struct cfg80211_assoc_link(9) β€” assoc link struct
  • struct cfg80211_ml_reconf_req(9) β€” ml reconf request struct
  • enum cfg80211_assoc_req_flags(9) β€” assoc request flags enum
  • struct cfg80211_assoc_request(9) β€” assoc request struct
  • struct cfg80211_deauth_request(9) β€” deauth request struct
  • struct cfg80211_disassoc_request(9) β€” disassoc request struct
  • struct cfg80211_ibss_params(9) β€” ibss params struct
  • struct cfg80211_bss_selection(9) β€” bss selection struct
  • struct cfg80211_connect_params(9) β€” connect params struct
  • enum cfg80211_connect_params_changed(9) β€” connect params changed enum
  • enum wiphy_params_flags(9) β€” wiphy params flags enum
  • struct cfg80211_pmksa(9) β€” pmksa struct
  • struct cfg80211_pkt_pattern(9) β€” packet pattern struct
  • struct cfg80211_wowlan_tcp(9) β€” wowlan tcp struct
  • struct cfg80211_wowlan(9) β€” wowlan struct
  • struct cfg80211_coalesce_rules(9) β€” coalesce rules struct
  • struct cfg80211_coalesce(9) β€” coalesce struct
  • struct cfg80211_wowlan_nd_match(9) β€” wowlan net-detect match struct
  • struct cfg80211_wowlan_nd_info(9) β€” wowlan net-detect info struct
  • struct cfg80211_wowlan_wakeup(9) β€” wowlan wakeup struct
  • struct cfg80211_gtk_rekey_data(9) β€” gtk rekey data struct
  • struct cfg80211_update_ft_ies_params(9) β€” update FT IEs params struct
  • struct cfg80211_mgmt_tx_params(9) β€” mgmt tx params struct
  • struct cfg80211_dscp_exception(9) β€” dscp exception struct
  • struct cfg80211_dscp_range(9) β€” dscp range struct
  • struct cfg80211_qos_map(9) β€” qos map struct

🧚 Neighbor Awareness Networking (NAN)(9) 🧚

  • struct cfg80211_nan_band_config(9) β€” nan band config struct
  • struct cfg80211_nan_conf(9) β€” nan conf struct
  • struct cfg80211_nan_channel(9) β€” nan channel struct
  • struct cfg80211_nan_local_sched(9) β€” nan local sched struct
  • struct cfg80211_nan_peer_map(9) β€” nan peer map struct
  • struct cfg80211_nan_peer_sched(9) β€” nan peer sched struct
  • enum cfg80211_nan_conf_changes(9) β€” nan conf changes enum
  • struct cfg80211_nan_func_filter(9) β€” nan func filter struct
  • struct cfg80211_nan_func(9) β€” nan func struct, last of the nan crew ✨
  • struct cfg80211_pmk_conf(9) β€” pmk conf struct
  • struct cfg80211_external_auth_params(9) β€” external auth params struct
  • struct cfg80211_ftm_responder_stats(9) β€” ftm responder stats struct
  • struct cfg80211_pmsr_ftm_result(9) β€” pmsr ftm result struct
  • struct cfg80211_pmsr_result(9) β€” pmsr result struct
  • struct cfg80211_pmsr_ftm_request_peer(9) β€” pmsr ftm request peer struct
  • struct cfg80211_pmsr_request_peer(9) β€” pmsr request peer struct
  • struct cfg80211_pmsr_request(9) β€” pmsr request struct
  • struct cfg80211_update_owe_info(9) β€” update owe info struct
  • struct mgmt_frame_regs(9) β€” mgmt frame registrations struct
  • struct cfg80211_ops(9) β€” the ops struct, the whole driver surface πŸ‘‘
  • enum wiphy_flags(9) β€” wiphy flags enum
  • struct ieee80211_iface_limit(9) β€” iface limit struct
  • struct ieee80211_iface_combination(9) β€” iface combination struct
  • enum wiphy_wowlan_support_flags(9) β€” wowlan support flags enum
  • struct wiphy_wowlan_support(9) β€” wowlan support struct
  • struct wiphy_coalesce_support(9) β€” coalesce support struct
  • enum wiphy_vendor_command_flags(9) β€” vendor command flags enum
  • enum wiphy_opmode_flag(9) β€” opmode flag enum
  • struct sta_opmode_info(9) β€” sta opmode info struct
  • struct wiphy_vendor_command(9) β€” vendor command struct
  • struct wiphy_iftype_ext_capab(9) β€” iftype extended capabilities struct
  • cfg80211_get_iftype_ext_capa(9) β€” get the iftype ext capa
  • struct cfg80211_pmsr_capabilities(9) β€” pmsr capabilities struct
  • struct wiphy_iftype_akm_suites(9) β€” iftype akm suites struct
  • struct wiphy_radio_cfg(9) β€” wiphy radio cfg struct
  • struct wiphy_radio_freq_range(9) β€” wiphy radio freq range struct
  • struct wiphy_radio(9) β€” wiphy radio struct
  • enum wiphy_nan_flags(9) β€” wiphy nan flags enum
  • struct wiphy_nan_capa(9) β€” wiphy nan capa struct
  • struct wiphy(9) β€” the wiphy struct, main character energy πŸŽ€

⭐ the wiphy lifecycle era ⭐

this whole chunk is wiphy everything β€” creating it, registering it, locking it, queueing work on it. no notes, just vibes and reference counts:


πŸ’… Utility functions(9) πŸ’…


🌈 Data path helpers(9) 🌈


πŸ”₯ Regulatory enforcement infrastructure(9) πŸ”₯

πŸ“ Internal regulatory db functions(9) πŸ“


okay we're through the doc-section pages, now it's just the entire notification surface and honestly it's a lot but you're doing amazing 🫢 keep scrolling bestie, we're so close:

πŸ’€ RFkill integration(9) πŸ’€

πŸ‘‘ Vendor commands(9) πŸ‘‘

πŸ™ˆ Test mode(9) πŸ™ˆ


and the last stretch, bestie, we are SO close, drink some water πŸ“:

okay so the SEE ALSO list literally keeps going β€” here's the rest of it, and every single one is its own whole manpage you can go read if you're feeling brave 🫢


like… SIXTY-FOUR cross references, bestie. the way this page said "here's the whole friend group, go say hi to each of them" 😭 that's main character energy fr fr. click through, poke around, and honestly? you're gonna slay the wireless stack πŸ’…βœ¨

and that's a wrap on this whole manual page, no cap β€” it lives over in ./include/net and the date on it is October 2026, so yeah, she's got a timestamp and everything πŸŽ€ go forth and be iconic, you've got this πŸ¦‹πŸ’–

πŸ“¦ where this page comes from