cfg80211_chandef_create(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ cfg80211_chandef_create ✨

okay bestie, so this is the Kernel API Manual page for cfg80211_chandef_create β€” a lil function that's literally just here to help you build a channel definition out of a channel type. it's giving "small but mighty" energy πŸ’…


🌸 SYNOPSIS 🌸

void cfg80211_chandef_create(struct cfg80211_chan_def *chandef,
                             struct ieee80211_channel *channel,
                             enum nl80211_channel_type chantype);

like, that's the whole signature. three args, void return, no cap. 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • chandef β€” the channel definition struct you're filling in. this is the thing getting written to, so bestie, please make sure it's real memory and not a vibe ✨
  • channel β€” the control channel. the main character of this whole operation πŸ‘‘
  • chantype β€” the channel type. this is what tells the function how to shape the definition πŸ’–

πŸ’œ DESCRIPTION πŸ’œ

Given a channel type, create a channel definition. that's it. that's the sentence. short, sweet, and to the point β€” honestly iconic behaviour 😭✨

so like, you hand it a chantype and it goes ahead and fills in your chandef accordingly, using channel as the control channel. one job, done well. we love a focused function. πŸ’…


no extra lore here yet, bestie β€” more parts are coming, so stay tuned πŸ¦‹

✨ SEE ALSO ✨

okay bestie, buckle up, because this is not a "see also" list, it's a whole friend group 😭 literally everyone in cfg80211 shows up to the party. The whole fam lives in the kernel file ./include/net/cfg80211.h, and here's the full guest list, no cap, nobody left out:

  • the door + the orientation β€” Introduction(9), Device registration(9)


the chandef cinematic universe πŸ’…

not me putting these in their own little section because they're literally the siblings of the function this page is about β€” Actions and configuration(9), struct vif_params(9), struct key_params(9), then:


  • survey + crypto + AP-era structs β€” 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)
  • interface combos + station stuff β€” 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)
  • rate info + bss params + stats β€” 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)
  • SAR, monitor, mesh, ocb, txq β€” 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)

scanning & BSS list handling πŸ”

  • 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 / connect era (the plot) β€” 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 girlies πŸ¦‹

  • 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 / ftm / pmsr / owe / mgmt frames β€” 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)

wiphy-core, aka the main characters πŸ‘‘


utility functions ✨ (the little helpers that ate)


data path helpers 🌈


regulatory πŸ’œ (the rules girlies)


scan/BSS notifications & mlme πŸ“‘



the connect/roam/notify crowd πŸŽ€

…and okay bestie, the SEE ALSO situation is honestly giving whole entire extended family reunion 😭 like this page does not have one or two siblings, it has a whole group chat. Here's everyone, in order, no cap:

That's the whole squad 🫢 and yes, two of them are struct pages, not function pages β€” they're in the list too, we don't gatekeep ✨

okay real talk for a sec: that's a lot of cross-references. If you're chasing a chandef down a rabbit hole, double-check you actually grabbed the right page before you go copying anything, bestie. Man pages are like, famously one typo away from chaos πŸ’€

πŸŽ€ bye bestie, drink some water πŸŽ€

That's the whole page β€” you made it, and honestly? Iconic behavior. πŸ’…

This one lives in ./include/net, it's the October 2026 edition, and the page itself is cfg80211_chandef_create(9). Now go forth and be normal about channel definitions. Slay πŸŒˆπŸ’–

πŸ“¦ where this page comes from