cfg80211_cha...1g_pri_width(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_chandef_s1g_pri_width(9) πŸ’…

Kernel API Manual · section 9 · bestie edition 🫢


πŸŽ€ NAME πŸŽ€

cfg80211_chandef_s1g_pri_width β€” return S1G primary width in MHz


✨ SYNOPSIS ✨

int cfg80211_chandef_s1g_pri_width (struct cfg80211_chan_def *chandef );

🌸 ARGUMENTS 🌸

  • chandef β€” the chandef to use, bestie. That’s the struct you’re handing over πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, an S1G interface can have a primary channel width of either 1 or 2MHz, depending on whether chandef::s1g_primary_2mhz is set. That’s the whole vibe check here ✨


⚠️ NOTE ⚠️

Okay this part is important, no cap: there is _always_ a 1MHz primary subchannel, regardless of the primary width. So chandef::chan always points to this 1MHz primary channel. Periodt πŸ’…

πŸ’– RETURN πŸ’–

Returns the width in MHz of the S1G primary channel in use. Slay πŸ’«

✨ SEE ALSO ✨

Okay bestie, this is the part where the man page literally opens the whole friend group chat and introduces you to everyone. It's giving Wi-Fi cinematic universe πŸ’…. No cap, every single reference from the original is still here, just with way more sparkle.

First up, the kernel-file energy and the core types/enums that set the whole vibe:

Then we slide into Actions and configuration, which is lowkey a whole saga of chandefs, station params, and beacon data 🫢:

Now the Scanning and BSS list handling crew rolls in, and it's honestly iconic how many BSS/scan structs there are 😭✨:

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

Next is the NAN neighborhood β€” Neighbor Awareness Networking (NAN) β€” plus PMSR, external auth, and the whole wiphy friend group. This chunk is highkey giving β€œtoo many structs but make it fashion” πŸ’€πŸŽ€:

Then the Utility functions section pulls up with channel math, radiotap, and header-length besties 🌈:

Now we've got the regulatory infrastructure, the internal regdb functions, and then a massive BSS/mgmt notification era. It's giving β€œthe plot thickens” 😭πŸ”₯:


okay so that's the main character out of the way πŸ’… β€” but she does not exist in a vacuum, and the cross-reference section is basically her entire friend group. Every single one of these has her own manpage, so if you liked this one (you did, bestie, don't lie), go read the whole extended universe πŸ¦‹:

  • cfg80211_reg_check_beaconing(9) β€” checking the beaconing, it's literally right there in the name ✨
  • cfg80211_reg_can_beacon(9) β€” can she beacon? iconic question, honestly
  • cfg80211_reg_can_beacon_relax(9) β€” same question but ✨relaxed✨
  • cfg80211_ch_switch_notify(9) β€” channel switch announcement energy
  • cfg80211_ch_switch_started_notify(9) β€” the "started" one, so yes she's the sequel 🎬
  • ieee80211_operating_class_to_band(9) β€” operating class β†’ band, a conversion girlie
  • ieee80211_operating_class_to_chandef(9) β€” operating class β†’ chandef, same girlie, different output
  • ieee80211_chandef_to_operating_class(9) β€” she's the reverse of the last one and she knows it πŸ’…
  • ieee80211_chandef_to_khz(9) β€” chandef β†’ kHz, numbers slay
  • cfg80211_tdls_oper_request(9) β€” TDLS requests, very niche, very her
  • cfg80211_calculate_bitrate(9) β€” math! bitrate math! πŸ”₯
  • cfg80211_unregister_wdev(9) β€” unregistering a wdev, bye bestie πŸ‘‹
  • cfg80211_register_netdevice(9) β€” registering a netdevice, the meet-cute
  • cfg80211_unregister_netdevice(9) β€” and the breakup arc 😭
  • struct cfg80211_ft_event_params(9) β€” a struct!! she's built different 🧚
  • cfg80211_ft_event(9) β€” the ft event herself
  • cfg80211_get_p2p_attr(9) β€” P2P attributes, get them, go
  • ieee80211_ie_split_ric(9) β€” splitting IEs, RIC edition
  • ieee80211_ie_split(9) β€” plain IE splitting, no notes
  • ieee80211_fragment_element(9) β€” fragmenting an element, breaking things apart on purpose πŸ’€
  • cfg80211_report_wowlan_wakeup(9) β€” wowlan wakeup report, good morning β˜€οΈ
  • cfg80211_crit_proto_stopped(9) β€” critical protocol stopped, sad girl hours
  • ieee80211_get_num_supported_channels(9) β€” counting channels, one two three
  • cfg80211_check_combinations(9) β€” combinations, checked βœ…
  • cfg80211_iter_combinations(9) β€” combinations, iterated
  • cfg80211_get_radio_idx_by_chan(9) β€” radio index by channel, iykyk
  • cfg80211_stop_link(9) β€” stop the link πŸ›‘
  • cfg80211_stop_iface(9) β€” stop the iface too, she's not sorry
  • cfg80211_shutdown_all_interfaces(9) β€” ALL of them?? dramatic but okay πŸ‘‘
  • wiphy_ext_feature_set(9) β€” set an ext feature
  • wiphy_ext_feature_isset(9) β€” check if that ext feature is set, the duo
  • cfg80211_free_nan_func(9) β€” freeing a NAN function, memory hygiene queen 🧼
  • struct cfg80211_nan_match_params(9) β€” nan match params, another struct, we stan
  • cfg80211_nan_match(9) β€” NAN match ✨
  • cfg80211_nan_func_terminated(9) β€” terminated, rip bestie πŸ’
  • cfg80211_nan_sched_update_done(9) β€” sched update done, periodt
  • cfg80211_external_auth_request(9) β€” external auth request, fancy
  • cfg80211_pmsr_report(9) β€” PMSR report πŸ“‹
  • cfg80211_pmsr_complete(9) β€” and complete, they come as a set
  • cfg80211_iftype_allowed(9) β€” is this iftype allowed? ask her
  • cfg80211_assoc_comeback(9) β€” assoc comeback szn 🫢
  • cfg80211_update_owe_info_event(9) β€” OWE info update event
  • cfg80211_bss_flush(9) β€” flush the BSS
  • cfg80211_bss_color_notify(9) β€” BSS color notify, colorful energy 🌈
  • cfg80211_obss_color_collision_notify(9) β€” OBSS color collision, oops πŸ™ˆ
  • cfg80211_color_change_started_notify(9) β€” color change started
  • cfg80211_color_change_aborted_notify(9) β€” aborted, we don't talk about it 😭
  • cfg80211_color_change_notify(9) β€” and the finished one, redemption arc
  • cfg80211_6ghz_power_type(9) β€” 6 GHz power type, very 2020s of her
  • cfg80211_links_removed(9) β€” links removed, gone πŸƒ
  • struct cfg80211_mlo_reconf_done_data(9) β€” MLO reconf done data, struct number three, she's thriving
  • cfg80211_mlo_reconf_add_done(9) β€” MLO reconf add done
  • cfg80211_schedule_channels_check(9) β€” schedule that channel check, put it on the calendar πŸ“…
  • cfg80211_epcs_changed(9) β€” EPCS changed
  • cfg80211_next_nan_dw_notif(9) β€” next NAN DW notif
  • cfg80211_nan_cluster_joined(9) β€” cluster joined, she's in 🫢
  • cfg80211_nan_ulw_update(9) β€” ULW update
  • cfg80211_nan_channel_evac(9) β€” channel evac, evacuate babes πŸƒβ€β™€οΈ
  • wiphy_locked_debugfs_read(9) β€” debugfs read but locked πŸ”’
  • wiphy_locked_debugfs_write(9) β€” and write, obviously, matching set
  • cfg80211_s1g_get_start_freq_khz(9) β€” S1G start freq, in kHz like the name says
  • cfg80211_s1g_get_end_freq_khz(9) β€” S1G end freq, in kHz too, boom
  • cfg80211_s1g_get_primary_sibling(9) β€” primary sibling, genuinely such a cute name ngl πŸŽ€
  • cfg80211_incumbent_signal_notify(9) β€” incumbent signal notify, final boss of the list πŸ’œ

aaaand that's the whole page, bestie, we ate that fr fr πŸ”₯ this one lives under ./include/net, is dated October 2026, and the copyright/license business is handled the usual kdoc way β€” go hydrate, go read the other sixty-something pages, and remember: vibe check your chandefs before you ship πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from