regulatory_pre_cac_allowed(9)
π regulatory_pre_cac_allowed β a Kernel API Manual moment (section 9, bestie)
okay so we're deep in the kernel API manual and this one is literally called regulatory_pre_cac_allowed π¦
β¨ NAME β¨
regulatory_pre_cac_allowed β the function that does a vibe check on whether pre-CAC is even allowed in the current regdom π
πΈ SYNOPSIS πΈ
bool regulatory_pre_cac_allowed (struct wiphy *wiphy );
that's it. one arg. she's lowkey minimal and we respect it π
π ARGUMENTS π
wiphyβ thewiphyyou're checking the pre-CAC capability for. like, this is the wiphy in question, bestie, no cap π«Ά
π¦ DESCRIPTION π¦
so here's the tea: pre-CAC is allowed only in some regdomains β notable example being ETSI β¨. that's it, that's the whole rule. everywhere else? not it. π
iykyk β regdomain dependent behaviour, so don't go assuming it's a yes everywhere π
β RETURN β
trueβ allowed, slay πfalseβ not allowed, and that's on the regdom π
more of this page is still loading, stay tuned bestie π§π
π SEE ALSO π
okay bestie, this is the part of the page where the kernel just dumps the entire friend group on you π and like β it's a lot. it's giving "tag yourself, i'm wiphy_lock(9)". every single one of these is a real link, no cap, so go click around. the whole fam lives in ./include/net/cfg80211.h:
Kernel file ./include/net/cfg80211.hβ the mothership π everything below is in hereIntroduction(9)β start here bestie, this is the doorway β¨Device registration(9)β how your device gets its whole identity, main character energy πenum ieee80211_channel_flags(9)β channel flags, the little stickers on each channelstruct ieee80211_channel(9)β the channel herself πenum ieee80211_rate_flags(9)β flagging the ratesenum ieee80211_bss_type(9)β what kind of BSS we're dealing withenum ieee80211_privacy(9)β privacy!! πstruct ieee80211_rate(9)β she's got a rate, she's got a flagstruct ieee80211_he_obss_pd(9)β HE OBSS PD, say it three times faststruct cfg80211_he_bss_color(9)β the BSS color, lowkey iconic π¨struct ieee80211_sta_ht_cap(9)β HT caps, the classicstruct ieee80211_sta_vht_cap(9)β VHT caps, the upgrade β¨struct ieee80211_sta_he_cap(9)β HE caps, the glow-upstruct ieee80211_eht_mcs_nss_supp(9)β say it with your chest, MCS/NSS support πstruct ieee80211_sta_eht_cap(9)β EHT caps, she's new herestruct ieee80211_sta_uhr_cap(9)β UHR caps, literally beyondstruct ieee80211_sband_iftype_data(9)β sband + iftype, the duo π€enum ieee80211_edmg_bw_config(9)β EDMG bandwidth configstruct ieee80211_edmg(9)β plain EDMG, no notesstruct ieee80211_sta_s1g_cap(9)β S1G caps, niche and proud of it π¦struct ieee80211_supported_band(9)β the band that's supported, periodt_ieee80211_set_sband_iftype_data(9)β the underscore version, the understudyieee80211_set_sband_iftype_data(9)β and the actual setterfor_each_sband_iftype_data(9)β a loop macro, we love a for_each πΈieee80211_get_sband_iftype_data(9)β getter behaviour, get herieee80211_get_he_iftype_cap(9)β HE cap by iftypeieee80211_get_he_6ghz_capa(9)β HE cap but make it 6GHz βieee80211_get_eht_iftype_cap(9)β EHT cap by iftypeieee80211_get_uhr_iftype_cap(9)β UHR cap by iftypewiphy_read_of_freq_limits(9)β reading freq limits out of OF, good luck babe π«Ά
then the big family arrives β Actions and configuration, the section that ate:
Actions and configuration(9)β the whole section page, go there for the deep lorestruct vif_params(9)β vif params, tiny but mightystruct key_params(9)β keys!! πstruct cfg80211_chan_def(9)β the chan def, she's everywhere, you'll see her name like 15 more times in this liststruct cfg80211_tid_cfg(9)β TID configstruct cfg80211_tid_config(9)β TID config the struct, different from the one above, do not @ mestruct cfg80211_fils_aad(9)β FILS AAD, acronym soup fr frstruct cfg80211_set_hw_timestamp(9)β hw timestamp time β°cfg80211_get_chandef_type(9)β get the chandef typecfg80211_chandef_create(9)β create the chandefcfg80211_chandef_identical(9)β are these two chandefs twins? π―cfg80211_chandef_is_edmg(9)β is it EDMG?cfg80211_chandef_is_s1g(9)β is it S1G?cfg80211_chandef_compatible(9)β are they compatible, are they meant to be πnl80211_chan_width_to_mhz(9)β width in MHz, math girlie mathcfg80211_chandef_get_width(9)β get the widthcfg80211_chandef_valid(9)β vibe check the chandef βcfg80211_chandef_usable(9)β is it usable thoughcfg80211_chandef_dfs_required(9)β do we need DFS πcfg80211_chandef_dfs_usable(9)β DFS but usablecfg80211_chandef_dfs_cac_time(9)β the CAC time, important, remember hercfg80211_chandef_primary(9)β the primary channel πcfg80211_chandef_npca_valid(9)β NPCA valid?cfg80211_chandef_add_npca(9)β add NPCAcfg80211_chandef_add_dbe(9)β add DBEnl80211_send_chandef(9)β send the chandef out into the world ποΈieee80211_chandef_max_power(9)β max power, she's loudcfg80211_chandef_s1g_pri_width(9)β S1G primary widthcfg80211_any_usable_channels(9)β literally any usable channels, please πenum survey_info_flags(9)β survey flagsstruct survey_info(9)β survey info, she's doing researchstruct cfg80211_crypto_settings(9)β crypto settings πstruct cfg80211_mbssid_config(9)β MBSSID configstruct cfg80211_mbssid_elems(9)β MBSSID elemsstruct cfg80211_rnr_elems(9)β RNR elemsstruct cfg80211_beacon_data(9)β beacon data π‘struct cfg80211_acl_data(9)β ACL datastruct cfg80211_fils_discovery(9)β FILS discovery, cute name honestlystruct cfg80211_unsol_bcast_probe_resp(9)β the longest struct name in the group chat πstruct cfg80211_s1g_short_beacon(9)β short beacon, small but slaysstruct cfg80211_ap_settings(9)β AP settings, the whole fit πstruct cfg80211_ap_update(9)β AP updatestruct cfg80211_csa_settings(9)β CSA settingsstruct cfg80211_color_change_settings(9)β color change settings π¨struct iface_combination_params(9)β iface combo paramsenum station_parameters_apply_mask(9)β apply maskstruct sta_txpwr(9)β sta tx powerstruct link_station_parameters(9)β link station paramsstruct link_station_del_parameters(9)β link station del params, she's leaving βοΈstruct cfg80211_ttlm_params(9)β TTLM paramsstruct station_parameters(9)β station paramsstruct station_del_parameters(9)β station del paramsenum cfg80211_station_type(9)β station typecfg80211_check_station_change(9)β check the station change, do your checks bestieenum rate_info_flags(9)β rate info flagsenum rate_info_bw(9)β rate info bandwidthstruct rate_info(9)β rate infoenum bss_param_flags(9)β BSS param flagsstruct sta_bss_parameters(9)β sta BSS paramsstruct cfg80211_txq_stats(9)β txq stats πstruct cfg80211_tid_stats(9)β TID statsstruct link_station_info(9)β link station infostruct station_info(9)β station infostruct cfg80211_sar_sub_specs(9)β SAR sub specsstruct cfg80211_sar_specs(9)β SAR specsstruct cfg80211_sar_freq_ranges(9)β SAR freq rangesstruct cfg80211_sar_capa(9)β SAR capabilitiescfg80211_get_station(9)β get the stationenum monitor_flags(9)β monitor flags πenum mpath_info_flags(9)β mpath info flagsstruct mpath_info(9)β mpath infoenum wiphy_bss_param_flags(9)β wiphy BSS param flagsstruct bss_parameters(9)β BSS parametersstruct mesh_config(9)β mesh config πΈοΈstruct mesh_setup(9)β mesh setupstruct ocb_setup(9)β OCB setupstruct ieee80211_txq_params(9)β txq params, block done bestie π
okay next block, Scanning and BSS list handling β she's long, she's thorough, she's the moment:
Scanning and BSS list handling(9)β the section page, hit her upstruct cfg80211_ssid(9)β the SSID struct, iconicstruct cfg80211_scan_info(9)β scan infostruct cfg80211_scan_6ghz_params(9)β 6GHz scan params, fancy βstruct cfg80211_scan_request(9)β scan request, she's asking politelystruct cfg80211_match_set(9)β match setstruct cfg80211_sched_scan_plan(9)β scheduled scan plan πstruct cfg80211_bss_select_adjust(9)β BSS select adjuststruct cfg80211_sched_scan_request(9)β sched scan requestenum cfg80211_signal_type(9)β signal type πΆstruct cfg80211_inform_bss(9)β inform BSS, gossip erastruct cfg80211_bss_ies(9)β BSS IEsstruct cfg80211_bss(9)β the BSS herself πieee80211_bss_get_elem(9)β get the elemieee80211_bss_get_ie(9)β get the IE, the classicstruct cfg80211_auth_request(9)β auth request, let me in πstruct cfg80211_assoc_link(9)β assoc linkstruct cfg80211_ml_reconf_req(9)β ML reconf request, ML = multi-link, she's sophisticatedenum cfg80211_assoc_req_flags(9)β assoc request flagsstruct cfg80211_assoc_request(9)β the assoc requeststruct cfg80211_deauth_request(9)β deauth request, the breakup πstruct cfg80211_disassoc_request(9)β disassoc request, breakup part 2struct cfg80211_ibss_params(9)β IBSS paramsstruct cfg80211_bss_selection(9)β BSS selectionstruct cfg80211_connect_params(9)β connect paramsenum cfg80211_connect_params_changed(9)β which connect params changed πenum wiphy_params_flags(9)β wiphy params flagsstruct cfg80211_pmksa(9)β PMKSA, say it with confidencestruct cfg80211_pkt_pattern(9)β packet patternstruct cfg80211_wowlan_tcp(9)β WoWLAN over TCP, unhinged but validstruct cfg80211_wowlan(9)β WoWLAN, the sleepy icon π΄struct cfg80211_coalesce_rules(9)β coalesce rulesstruct cfg80211_coalesce(9)β coalescestruct cfg80211_wowlan_nd_match(9)β WoWLAN nd matchstruct cfg80211_wowlan_nd_info(9)β WoWLAN nd infostruct cfg80211_wowlan_wakeup(9)β WoWLAN wakeup, rise and grind βοΈstruct cfg80211_gtk_rekey_data(9)β GTK rekey data πstruct cfg80211_update_ft_ies_params(9)β update FT IEs paramsstruct cfg80211_mgmt_tx_params(9)β mgmt tx paramsstruct cfg80211_dscp_exception(9)β DSCP exception, the exception β¨struct cfg80211_dscp_range(9)β DSCP rangestruct cfg80211_qos_map(9)β QoS map πΊοΈ
Neighbor Awareness Networking (NAN) β yes that's the actual name and yes it ate:
Neighbor Awareness Networking (NAN)(9)β the section page for the whole NAN situationstruct cfg80211_nan_band_config(9)β NAN band configstruct cfg80211_nan_conf(9)β NAN confstruct cfg80211_nan_channel(9)β NAN channelstruct cfg80211_nan_local_sched(9)β NAN local schedulestruct cfg80211_nan_peer_map(9)β NAN peer mapstruct cfg80211_nan_peer_sched(9)β NAN peer scheduleenum cfg80211_nan_conf_changes(9)β what changed in the NAN confstruct cfg80211_nan_func_filter(9)β NAN func filterstruct cfg80211_nan_func(9)β the NAN func herselfstruct cfg80211_pmk_conf(9)β PMK confstruct cfg80211_external_auth_params(9)β external auth paramsstruct cfg80211_ftm_responder_stats(9)β FTM responder stats πstruct cfg80211_pmsr_ftm_result(9)β PMSR FTM resultstruct cfg80211_pmsr_result(9)β PMSR resultstruct cfg80211_pmsr_ftm_request_peer(9)β PMSR FTM request peerstruct cfg80211_pmsr_request_peer(9)β PMSR request peerstruct cfg80211_pmsr_request(9)β PMSR requeststruct cfg80211_update_owe_info(9)β update OWE infostruct mgmt_frame_regs(9)β mgmt frame regsstruct cfg80211_ops(9)β the ops struct, the blueprint, arguably the main character of this whole header π«‘enum wiphy_flags(9)β wiphy flagsstruct ieee80211_iface_limit(9)β iface limitstruct ieee80211_iface_combination(9)β iface combinationenum wiphy_wowlan_support_flags(9)β WoWLAN support flagsstruct wiphy_wowlan_support(9)β WoWLAN supportstruct wiphy_coalesce_support(9)β coalesce supportenum wiphy_vendor_command_flags(9)β vendor command flagsenum wiphy_opmode_flag(9)β opmode flagstruct sta_opmode_info(9)β sta opmode infostruct wiphy_vendor_command(9)β vendor commandstruct wiphy_iftype_ext_capab(9)β iftype ext capabilitycfg80211_get_iftype_ext_capa(9)β get her β¨struct cfg80211_pmsr_capabilities(9)β PMSR capabilitiesstruct wiphy_iftype_akm_suites(9)β iftype AKM suitesstruct wiphy_radio_cfg(9)β radio cfg π»struct wiphy_radio_freq_range(9)β radio freq rangestruct wiphy_radio(9)β the radio herselfenum wiphy_nan_flags(9)β wiphy NAN flagsstruct wiphy_nan_capa(9)β wiphy NAN capabilitiesstruct wiphy(9)β THE wiphy. the whole point. bow down πwiphy_priv(9)β wiphy privpriv_to_wiphy(9)β and the way backset_wiphy_dev(9)β set the wiphy devwiphy_dev(9)β get the wiphy devwiphy_name(9)β what's her name πwiphy_new_nm(9)β new wiphy, named editionwiphy_new(9)β new wiphy, classic editionwiphy_register(9)β register her, it's her debut πrcu_dereference_wiphy(9)β RCU dereference the wiphy, careful bestiewiphy_dereference(9)β wiphy dereferenceget_wiphy_regdom(9)β get the wiphy regdomainwiphy_unregister(9)β unregister, she's logging offwiphy_free(9)β free her, goodbye ποΈwiphy_lock(9)β lock herwiphy_unlock(9)β unlock herwiphy_work_queue(9)β queue the workwiphy_work_cancel(9)β cancel the workwiphy_work_flush(9)β flush the workwiphy_delayed_work_queue(9)β queue it but later β³wiphy_delayed_work_cancel(9)β cancel it but laterwiphy_delayed_work_flush(9)β flush it but laterwiphy_delayed_work_pending(9)β is it pending πwiphy_hrtimer_work_queue(9)β hrtimer work queue, high-res baby β‘wiphy_hrtimer_work_cancel(9)β hrtimer work cancelwiphy_hrtimer_work_flush(9)β hrtimer work flushwiphy_hrtimer_work_pending(9)β hrtimer work pendingenum ieee80211_ap_reg_power(9)β AP regulatory powerstruct wireless_dev(9)β the wireless dev, she's the whole interfacewdev_priv(9)β wdev privwdev_chandef(9)β wdev chandef
Utility functions β the little helpers, the group chat's most useful members:
Utility functions(9)β the section pageieee80211_channel_equal(9)β are these channels equalieee80211_channel_to_khz(9)β channel β kHzieee80211_channel_to_freq_khz(9)β channel β freq in kHzieee80211_channel_to_frequency(9)β channel β frequencyieee80211_freq_khz_to_channel(9)β freq in kHz β channelieee80211_frequency_to_channel(9)β frequency β channelieee80211_get_channel_khz(9)β get the channel in kHzieee80211_get_channel(9)β get the channelcfg80211_channel_is_psc(9)β is it 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 wdev allowed on this channelieee80211_get_response_rate(9)β get the response rateieee80211_mandatory_rates(9)β the mandatory rates, no skipping π¨struct ieee80211_radiotap_iterator(9)β radiotap iteratorieee80211_get_hdrlen_from_skb(9)β hdr len from skbieee80211_hdrlen(9)β header lengthieee80211_get_mesh_hdrlen(9)β mesh header length
Data path helpers β the ones actually moving your bytes around:
Data path helpers(9)β the section pageieee80211_data_to_8023_exthdr(9)β data β 802.3 with exthdrieee80211_data_to_8023(9)β the classic conversionieee80211_is_valid_amsdu(9)β valid AMSDU? βieee80211_amsdu_to_8023s(9)β AMSDU β 802.3sieee80211_get_8023_tunnel_proto(9)β get the 802.3 tunnel protoieee80211_strip_8023_mesh_hdr(9)β strip that mesh headercfg80211_classify8021d(9)β classify 802.1dcfg80211_find_elem_match(9)β find an elem, matching editioncfg80211_find_ie_match(9)β find an IE, matching editioncfg80211_find_elem(9)β find the elemcfg80211_find_ie(9)β find the IEcfg80211_find_ext_elem(9)β find the ext elemcfg80211_find_ext_ie(9)β find the ext IEcfg80211_find_vendor_elem(9)β find the vendor elemcfg80211_find_vendor_ie(9)β find the vendor IEenum cfg80211_rnr_iter_ret(9)β the RNR iterator's return valuescfg80211_iter_rnr(9)β iterate the RNRcfg80211_defragment_element(9)β defragment the element, put her back together π§©cfg80211_send_layer2_update(9)β send a layer 2 update
Regulatory enforcement infrastructure β rules are rules bestie:
Regulatory enforcement infrastructure(9)β the section pageregulatory_hint(9)β a regulatory hint π‘regulatory_set_wiphy_regd(9)β set the wiphy regdomainregulatory_set_wiphy_regd_sync(9)β same but synchronouswiphy_apply_custom_regulatory(9)β apply a custom regulatoryfreq_reg_info(9)β freq regulatory inforeg_initiator_name(9)β the initiator's name πInternal regulatory db functions(9)β internal db section, shh π€«reg_query_regdb_wmm(9)β query the regdb for WMMcfg80211_scan_done(9)β scan done, we're finished β¨cfg80211_sched_scan_results(9)β sched scan resultscfg80211_sched_scan_stopped(9)β sched scan stoppedcfg80211_sched_scan_stopped_locked(9)β stopped and lockedcfg80211_inform_bss_frame_data(9)β inform BSS frame datacfg80211_gen_new_bssid(9)β generate a new BSSID πcfg80211_is_element_inherited(9)β is the element inheritedcfg80211_merge_profile(9)β merge the profileenum cfg80211_bss_frame_type(9)β BSS frame typecfg80211_get_ies_channel_number(9)β get the IEs' channel numbercfg80211_ssid_eq(9)β SSID equals?cfg80211_inform_bss_data(9)β inform BSS data__cfg80211_get_bss(9)β the double-underscore getter, the internalscfg80211_get_bss(9)β the public gettercfg80211_ref_bss(9)β ref the BSScfg80211_put_bss(9)β put the BSS backcfg80211_unlink_bss(9)β unlink the BSScfg80211_bss_iter(9)β iterate the BSSescfg80211_rx_mlme_mgmt(9)β receive MLME mgmtcfg80211_auth_timeout(9)β auth timed out πstruct cfg80211_rx_assoc_resp_data(9)β rx assoc resp datacfg80211_rx_assoc_resp(9)β receive the assoc responsestruct cfg80211_assoc_failure(9)β assoc failure, the structcfg80211_assoc_failure(9)β assoc failure, the functioncfg80211_tx_mlme_mgmt(9)β transmit MLME mgmtcfg80211_rx_unprot_mlme_mgmt(9)β receive unprotected MLME mgmt πcfg80211_michael_mic_failure(9)β Michael MIC failure, she's a whole moodcfg80211_ibss_joined(9)β joined the IBSS πcfg80211_notify_new_peer_candidate(9)β new peer candidate, who dis
RFkill integration β turning the radio off and on again:
RFkill integration(9)β the section pagewiphy_rfkill_set_hw_state_reason(9)β set hw state, with a reasonwiphy_rfkill_start_polling(9)β start pollingwiphy_rfkill_stop_polling(9)β stop polling
Vendor commands β the "ask your vendor" zone:
Vendor commands(9)β the section pagecfg80211_vendor_cmd_alloc_reply_skb(9)β alloc a reply skbcfg80211_vendor_cmd_reply(9)β send the replycfg80211_vendor_cmd_get_sender(9)β who sent this πcfg80211_vendor_event_alloc(9)β alloc a vendor eventcfg80211_vendor_event_alloc_ucast(9)β alloc a unicast vendor eventcfg80211_vendor_event(9)β the event itself
Test mode β for testing, obviously, no cap:
Test mode(9)β the section pagecfg80211_testmode_alloc_reply_skb(9)β alloc testmode reply skbcfg80211_testmode_reply(9)β testmode replycfg80211_testmode_alloc_event_skb(9)β alloc testmode event skbcfg80211_testmode_event(9)β testmode event
and the last run of the list, the notifications-and-results crew, absolute icons every one:
struct cfg80211_fils_resp_params(9)β FILS response paramsstruct cfg80211_connect_resp_params(9)β connect response paramscfg80211_connect_done(9)β connect done πcfg80211_connect_bss(9)β connect to the BSScfg80211_connect_result(9)β the connect resultcfg80211_connect_timeout(9)β connect timeout, we've all been there πstruct cfg80211_roam_info(9)β roam infocfg80211_roamed(9)β she roamed π¦cfg80211_port_authorized(9)β port authorized, you're in βcfg80211_disconnected(9)β disconnected, it's giving heartbreakcfg80211_ready_on_channel(9)β ready on channelcfg80211_remain_on_channel_expired(9)β remain-on-channel expired, time's up β°cfg80211_tx_mgmt_expired(9)β tx mgmt expiredcfg80211_sinfo_alloc_tid_stats(9)β alloc TID stats in sinfocfg80211_link_sinfo_alloc_tid_stats(9)β same but for a linkcfg80211_sinfo_release_content(9)β release the sinfo contentcfg80211_new_sta(9)β new station, welcome π«Άcfg80211_del_sta_sinfo(9)β delete station with sinfocfg80211_del_sta(9)β delete station, bye βοΈcfg80211_conn_failed(9)β connection failed, it happensstruct cfg80211_rx_info(9)β rx infocfg80211_rx_mgmt_ext(9)β receive mgmt, extendedcfg80211_rx_mgmt_khz(9)β receive mgmt, in kHzcfg80211_rx_mgmt(9)β receive mgmt, the originalstruct cfg80211_tx_status(9)β tx statuscfg80211_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)β receive on the control portcfg80211_cqm_rssi_notify(9)β CQM RSSI notify πΆcfg80211_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)β the radar event internalscfg80211_sta_opmode_change_notify(9)β station opmode change notifycfg80211_cac_event(9)β CAC event, she's important, don't sleep on hercfg80211_background_cac_abort(9)β background CAC abortcfg80211_gtk_rekey_notify(9)β GTK rekey notify πcfg80211_pmksa_candidate_notify(9)β PMKSA candidate notifycfg80211_rx_spurious_frame(9)β spurious frame, rude πcfg80211_rx_unexpected_4addr_frame(9)β unexpected 4-address frame, who invited youcfg80211_probe_status(9)β probe statuscfg80211_report_obss_beacon_khz(9)β report OBSS beacon, in kHzcfg80211_report_obss_beacon(9)β report OBSS beacon, the classicstruct cfg80211_beaconing_check_config(9)β beaconing check config
β¦and bestie we are not done, there's more list where that came from, keep scrolling π
...and the list literally keeps going, bestie, so buckle up π β every single one of these is its own lil manual page, and they're all right here:
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, that's the whole friend group right there β go say hi to whichever one you actually needed π β¨
And that's a wrap on the whole page, bestie π«Ά this one lives in ./include/net, dated October 2026, and it's filed under regulatory_pre_cac_allowed(9). Screenshot it, bookmark it, tattoo it on your forearm, idc β just remember the facts stayed facts, only the vibe got a glow-up. bye bestie, go read your kernel docs πππ¦
π¦ 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