_ieee80211_s..._iftype_data(9)
π
_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 enumstruct ieee80211_channel(9)β a channel, as a struct, that's the whole vibeenum ieee80211_rate_flags(9)β rate flags enum, yes another flags enum, we love consistency πenum ieee80211_bss_type(9)β bss type enumenum ieee80211_privacy(9)β privacy enumstruct ieee80211_rate(9)β one single rate, as a treatstruct ieee80211_he_obss_pd(9)β the he obss pd struct πstruct cfg80211_he_bss_color(9)β bss color struct, cute name frstruct ieee80211_sta_ht_cap(9)β HT capability structstruct ieee80211_sta_vht_cap(9)β VHT capability struct, the sequelstruct ieee80211_sta_he_cap(9)β HE capability structstruct ieee80211_eht_mcs_nss_supp(9)β EHT mcs/nss supp struct, say that five times fast πstruct ieee80211_sta_eht_cap(9)β EHT capability structstruct ieee80211_sta_uhr_cap(9)β UHR capability structstruct ieee80211_sband_iftype_data(9)β the main character π this is literally the page you're reading, so yeah, it cites itself, self-loveenum ieee80211_edmg_bw_config(9)β edmg bandwidth config enumstruct ieee80211_edmg(9)β the edmg structstruct ieee80211_sta_s1g_cap(9)β S1G capability structstruct ieee80211_supported_band(9)β supported band struct, the container of containersieee80211_set_sband_iftype_data(9)β the setter, iykykfor_each_sband_iftype_data(9)β the loop macro bestie, go iterate β¨ieee80211_get_sband_iftype_data(9)β the getterieee80211_get_he_iftype_cap(9)β get the HE iftype capieee80211_get_he_6ghz_capa(9)β get the HE 6GHz capa, note the missingb, that's just how it's spelled π«Άieee80211_get_eht_iftype_cap(9)β get the EHT iftype capieee80211_get_uhr_iftype_cap(9)β get the UHR iftype capwiphy_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 structstruct key_params(9)β key params structstruct cfg80211_chan_def(9)β channel definition struct, you'll see this name a LOTstruct cfg80211_tid_cfg(9)β tid cfg structstruct cfg80211_tid_config(9)β tid config struct (yes, both, don't @ me)struct cfg80211_fils_aad(9)β fils aad structstruct cfg80211_set_hw_timestamp(9)β set hw timestamp structcfg80211_get_chandef_type(9)β get the chandef typecfg80211_chandef_create(9)β create a chandefcfg80211_chandef_identical(9)β are they identical? read the page π¦cfg80211_chandef_is_edmg(9)β is it edmgcfg80211_chandef_is_s1g(9)β is it s1gcfg80211_chandef_compatible(9)β compatible or notnl80211_chan_width_to_mhz(9)β width β‘οΈ mhzcfg80211_chandef_get_width(9)β get the widthcfg80211_chandef_valid(9)β valid checkcfg80211_chandef_usable(9)β usable checkcfg80211_chandef_dfs_required(9)β dfs required?cfg80211_chandef_dfs_usable(9)β dfs usable?cfg80211_chandef_dfs_cac_time(9)β dfs cac timecfg80211_chandef_primary(9)β the primary channel of the chandefcfg80211_chandef_npca_valid(9)β npca valid checkcfg80211_chandef_add_npca(9)β add npcacfg80211_chandef_add_dbe(9)β add dbenl80211_send_chandef(9)β send itieee80211_chandef_max_power(9)β max power for a chandef π₯cfg80211_chandef_s1g_pri_width(9)β s1g primary widthcfg80211_any_usable_channels(9)β any usable channels at all?enum survey_info_flags(9)β survey flags enumstruct survey_info(9)β survey info structstruct cfg80211_crypto_settings(9)β crypto settings structstruct cfg80211_mbssid_config(9)β mbssid config structstruct cfg80211_mbssid_elems(9)β mbssid elems structstruct cfg80211_rnr_elems(9)β rnr elems structstruct cfg80211_beacon_data(9)β beacon data structstruct cfg80211_acl_data(9)β acl data structstruct cfg80211_fils_discovery(9)β fils discovery structstruct cfg80211_unsol_bcast_probe_resp(9)β unsolicited broadcast probe response struct, long name, iconicstruct cfg80211_s1g_short_beacon(9)β s1g short beacon structstruct cfg80211_ap_settings(9)β AP settings structstruct cfg80211_ap_update(9)β AP update structstruct cfg80211_csa_settings(9)β CSA settings structstruct cfg80211_color_change_settings(9)β color change settings struct πstruct iface_combination_params(9)β interface combination paramsenum station_parameters_apply_mask(9)β station parameters apply mask enumstruct sta_txpwr(9)β sta tx power structstruct link_station_parameters(9)β link station parametersstruct link_station_del_parameters(9)β link station del parametersstruct cfg80211_ttlm_params(9)β ttlm params structstruct station_parameters(9)β station parameters structstruct station_del_parameters(9)β station del parameters structenum cfg80211_station_type(9)β station type enumcfg80211_check_station_change(9)β check the station changeenum rate_info_flags(9)β rate info flags enumenum rate_info_bw(9)β rate info bandwidth enumstruct rate_info(9)β rate info structenum bss_param_flags(9)β bss param flags enumstruct sta_bss_parameters(9)β sta bss parameters structstruct cfg80211_txq_stats(9)β txq stats structstruct cfg80211_tid_stats(9)β tid stats structstruct link_station_info(9)β link station info structstruct station_info(9)β station info struct, the big onestruct cfg80211_sar_sub_specs(9)β sar sub specs structstruct cfg80211_sar_specs(9)β sar specs structstruct cfg80211_sar_freq_ranges(9)β sar freq ranges structstruct cfg80211_sar_capa(9)β sar capa structcfg80211_get_station(9)β get the stationenum monitor_flags(9)β monitor flags enumenum mpath_info_flags(9)β mpath info flags enumstruct mpath_info(9)β mpath info structenum wiphy_bss_param_flags(9)β wiphy bss param flags enumstruct bss_parameters(9)β bss parameters structstruct mesh_config(9)β mesh config structstruct mesh_setup(9)β mesh setup structstruct ocb_setup(9)β ocb setup structstruct 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 structstruct cfg80211_scan_info(9)β scan info structstruct cfg80211_scan_6ghz_params(9)β 6GHz scan params structstruct cfg80211_scan_request(9)β scan request structstruct cfg80211_match_set(9)β match set structstruct cfg80211_sched_scan_plan(9)β scheduled scan plan structstruct cfg80211_bss_select_adjust(9)β bss select adjust structstruct cfg80211_sched_scan_request(9)β scheduled scan request structenum cfg80211_signal_type(9)β signal type enumstruct cfg80211_inform_bss(9)β inform bss structstruct cfg80211_bss_ies(9)β bss IEs structstruct cfg80211_bss(9)β the bss struct itselfieee80211_bss_get_elem(9)β get an element out of a bssieee80211_bss_get_ie(9)β get an IE out of a bss (yes, both exist, they're siblings π )struct cfg80211_auth_request(9)β auth request structstruct cfg80211_assoc_link(9)β assoc link structstruct cfg80211_ml_reconf_req(9)β ml reconf request structenum cfg80211_assoc_req_flags(9)β assoc request flags enumstruct cfg80211_assoc_request(9)β assoc request structstruct cfg80211_deauth_request(9)β deauth request structstruct cfg80211_disassoc_request(9)β disassoc request structstruct cfg80211_ibss_params(9)β ibss params structstruct cfg80211_bss_selection(9)β bss selection structstruct cfg80211_connect_params(9)β connect params structenum cfg80211_connect_params_changed(9)β connect params changed enumenum wiphy_params_flags(9)β wiphy params flags enumstruct cfg80211_pmksa(9)β pmksa structstruct cfg80211_pkt_pattern(9)β packet pattern structstruct cfg80211_wowlan_tcp(9)β wowlan tcp structstruct cfg80211_wowlan(9)β wowlan structstruct cfg80211_coalesce_rules(9)β coalesce rules structstruct cfg80211_coalesce(9)β coalesce structstruct cfg80211_wowlan_nd_match(9)β wowlan net-detect match structstruct cfg80211_wowlan_nd_info(9)β wowlan net-detect info structstruct cfg80211_wowlan_wakeup(9)β wowlan wakeup structstruct cfg80211_gtk_rekey_data(9)β gtk rekey data structstruct cfg80211_update_ft_ies_params(9)β update FT IEs params structstruct cfg80211_mgmt_tx_params(9)β mgmt tx params structstruct cfg80211_dscp_exception(9)β dscp exception structstruct cfg80211_dscp_range(9)β dscp range structstruct cfg80211_qos_map(9)β qos map struct
π§ Neighbor Awareness Networking (NAN)(9) π§
struct cfg80211_nan_band_config(9)β nan band config structstruct cfg80211_nan_conf(9)β nan conf structstruct cfg80211_nan_channel(9)β nan channel structstruct cfg80211_nan_local_sched(9)β nan local sched structstruct cfg80211_nan_peer_map(9)β nan peer map structstruct cfg80211_nan_peer_sched(9)β nan peer sched structenum cfg80211_nan_conf_changes(9)β nan conf changes enumstruct cfg80211_nan_func_filter(9)β nan func filter structstruct cfg80211_nan_func(9)β nan func struct, last of the nan crew β¨struct cfg80211_pmk_conf(9)β pmk conf structstruct cfg80211_external_auth_params(9)β external auth params structstruct cfg80211_ftm_responder_stats(9)β ftm responder stats structstruct cfg80211_pmsr_ftm_result(9)β pmsr ftm result structstruct cfg80211_pmsr_result(9)β pmsr result structstruct cfg80211_pmsr_ftm_request_peer(9)β pmsr ftm request peer structstruct cfg80211_pmsr_request_peer(9)β pmsr request peer structstruct cfg80211_pmsr_request(9)β pmsr request structstruct cfg80211_update_owe_info(9)β update owe info structstruct mgmt_frame_regs(9)β mgmt frame registrations structstruct cfg80211_ops(9)β the ops struct, the whole driver surface πenum wiphy_flags(9)β wiphy flags enumstruct ieee80211_iface_limit(9)β iface limit structstruct ieee80211_iface_combination(9)β iface combination structenum wiphy_wowlan_support_flags(9)β wowlan support flags enumstruct wiphy_wowlan_support(9)β wowlan support structstruct wiphy_coalesce_support(9)β coalesce support structenum wiphy_vendor_command_flags(9)β vendor command flags enumenum wiphy_opmode_flag(9)β opmode flag enumstruct sta_opmode_info(9)β sta opmode info structstruct wiphy_vendor_command(9)β vendor command structstruct wiphy_iftype_ext_capab(9)β iftype extended capabilities structcfg80211_get_iftype_ext_capa(9)β get the iftype ext capastruct cfg80211_pmsr_capabilities(9)β pmsr capabilities structstruct wiphy_iftype_akm_suites(9)β iftype akm suites structstruct wiphy_radio_cfg(9)β wiphy radio cfg structstruct wiphy_radio_freq_range(9)β wiphy radio freq range structstruct wiphy_radio(9)β wiphy radio structenum wiphy_nan_flags(9)β wiphy nan flags enumstruct wiphy_nan_capa(9)β wiphy nan capa structstruct 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:
wiphy_priv(9)β grab the private datapriv_to_wiphy(9)β go the other way, back to the wiphyset_wiphy_dev(9)β set the devicewiphy_dev(9)β get the devicewiphy_name(9)β get the namewiphy_new_nm(9)β new wiphy, with a namewiphy_new(9)β new wiphywiphy_register(9)β register it β¨rcu_dereference_wiphy(9)β rcu dereference, handle with care bestiewiphy_dereference(9)β the dereference helperget_wiphy_regdom(9)β get the regdomainwiphy_unregister(9)β unregister it, the sad partwiphy_free(9)β free it, bye π¦wiphy_lock(9)β lock itwiphy_unlock(9)β unlock it, periodtwiphy_work_queue(9)β queue workwiphy_work_cancel(9)β cancel workwiphy_work_flush(9)β flush workwiphy_delayed_work_queue(9)β queue delayed workwiphy_delayed_work_cancel(9)β cancel delayed workwiphy_delayed_work_flush(9)β flush delayed workwiphy_delayed_work_pending(9)β is delayed work pending?wiphy_hrtimer_work_queue(9)β queue hrtimer workwiphy_hrtimer_work_cancel(9)β cancel hrtimer workwiphy_hrtimer_work_flush(9)β flush hrtimer workwiphy_hrtimer_work_pending(9)β is hrtimer work pending?enum ieee80211_ap_reg_power(9)β ap reg power enumstruct wireless_dev(9)β the wireless_dev structwdev_priv(9)β wdev private datawdev_chandef(9)β wdev chandef
π Utility functions(9) π
ieee80211_channel_equal(9)β are these channels equalieee80211_channel_to_khz(9)β channel β‘οΈ kHzieee80211_channel_to_freq_khz(9)β channel β‘οΈ frequency in kHzieee80211_channel_to_frequency(9)β channel β‘οΈ frequencyieee80211_freq_khz_to_channel(9)β kHz frequency β‘οΈ channelieee80211_frequency_to_channel(9)β frequency β‘οΈ channel, the classicieee80211_get_channel_khz(9)β get the channel, kHz flavoredieee80211_get_channel(9)β get the channelcfg80211_channel_is_psc(9)β is this channel a PSC?ieee80211_radio_freq_range_valid(9)β is the radio freq range validcfg80211_radio_chandef_valid(9)β is the radio chandef validcfg80211_wdev_channel_allowed(9)β is the channel allowed for this wdevieee80211_get_response_rate(9)β get the response rateieee80211_mandatory_rates(9)β the mandatory ratesstruct ieee80211_radiotap_iterator(9)β radiotap iterator structieee80211_get_hdrlen_from_skb(9)β header length from the skbieee80211_hdrlen(9)β header lengthieee80211_get_mesh_hdrlen(9)β mesh header length
π Data path helpers(9) π
ieee80211_data_to_8023_exthdr(9)β data β‘οΈ 802.3, with the extended headerieee80211_data_to_8023(9)β data β‘οΈ 802.3ieee80211_is_valid_amsdu(9)β is this a valid A-MSDUieee80211_amsdu_to_8023s(9)β A-MSDU β‘οΈ 802.3sieee80211_get_8023_tunnel_proto(9)β get the 802.3 tunnel protocolieee80211_strip_8023_mesh_hdr(9)β strip the 802.3 mesh headercfg80211_classify8021d(9)β classify 802.1dcfg80211_find_elem_match(9)β find an element, matchy versioncfg80211_find_ie_match(9)β find an IE, matchy versioncfg80211_find_elem(9)β find an elementcfg80211_find_ie(9)β find an IEcfg80211_find_ext_elem(9)β find an extended elementcfg80211_find_ext_ie(9)β find an extended IEcfg80211_find_vendor_elem(9)β find a vendor elementcfg80211_find_vendor_ie(9)β find a vendor IEenum cfg80211_rnr_iter_ret(9)β rnr iter return enumcfg80211_iter_rnr(9)β iterate the RNRcfg80211_defragment_element(9)β defragment an elementcfg80211_send_layer2_update(9)β send a layer 2 update
π₯ Regulatory enforcement infrastructure(9) π₯
regulatory_hint(9)β regulatory hintregulatory_set_wiphy_regd(9)β set the wiphy regdomainregulatory_set_wiphy_regd_sync(9)β same but sync, and it's synchronous iykykwiphy_apply_custom_regulatory(9)β apply a custom regulatoryfreq_reg_info(9)β freq reg inforeg_initiator_name(9)β the reg initiator's nameregulatory_pre_cac_allowed(9)β is pre-CAC allowed?
π Internal regulatory db functions(9) π
reg_query_regdb_wmm(9)β query the regdb for WMM
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:
cfg80211_scan_done(9)β scan's donecfg80211_sched_scan_results(9)β scheduled scan results are incfg80211_sched_scan_stopped(9)β scheduled scan stoppedcfg80211_sched_scan_stopped_locked(9)β same, but you're already holding the lock πcfg80211_inform_bss_frame_data(9)β inform bss frame datacfg80211_gen_new_bssid(9)β generate a new BSSIDcfg80211_is_element_inherited(9)β is the element inheritedcfg80211_merge_profile(9)β merge a profileenum cfg80211_bss_frame_type(9)β bss frame type enumcfg80211_get_ies_channel_number(9)β get the channel number out of the IEscfg80211_ssid_eq(9)β ssid equality checkcfg80211_inform_bss_data(9)β inform bss data__cfg80211_get_bss(9)β the underscore-underscore version, internal vibescfg80211_get_bss(9)β get a bsscfg80211_ref_bss(9)β refcount it up β¬οΈcfg80211_put_bss(9)β put it back down β¬οΈcfg80211_unlink_bss(9)β unlink itcfg80211_bss_iter(9)β iterate bssescfg80211_rx_mlme_mgmt(9)β rx mlme mgmtcfg80211_auth_timeout(9)β auth timed out πstruct cfg80211_rx_assoc_resp_data(9)β rx assoc resp data structcfg80211_rx_assoc_resp(9)β rx the assoc responsestruct cfg80211_assoc_failure(9)β assoc failure structcfg80211_assoc_failure(9)β assoc failure (the function page, same name, not a typo)cfg80211_tx_mlme_mgmt(9)β tx mlme mgmtcfg80211_rx_unprot_mlme_mgmt(9)β rx unprotected mlme mgmtcfg80211_michael_mic_failure(9)β michael mic failure, ominous but iconiccfg80211_ibss_joined(9)β ibss joinedcfg80211_notify_new_peer_candidate(9)β notify a new peer candidate
π RFkill integration(9) π
wiphy_rfkill_set_hw_state_reason(9)β set the rfkill hardware state, with a reasonwiphy_rfkill_start_polling(9)β start pollingwiphy_rfkill_stop_polling(9)β stop polling, we love a clean exit
π Vendor commands(9) π
cfg80211_vendor_cmd_alloc_reply_skb(9)β allocate the vendor cmd reply skbcfg80211_vendor_cmd_reply(9)β send that vendor cmd replycfg80211_vendor_cmd_get_sender(9)β get the sendercfg80211_vendor_event_alloc(9)β allocate a vendor eventcfg80211_vendor_event_alloc_ucast(9)β allocate a unicast vendor eventcfg80211_vendor_event(9)β send the vendor event
π Test mode(9) π
cfg80211_testmode_alloc_reply_skb(9)β allocate the testmode reply skbcfg80211_testmode_reply(9)β the testmode replycfg80211_testmode_alloc_event_skb(9)β allocate the testmode event skbcfg80211_testmode_event(9)β the testmode event
and the last stretch, bestie, we are SO close, drink some water π:
struct cfg80211_fils_resp_params(9)β fils response params structstruct cfg80211_connect_resp_params(9)β connect response params structcfg80211_connect_done(9)β connect's donecfg80211_connect_bss(9)β connect to a bsscfg80211_connect_result(9)β connect resultcfg80211_connect_timeout(9)β connect timed out π relatablestruct cfg80211_roam_info(9)β roam info structcfg80211_roamed(9)β it roamedcfg80211_port_authorized(9)β port authorized, slay π₯cfg80211_disconnected(9)β disconnected, it happens to the best of uscfg80211_ready_on_channel(9)β ready on channelcfg80211_remain_on_channel_expired(9)β remain-on-channel expiredcfg80211_tx_mgmt_expired(9)β tx mgmt expiredcfg80211_sinfo_alloc_tid_stats(9)β allocate tid stats for sinfocfg80211_link_sinfo_alloc_tid_stats(9)β same but for a linkcfg80211_sinfo_release_content(9)β release the sinfo contentscfg80211_new_sta(9)β new station πcfg80211_del_sta_sinfo(9)β delete a station, with sinfocfg80211_del_sta(9)β delete a stationcfg80211_conn_failed(9)β connection failed, we don't talk about it πstruct cfg80211_rx_info(9)β rx info structcfg80211_rx_mgmt_ext(9)β rx mgmt, extendedcfg80211_rx_mgmt_khz(9)β rx mgmt, kHz flavoredcfg80211_rx_mgmt(9)β rx mgmt, the originalstruct cfg80211_tx_status(9)β tx status structcfg80211_mgmt_tx_status_ext(9)β mgmt tx status, extendedcfg80211_mgmt_tx_status(9)β mgmt tx statuscfg80211_control_port_tx_status(9)β control port tx statuscfg80211_rx_control_port(9)β rx on the control portcfg80211_cqm_rssi_notify(9)β cqm rssi notifycfg80211_cqm_pktloss_notify(9)β cqm packet loss notifycfg80211_cqm_txe_notify(9)β cqm txe notifycfg80211_cqm_beacon_loss_notify(9)β cqm beacon loss notify__cfg80211_radar_event(9)β radar event, underscore-underscore editioncfg80211_sta_opmode_change_notify(9)β sta opmode change notifycfg80211_cac_event(9)β cac eventcfg80211_background_cac_abort(9)β background cac abortcfg80211_gtk_rekey_notify(9)β gtk rekey notifycfg80211_pmksa_candidate_notify(9)β pmksa candidate notifycfg80211_rx_spurious_frame(9)β rx spurious framecfg80211_rx_unexpected_4addr_frame(9)β rx unexpected 4-address framecfg80211_probe_status(9)β probe statuscfg80211_report_obss_beacon_khz(9)β report obss beacon, kHz versioncfg80211_report_obss_beacon(9)β report obss beaconstruct cfg80211_beaconing_check_config(9)β beaconing check config struct, and that's the whole list π
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 π«Ά
cfg80211_reg_check_beaconing(9)cfg80211_reg_can_beacon(9)cfg80211_reg_can_beacon_relax(9)cfg80211_ch_switch_notify(9)cfg80211_ch_switch_started_notify(9)ieee80211_operating_class_to_band(9)ieee80211_operating_class_to_chandef(9)ieee80211_chandef_to_operating_class(9)ieee80211_chandef_to_khz(9)cfg80211_tdls_oper_request(9)cfg80211_calculate_bitrate(9)cfg80211_unregister_wdev(9)cfg80211_register_netdevice(9)cfg80211_unregister_netdevice(9)struct cfg80211_ft_event_params(9)cfg80211_ft_event(9)cfg80211_get_p2p_attr(9)ieee80211_ie_split_ric(9)ieee80211_ie_split(9)ieee80211_fragment_element(9)cfg80211_report_wowlan_wakeup(9)cfg80211_crit_proto_stopped(9)ieee80211_get_num_supported_channels(9)cfg80211_check_combinations(9)cfg80211_iter_combinations(9)cfg80211_get_radio_idx_by_chan(9)cfg80211_stop_link(9)cfg80211_stop_iface(9)cfg80211_shutdown_all_interfaces(9)wiphy_ext_feature_set(9)wiphy_ext_feature_isset(9)cfg80211_free_nan_func(9)struct cfg80211_nan_match_params(9)cfg80211_nan_match(9)cfg80211_nan_func_terminated(9)cfg80211_nan_sched_update_done(9)cfg80211_external_auth_request(9)cfg80211_pmsr_report(9)cfg80211_pmsr_complete(9)cfg80211_iftype_allowed(9)cfg80211_assoc_comeback(9)cfg80211_update_owe_info_event(9)cfg80211_bss_flush(9)cfg80211_bss_color_notify(9)cfg80211_obss_color_collision_notify(9)cfg80211_color_change_started_notify(9)cfg80211_color_change_aborted_notify(9)cfg80211_color_change_notify(9)cfg80211_6ghz_power_type(9)cfg80211_links_removed(9)struct cfg80211_mlo_reconf_done_data(9)cfg80211_mlo_reconf_add_done(9)cfg80211_schedule_channels_check(9)cfg80211_epcs_changed(9)cfg80211_next_nan_dw_notif(9)cfg80211_nan_cluster_joined(9)cfg80211_nan_ulw_update(9)cfg80211_nan_channel_evac(9)wiphy_locked_debugfs_read(9)wiphy_locked_debugfs_write(9)cfg80211_s1g_get_start_freq_khz(9)cfg80211_s1g_get_end_freq_khz(9)cfg80211_s1g_get_primary_sibling(9)cfg80211_incumbent_signal_notify(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms