cfg80211_chandef_add_dbe(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ cfg80211_chandef_add_dbe β€” like, the whole vibe

okay so real talk, we're in the Kernel API Manual bestie, and this page is about cfg80211_chandef_add_dbe. she's a little function with a big job and honestly? she ate. let's get into it 🫢


✨ NAME ✨

cfg80211_chandef_add_dbe β€” literally parses DBE info and adds it to a chandef. that's it, that's the whole thing, no cap πŸ’…


🌸 SYNOPSIS 🌸

int cfg80211_chandef_add_dbe (struct cfg80211_chan_def *chandef , const
       struct ieee80211_uhr_dbe_info *dbe );

look at her go 😭 two pointers, one int return, classic main-character energy. note that the signature is wrapped across two lines exactly like the original β€” we do not mess with the code in this house πŸ”₯


πŸ¦‹ ARGUMENTS πŸ¦‹

  • chandef β€” the chandef you're expanding, babe. that's the one getting the glow-up ✨
  • dbe β€” the DBE info itself. ⚠️ important: it must be size-checked if not NULL. like, do not skip the size check, this is not a drill, we are not being chaotic today 🫢
πŸŽ€ friendly reminder: dbe can be NULL, but if it isn't? size-check it first. the manpage said it, so we say it, periodt.

⭐ RETURN ⭐

  • 0 β€” success!! we love to see it, slay πŸ’–
  • a negative error code β€” it went sideways, bestie. negative means not today 😭

that's part one, stay tuned for more πŸ‘‘

🫢 SEE ALSO 🫢

okay so this is the part where the page just... lists everyone. it's giving awards-show red carpet ✨ β€” every struct, every enum, every function that has literally anything to do with this corner of cfg80211 is getting named, and honestly? they all ate. πŸ’…

no skimming allowed, bestie β€” we're going through the whole squad in order, so hydrate first πŸ“

the source of truth + the starter page:

  • Kernel file ./include/net/cfg80211.h πŸ“„ β€” the actual header this whole universe lives in
  • Introduction(9)

channels, rates and the base-level vibes:

  • 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)
  • 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)
  • struct ieee80211_sband_iftype_data(9)
  • enum ieee80211_edmg_bw_config(9)
  • struct ieee80211_edmg(9)
  • struct ieee80211_sta_s1g_cap(9)
  • struct ieee80211_supported_band(9)

the way that list just kept going 😭 and it's not even close to done.

the sband/iftype helper crew:


Actions and configuration β€” yup, that's a whole page, Actions and configuration(9), and it's the main character of this chunk:

  • Actions and configuration(9)
  • 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)

the chandef function family reunion πŸ’– (this is the whole reason you're here, let's be real):

lowkey iconic that cfg80211_chandef_add_dbe has this entire extended family showing up for it 🫢

surveys:

  • enum survey_info_flags(9)
  • struct survey_info(9)

AP / beacon / crypto setup era 🌸:

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

stations, links, and every stat you could ever want πŸ¦‹:

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

SAR stuff (the power-limit girlies πŸ‘‘):

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

monitor / mesh / ocb / txq corner:

  • 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 and BSS list handling(9) β€” another whole page, and it brought friends 🌈:

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

connecting, joining, leaving (the whole situationship arc 😭):

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

keys, patterns, and the power-save fantasy land πŸ’œ:

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

Neighbor Awareness Networking (NAN)(9) β€” yes it gets its own page and honestly it deserves it ✨:

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

auth-adjacent + ranging (pmsr) besties:

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

the driver-facing big guns πŸ”₯:

  • struct mgmt_frame_regs(9)
  • struct cfg80211_ops(9)
  • enum wiphy_flags(9)
  • struct ieee80211_iface_limit(9)
  • struct ieee80211_iface_combination(9)
  • enum wiphy_wowlan_support_flags(9)
  • struct wiphy_wowlan_support(9)
  • struct wiphy_coalesce_support(9)
  • enum wiphy_vendor_command_flags(9)
  • enum wiphy_opmode_flag(9)
  • struct sta_opmode_info(9)
  • struct wiphy_vendor_command(9)
  • struct wiphy_iftype_ext_capab(9)
  • cfg80211_get_iftype_ext_capa(9)
  • struct cfg80211_pmsr_capabilities(9)
  • struct wiphy_iftype_akm_suites(9)
  • struct wiphy_radio_cfg(9)
  • struct wiphy_radio_freq_range(9)
  • struct wiphy_radio(9)
  • enum wiphy_nan_flags(9)
  • struct wiphy_nan_capa(9)

struct wiphy(9) and literally every way to touch it πŸŽ€:

the workqueue glow-up (regular, delayed, and hrtimer β€” collect all three 🌟):

wireless_dev gang πŸ¦‹:


Utility functions(9) β€” say it with me, utility functions 🧚:

Data path helpers(9) + the element-finding crew ⭐:


Regulatory enforcement infrastructure(9) β€” the vibes are "i'm telling the government" πŸ’€:

Internal regulatory db functions(9) 🌈:

scan/BSS lifecycle round two (the notify-everyone era):

RFkill integration(9) β€” turn yourself back on, queen πŸ™ˆ:

Vendor commands(9) β€” go off, off-tree code πŸ’…:

Test mode(9) β€” for when you're in your experimental era πŸ”₯:


connect / roam / disconnect notification squad 🫢:

station info alloc/free + new/del station:

mgmt rx/tx reporting (the khz variants are here, yes really ✨):

CQM + radar + CAC + rekey notifications (the "hey heads up" girlies 🌸):

the last little stretch (we're so close bestie 🌟):

and that's literally the entire extended family β€” every single name, no cap 🧚 and there's still more page to go so don't you dare close the tab β€”

…and the extended fam continues, because this list is long and we are not skipping a single one, bestie:

ok that's genuinely the whole list, no cap β€” every single one is in there, in order, nothing dropped πŸ’…

the little footer moment 🫢

So this page lives over in ./include/net (that's the source bestie, it's a kernel-headers situation, you know the vibe ✨), and the date on it is October 2026 β€” yes, we're being that current, main character energy fr fr. And the page itself answers to the name cfg80211_chandef_add_dbe(9), which is also the version stamp at the bottom. That's the whole footer, slayed, ate, no crumbs πŸ˜­πŸ‘‘

Go forth and add those chandefs, queen πŸ’–πŸ¦‹

πŸ“¦ where this page comes from