ieee80211_ch...rating_class(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ ieee80211_ch...rating_class(9) ✨

okay so this is a page straight out of the Kernel API Manual bestie, and yes the title got a little truncated by the terminal (it's giving "my name is too long for this column" energy 😭) β€” but don't worry, we're about to unpack the whole thing together 🫢


🌸 NAME 🌸

ieee80211_chandef_to_operating_class β€” the little function that converts a chandef into an operation class πŸ’«

like. literally what it says on the tin. chandef goes in, operating class comes out. slay.


πŸŽ€ SYNOPSIS πŸŽ€

bool ieee80211_chandef_to_operating_class(struct cfg80211_chan_def *chandef, u8 *op_class);
✨ notice the return type bestie β€” it's a bool, which means it's gonna tell you yes or no at the end. no cap. πŸ‘‘

πŸ¦‹ ARGUMENTS πŸ¦‹

  • chandef β€” the chandef you wanna convert, bestie. that's the input, that's the main character of this whole operation πŸ’…
  • op_class β€” a pointer to the resulting operating class 🌈 like, this is where the answer ends up. it's an output, it's not reading from it, it's writing into it. iykyk.

πŸ’– RETURN πŸ’–

  • true β€” the conversion was successful πŸŽ‰ ate and left no crumbs
  • false β€” it wasn't 😭 better luck next time

that's part one, babe β€” more coming, don't go anywhere πŸ§šπŸ’œ

🌸 SEE ALSO 🌸

okay bestie, this is the part where we list literally everyone in this friend group πŸ’–. It's a long list β€” no cap β€” but that's because the kernel Wi-Fi squad is huge. Skim it, tap what you need, don't panic. 🫢

  • ./include/net/cfg80211.h β€” the actual kernel file where this whole universe lives, tied to Introduction(9) β€” start there if you're brand new, it's giving orientation week πŸ’…
  • Device registration(9) β€” how a device actually gets itself on the bus, like finally being added to the group chat
  • enum ieee80211_channel_flags(9) β€” the little flags that hang off a channel
  • struct ieee80211_channel(9) β€” the channel struct itself, main character energy πŸ‘‘
  • enum ieee80211_rate_flags(9) β€” flags, but for rates
  • enum ieee80211_bss_type(9) β€” what kind of BSS we're talking about
  • enum ieee80211_privacy(9) β€” the privacy enum, she's mysterious πŸ™ˆ
  • struct ieee80211_rate(9) β€” a rate, as an actual struct
  • struct ieee80211_he_obss_pd(9) β€” HE OBSS PD, yes that's the whole vibe
  • struct cfg80211_he_bss_color(9) β€” BSS coloring, but make it HE
  • struct ieee80211_sta_ht_cap(9) β€” HT capabilities of a station
  • struct ieee80211_sta_vht_cap(9) β€” VHT capabilities, the sequel
  • struct ieee80211_sta_he_cap(9) β€” HE caps, threequel
  • struct ieee80211_eht_mcs_nss_supp(9) β€” EHT MCS/NSS support, say that five times fast 😭
  • struct ieee80211_sta_eht_cap(9) β€” EHT caps, the fourquel
  • struct ieee80211_sta_uhr_cap(9) β€” UHR caps, she's new here ✨
  • struct ieee80211_sband_iftype_data(9) β€” per-band, per-iftype data, lowkey the backbone
  • enum ieee80211_edmg_bw_config(9) β€” EDMG bandwidth config enum
  • struct ieee80211_edmg(9) β€” the EDMG struct
  • struct ieee80211_sta_s1g_cap(9) β€” S1G caps, niche but iconic
  • struct ieee80211_supported_band(9) β€” what a band actually supports
  • _ieee80211_set_sband_iftype_data(9) β€” the underscore one, iykyk πŸ‘€
  • ieee80211_set_sband_iftype_data(9) β€” and its public bestie
  • for_each_sband_iftype_data(9) β€” the iterator, she loops
  • ieee80211_get_sband_iftype_data(9) β€” the getter for all that
  • ieee80211_get_he_iftype_cap(9) β€” grab the HE iftype cap
  • ieee80211_get_he_6ghz_capa(9) β€” HE 6 GHz capa, special lil 6GHz moment
  • ieee80211_get_eht_iftype_cap(9) β€” EHT version of the same
  • ieee80211_get_uhr_iftype_cap(9) β€” and UHR, she ate πŸ”₯
  • wiphy_read_of_freq_limits(9) β€” reads freq limits out of the device tree

πŸ’« Actions and configuration(9) crew πŸ’«

  • Actions and configuration(9) β€” the whole section hub, start here for doing-stuff
  • struct vif_params(9) β€” params for a virtual interface
  • struct key_params(9) β€” key params, keep 'em secret 🀫
  • struct cfg80211_chan_def(9) β€” the channel definition struct, essential
  • struct cfg80211_tid_cfg(9) β€” per-TID config
  • struct cfg80211_tid_config(9) β€” the plural, per-TID configs
  • struct cfg80211_fils_aad(9) β€” FILS AAD
  • struct cfg80211_set_hw_timestamp(9) β€” hardware timestamp setting
  • cfg80211_get_chandef_type(9) β€” get the chandef type
  • cfg80211_chandef_create(9) β€” create a chandef
  • cfg80211_chandef_identical(9) β€” are these two chandefs the same? vibe check πŸ’…
  • cfg80211_chandef_is_edmg(9) β€” is it EDMG? yes or no
  • cfg80211_chandef_is_s1g(9) β€” is it S1G? also yes or no
  • cfg80211_chandef_compatible(9) β€” are they compatible, not just cute together
  • nl80211_chan_width_to_mhz(9) β€” width in MHz
  • cfg80211_chandef_get_width(9) β€” get the width of a chandef
  • cfg80211_chandef_valid(9) β€” validity check, do not skip 😀
  • cfg80211_chandef_usable(9) β€” usable check, different from valid, don't mix them up
  • cfg80211_chandef_dfs_required(9) β€” does DFS apply here
  • cfg80211_chandef_dfs_usable(9) β€” and is it DFS-usable
  • cfg80211_chandef_dfs_cac_time(9) β€” how long CAC takes, go touch grass meanwhile 🌱
  • cfg80211_chandef_primary(9) β€” get the primary channel
  • cfg80211_chandef_npca_valid(9) β€” NPCA validity
  • cfg80211_chandef_add_npca(9) β€” add NPCA
  • cfg80211_chandef_add_dbe(9) β€” add DBE
  • nl80211_send_chandef(9) β€” send the chandef out into the world
  • ieee80211_chandef_max_power(9) β€” max power for the chandef
  • cfg80211_chandef_s1g_pri_width(9) β€” S1G primary width
  • cfg80211_any_usable_channels(9) β€” are there any usable channels, pls say yes 😭
  • enum survey_info_flags(9) β€” survey flags
  • struct survey_info(9) β€” the survey info itself
  • struct cfg80211_crypto_settings(9) β€” crypto settings, she's locked πŸŽ€
  • struct cfg80211_mbssid_config(9) β€” M-BSSID config
  • struct cfg80211_mbssid_elems(9) β€” M-BSSID elements
  • struct cfg80211_rnr_elems(9) β€” RNR elements
  • struct cfg80211_beacon_data(9) β€” beacon data
  • struct cfg80211_acl_data(9) β€” ACL data
  • struct cfg80211_fils_discovery(9) β€” FILS discovery
  • struct cfg80211_unsol_bcast_probe_resp(9) β€” unsolicited broadcast probe response, long name, big energy
  • struct cfg80211_s1g_short_beacon(9) β€” S1G short beacon
  • struct cfg80211_ap_settings(9) β€” AP settings
  • struct cfg80211_ap_update(9) β€” AP update
  • struct cfg80211_csa_settings(9) β€” channel switch announcement settings
  • struct cfg80211_color_change_settings(9) β€” color change settings 🌈
  • struct iface_combination_params(9) β€” interface combination params
  • enum station_parameters_apply_mask(9) β€” apply mask for station params
  • struct sta_txpwr(9) β€” station TX power
  • struct link_station_parameters(9) β€” link station params
  • struct link_station_del_parameters(9) β€” params for deleting one
  • struct cfg80211_ttlm_params(9) β€” TTLM params
  • struct station_parameters(9) β€” station params
  • struct station_del_parameters(9) β€” deletion params
  • enum cfg80211_station_type(9) β€” what type of station
  • cfg80211_check_station_change(9) β€” check if a station change is allowed
  • enum rate_info_flags(9) β€” rate info flags
  • enum rate_info_bw(9) β€” rate info bandwidth
  • struct rate_info(9) β€” the rate info struct
  • enum bss_param_flags(9) β€” BSS param flags
  • struct sta_bss_parameters(9) β€” station BSS params
  • struct cfg80211_txq_stats(9) β€” TXQ stats
  • struct cfg80211_tid_stats(9) β€” TID stats
  • struct link_station_info(9) β€” link station info
  • struct station_info(9) β€” station info, the big one
  • struct cfg80211_sar_sub_specs(9) β€” SAR sub-specs
  • struct cfg80211_sar_specs(9) β€” SAR specs
  • struct cfg80211_sar_freq_ranges(9) β€” SAR frequency ranges
  • struct cfg80211_sar_capa(9) β€” SAR capabilities
  • cfg80211_get_station(9) β€” get a station
  • enum monitor_flags(9) β€” monitor flags
  • enum mpath_info_flags(9) β€” mesh path info flags
  • struct mpath_info(9) β€” mesh path info
  • enum wiphy_bss_param_flags(9) β€” wiphy BSS param flags
  • struct bss_parameters(9) β€” BSS parameters
  • struct mesh_config(9) β€” mesh config
  • struct mesh_setup(9) β€” mesh setup
  • struct ocb_setup(9) β€” OCB setup
  • struct ieee80211_txq_params(9) β€” TXQ params

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

  • Scanning and BSS list handling(9) β€” the whole scanning section, go here for scan lore
  • struct cfg80211_ssid(9) β€” an SSID
  • struct cfg80211_scan_info(9) β€” scan info
  • struct cfg80211_scan_6ghz_params(9) β€” the 6 GHz scan params
  • struct cfg80211_scan_request(9) β€” a scan request
  • struct cfg80211_match_set(9) β€” match set
  • struct cfg80211_sched_scan_plan(9) β€” scheduled scan plan
  • struct cfg80211_bss_select_adjust(9) β€” BSS selection adjustment
  • struct cfg80211_sched_scan_request(9) β€” scheduled scan request
  • enum cfg80211_signal_type(9) β€” signal type enum
  • struct cfg80211_inform_bss(9) β€” inform BSS
  • struct cfg80211_bss_ies(9) β€” the BSS IEs
  • struct cfg80211_bss(9) β€” the BSS struct itself, icon
  • ieee80211_bss_get_elem(9) β€” get an element from a BSS
  • ieee80211_bss_get_ie(9) β€” the older get-an-IE helper
  • struct cfg80211_auth_request(9) β€” auth request
  • struct cfg80211_assoc_link(9) β€” assoc link
  • struct cfg80211_ml_reconf_req(9) β€” ML reconf request
  • enum cfg80211_assoc_req_flags(9) β€” assoc request flags
  • struct cfg80211_assoc_request(9) β€” assoc request
  • struct cfg80211_deauth_request(9) β€” deauth request, the breakup text πŸ’”
  • struct cfg80211_disassoc_request(9) β€” disassoc request, softer breakup
  • struct cfg80211_ibss_params(9) β€” IBSS params
  • struct cfg80211_bss_selection(9) β€” BSS selection
  • struct cfg80211_connect_params(9) β€” connect params
  • enum cfg80211_connect_params_changed(9) β€” what changed in the connect params
  • enum wiphy_params_flags(9) β€” wiphy params flags
  • struct cfg80211_pmksa(9) β€” PMKSA
  • struct cfg80211_pkt_pattern(9) β€” packet pattern
  • struct cfg80211_wowlan_tcp(9) β€” WoWLAN TCP, wake-on-wireless magic ✨
  • struct cfg80211_wowlan(9) β€” WoWLAN
  • struct cfg80211_coalesce_rules(9) β€” coalesce rules
  • struct cfg80211_coalesce(9) β€” coalesce
  • struct cfg80211_wowlan_nd_match(9) β€” WoWLAN net-detect match
  • struct cfg80211_wowlan_nd_info(9) β€” WoWLAN net-detect info
  • struct cfg80211_wowlan_wakeup(9) β€” WoWLAN wakeup
  • struct cfg80211_gtk_rekey_data(9) β€” GTK rekey data
  • struct cfg80211_update_ft_ies_params(9) β€” update FT IEs params
  • struct cfg80211_mgmt_tx_params(9) β€” mgmt TX params
  • struct cfg80211_dscp_exception(9) β€” DSCP exception
  • struct cfg80211_dscp_range(9) β€” DSCP range
  • struct cfg80211_qos_map(9) β€” QoS map

🧚 Neighbor Awareness Networking (NAN)(9) corner 🧚

  • Neighbor Awareness Networking (NAN)(9) β€” the NAN section, she's social
  • struct cfg80211_nan_band_config(9) β€” NAN band config
  • struct cfg80211_nan_conf(9) β€” NAN conf
  • struct cfg80211_nan_channel(9) β€” NAN channel
  • struct cfg80211_nan_local_sched(9) β€” NAN local schedule
  • struct cfg80211_nan_peer_map(9) β€” NAN peer map
  • struct cfg80211_nan_peer_sched(9) β€” NAN peer schedule
  • enum cfg80211_nan_conf_changes(9) β€” NAN conf changes
  • struct cfg80211_nan_func_filter(9) β€” NAN function filter
  • struct cfg80211_nan_func(9) β€” NAN function

🌈 the rest of the connection / PMSR / wiphy fam 🌈

  • struct cfg80211_pmk_conf(9) β€” PMK conf
  • struct cfg80211_external_auth_params(9) β€” external auth params
  • struct cfg80211_ftm_responder_stats(9) β€” FTM responder stats
  • struct cfg80211_pmsr_ftm_result(9) β€” PMSR FTM result
  • struct cfg80211_pmsr_result(9) β€” PMSR result
  • struct cfg80211_pmsr_ftm_request_peer(9) β€” PMSR FTM request peer
  • struct cfg80211_pmsr_request_peer(9) β€” PMSR request peer
  • struct cfg80211_pmsr_request(9) β€” PMSR request
  • struct cfg80211_update_owe_info(9) β€” update OWE info
  • struct mgmt_frame_regs(9) β€” management frame registrations
  • struct cfg80211_ops(9) β€” the ops struct, all the callbacks live here πŸ‘‘
  • enum wiphy_flags(9) β€” wiphy flags
  • struct ieee80211_iface_limit(9) β€” interface limit
  • struct ieee80211_iface_combination(9) β€” interface combination
  • enum wiphy_wowlan_support_flags(9) β€” WoWLAN support flags
  • struct wiphy_wowlan_support(9) β€” WoWLAN support
  • struct wiphy_coalesce_support(9) β€” coalesce support
  • enum wiphy_vendor_command_flags(9) β€” vendor command flags
  • enum wiphy_opmode_flag(9) β€” opmode flag
  • struct sta_opmode_info(9) β€” station opmode info
  • struct wiphy_vendor_command(9) β€” vendor command
  • struct wiphy_iftype_ext_capab(9) β€” iftype extended capabilities
  • cfg80211_get_iftype_ext_capa(9) β€” get the iftype ext capa
  • struct cfg80211_pmsr_capabilities(9) β€” PMSR capabilities
  • struct wiphy_iftype_akm_suites(9) β€” iftype AKM suites
  • struct wiphy_radio_cfg(9) β€” radio config
  • struct wiphy_radio_freq_range(9) β€” radio freq range
  • struct wiphy_radio(9) β€” the radio itself
  • enum wiphy_nan_flags(9) β€” NAN flags
  • struct wiphy_nan_capa(9) β€” NAN capabilities
  • struct wiphy(9) β€” the wiphy, THE main character 🫢
  • wiphy_priv(9) β€” get the private area behind a wiphy
  • priv_to_wiphy(9) β€” go the other way, priv back to wiphy
  • set_wiphy_dev(9) β€” attach a device to a wiphy
  • wiphy_dev(9) β€” grab that device back
  • wiphy_name(9) β€” the wiphy's name, she has one
  • wiphy_new_nm(9) β€” allocate a wiphy with a name
  • wiphy_new(9) β€” allocate a wiphy, classic
  • wiphy_register(9) β€” register it, big moment ✨
  • rcu_dereference_wiphy(9) β€” RCU deref, wiphy-flavored
  • wiphy_dereference(9) β€” the deref helper
  • get_wiphy_regdom(9) β€” get the wiphy's regulatory domain
  • wiphy_unregister(9) β€” unregister, sad but necessary
  • wiphy_free(9) β€” free it
  • wiphy_lock(9) β€” lock it
  • wiphy_unlock(9) β€” and unlock, balance πŸ’…
  • wiphy_work_queue(9) β€” queue wiphy work
  • wiphy_work_cancel(9) β€” cancel it
  • wiphy_work_flush(9) β€” flush it
  • wiphy_delayed_work_queue(9) β€” queue delayed wiphy work
  • wiphy_delayed_work_cancel(9) β€” cancel the delayed kind
  • wiphy_delayed_work_flush(9) β€” flush the delayed kind
  • wiphy_delayed_work_pending(9) β€” is delayed work pending?
  • wiphy_hrtimer_work_queue(9) β€” queue hrtimer work
  • wiphy_hrtimer_work_cancel(9) β€” cancel hrtimer work
  • wiphy_hrtimer_work_flush(9) β€” flush hrtimer work
  • wiphy_hrtimer_work_pending(9) β€” is the hrtimer work pending?
  • enum ieee80211_ap_reg_power(9) β€” AP regulatory power enum
  • struct wireless_dev(9) β€” the wireless dev, aka wdev
  • wdev_priv(9) β€” wdev private area
  • wdev_chandef(9) β€” the wdev's chandef
  • Utility functions(9) β€” the utilities section, handy lil helpers

πŸ“ Utility functions(9) deep dive πŸ“


πŸ”₯ Data path helpers(9) πŸ”₯


πŸ‘‘ Regulatory enforcement infrastructure(9) πŸ‘‘


πŸ’œ BSS reporting & MLME notification zone πŸ’œ


⭐ RFkill integration(9) ⭐


πŸŽ€ Vendor commands(9) πŸŽ€


🧚 Test mode(9) β€” yes she still exists πŸ™ˆ


🌸 connect / roam / channel-ready notifications 🌸

…and the list literally does not stop, bestie β€” here's the rest of the crew, all of them living in the same ./include/net cinematic universe, no cap:


Okay so that's the whole cross-reference family, bestie β€” every single one of them, exactly as written, no edits, no skips. Go read them, or don't, but at least you know they exist now. 🫢

And that's the page! It lives over in ./include/net, and this cut is the October 2026 version. Stay hydrated, read your manpages, and may your chandefs always be valid πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from