ENUM IEEE80211_CHANCTX_CHANGE(9)
π enum ieee80211_chanctx_change(9) π
okay bestie, so this is a page from the Kernel API Manual and it's all about enum ieee80211_chanctx_change β the little flag enum that tells you what changed on a channel context. it's giving "tiny enum, big responsibilities" and honestly? iconic. β¨
πΈ NAME πΈ
enum ieee80211_chanctx_change β change flag for channel context π
π¦ SYNOPSIS π¦
enum ieee80211_chanctx_change {
IEEE80211_CHANCTX_CHANGE_WIDTH ,
IEEE80211_CHANCTX_CHANGE_RX_CHAINS ,
IEEE80211_CHANCTX_CHANGE_RADAR ,
IEEE80211_CHANCTX_CHANGE_CHANNEL ,
IEEE80211_CHANCTX_CHANGE_MIN_DEF ,
IEEE80211_CHANCTX_CHANGE_AP ,
IEEE80211_CHANCTX_CHANGE_PUNCTURING ,
IEEE80211_CHANCTX_CHANGE_NPCA ,
IEEE80211_CHANCTX_CHANGE_NPCA_PUNCT
};
like, look at her. nine constants. all of them little "hey bestie something moved" notes. π
π CONSTANTS π
okay so here's the whole squad, one by one, no gatekeeping:
IEEE80211_CHANCTX_CHANGE_WIDTHβ the channel width changed. she got wider, she got narrower, either way she's different now π«IEEE80211_CHANCTX_CHANGE_RX_CHAINSβ the number of RX chains changed. more chains, fewer chains, the count is just not the same anymore πIEEE80211_CHANCTX_CHANGE_RADARβ the radar detection flag changed. yes, that radar flag. πIEEE80211_CHANCTX_CHANGE_CHANNELβ switched to another operating channel. important caveat bestie: this is used only with channel switching with CSA. only then. no cap. π‘IEEE80211_CHANCTX_CHANGE_MIN_DEFβ the min chandef changed πΈIEEE80211_CHANCTX_CHANGE_APβ the AP channel definition changed, so the (wider bandwidth) OFDMA settings need to be changed. so like, the chandef moved and now the OFDMA settings gotta be updated to match β she doesn't get to stay the same π«ΆIEEE80211_CHANCTX_CHANGE_PUNCTURINGβ the punctured channel(s) bitmap was changed. note the period at the end of that description, we're keeping it, that's her punctuation πIEEE80211_CHANCTX_CHANGE_NPCAβ NPCA configuration changed βIEEE80211_CHANCTX_CHANGE_NPCA_PUNCTβ NPCA puncturing changed β
π SEE ALSO π
okay this is the part where the page absolutely ate β the cross-reference list is genuinely enormous and we are keeping every single one, in order, periodt. π
- Kernel file
./include/net/mac80211.h - Introduction(9)
- Calling mac80211 from interrupts(9)
- Warning(9)
- Frame format(9)
- mac80211 workqueue(9)
- mac80211 software tx queueing(9)
- HW timestamping(9)
- enum ieee80211_max_queues(9)
- enum ieee80211_ac_numbers(9)
- struct ieee80211_tx_queue_params(9)
- struct ieee80211_chan_req(9)
- struct ieee80211_chanctx_conf(9)
- enum ieee80211_chanctx_switch_mode(9)
- struct ieee80211_vif_chanctx_switch(9)
- enum ieee80211_bss_change(9)
- enum ieee80211_event_type(9)
- enum ieee80211_rssi_event_data(9)
- struct ieee80211_rssi_event(9)
- enum ieee80211_mlme_event_data(9)
- enum ieee80211_mlme_event_status(9)
- struct ieee80211_mlme_event(9)
- struct ieee80211_ba_event(9)
- struct ieee80211_event(9)
- struct ieee80211_mu_group_data(9)
- struct ieee80211_ftm_responder_params(9)
- struct ieee80211_fils_discovery(9)
- struct ieee80211_parsed_tpe(9)
- struct ieee80211_bss_npca_params(9)
- struct ieee80211_bss_conf(9)
- struct ieee80211_nan_channel(9)
- struct ieee80211_nan_peer_map(9)
- struct ieee80211_nan_peer_sched(9)
- enum mac80211_tx_info_flags(9)
- enum mac80211_tx_control_flags(9)
- enum mac80211_tx_status_flags(9)
- enum mac80211_rate_control_flags(9)
- struct ieee80211_tx_rate(9)
- struct ieee80211_tx_info(9)
- struct ieee80211_tx_status(9)
- struct ieee80211_scan_ies(9)
- ieee80211_tx_info_clear_status(9)
- enum mac80211_rx_flags(9)
- enum mac80211_rx_encoding_flags(9)
- struct ieee80211_rx_status(9)
- enum ieee80211_conf_flags(9)
- enum ieee80211_conf_changed(9)
- enum ieee80211_smps_mode(9)
- struct ieee80211_conf(9)
- struct ieee80211_channel_switch(9)
- enum ieee80211_vif_flags(9)
- enum ieee80211_offload_flags(9)
- struct ieee80211_eml_params(9)
- struct ieee80211_nan_sched_cfg(9)
- struct ieee80211_vif_cfg(9)
- struct ieee80211_neg_ttlm(9)
- enum ieee80211_neg_ttlm_res(9)
- struct ieee80211_vif(9)
- ieee80211_vif_usable_links(9)
- ieee80211_vif_is_mld(9)
- ieee80211_vif_link_active(9)
- wdev_to_ieee80211_vif(9)
- ieee80211_vif_to_wdev(9)
- enum ieee80211_key_flags(9)
- struct ieee80211_key_conf(9)
- struct ieee80211_key_seq(9)
- enum set_key_cmd(9)
- enum ieee80211_sta_state(9)
- enum ieee80211_sta_rx_bandwidth(9)
- struct ieee80211_sta_rates(9)
- struct ieee80211_sta_txpwr(9)
- struct ieee80211_sta_aggregates(9)
- struct ieee80211_link_sta(9)
- struct ieee80211_sta(9)
- enum sta_notify_cmd(9)
- struct ieee80211_tx_control(9)
- struct ieee80211_txq(9)
- enum ieee80211_hw_flags(9)
- struct ieee80211_hw(9)
- struct ieee80211_scan_request(9)
- struct ieee80211_tdls_ch_sw_params(9)
- wiphy_to_ieee80211_hw(9)
- SET_IEEE80211_DEV(9)
- SET_IEEE80211_PERM_ADDR(9)
- ieee80211_free_txskb(9)
- ieee80211_purge_tx_queue(9)
- Hardware crypto acceleration(9)
- Powersave support(9)
- Beacon filter support(9)
- Spatial multiplexing power save(9)
- Frame filtering(9)
- AP support for powersaving clients(9)
- HW queue control(9)
- enum ieee80211_filter_flags(9)
- enum ieee80211_ampdu_mlme_action(9)
- struct ieee80211_ampdu_params(9)
- enum ieee80211_frame_release_type(9)
- enum ieee80211_rate_control_changed(9)
- enum ieee80211_roc_type(9)
- enum ieee80211_reconfig_type(9)
- struct ieee80211_prep_tx_info(9)
- struct ieee80211_ops(9)
- ieee80211_alloc_hw_nm(9)
- ieee80211_alloc_hw(9)
- ieee80211_register_hw(9)
- struct ieee80211_tpt_blink(9)
- enum ieee80211_tpt_led_trigger_flags(9)
- ieee80211_get_tx_led_name(9)
- ieee80211_get_rx_led_name(9)
- ieee80211_get_assoc_led_name(9)
- ieee80211_get_radio_led_name(9)
- ieee80211_create_tpt_led_trigger(9)
- ieee80211_unregister_hw(9)
- ieee80211_free_hw(9)
- ieee80211_restart_hw(9)
- ieee80211_rx_list(9)
- ieee80211_rx_napi(9)
- ieee80211_rx(9)
- ieee80211_rx_irqsafe(9)
- ieee80211_rx_ni(9)
- ieee80211_sta_ps_transition(9)
- ieee80211_sta_ps_transition_ni(9)
- ieee80211_sta_pspoll(9)
- ieee80211_sta_uapsd_trigger(9)
- ieee80211_sta_set_buffered(9)
- ieee80211_get_tx_rates(9)
- ieee80211_tx_rate_update(9)
- ieee80211_tx_status_skb(9)
- ieee80211_tx_status_ext(9)
- ieee80211_tx_status_noskb(9)
- ieee80211_tx_status_ni(9)
- ieee80211_tx_status_irqsafe(9)
- ieee80211_report_low_ack(9)
- struct ieee80211_mutable_offsets(9)
- ieee80211_beacon_get_template(9)
- ieee80211_beacon_get_template_ema_index(9)
- struct ieee80211_ema_beacons(9)
- ieee80211_beacon_get_template_ema_list(9)
- ieee80211_beacon_free_ema_list(9)
- ieee80211_beacon_get_tim(9)
- ieee80211_beacon_get(9)
- ieee80211_beacon_update_cntdwn(9)
- ieee80211_beacon_set_cntdwn(9)
- ieee80211_csa_finish(9)
- ieee80211_beacon_cntdwn_is_complete(9)
- ieee80211_color_change_finish(9)
- ieee80211_proberesp_get(9)
- ieee80211_pspoll_get(9)
- ieee80211_nullfunc_get(9)
- ieee80211_probereq_get(9)
- ieee80211_rts_get(9)
- ieee80211_rts_duration(9)
- ieee80211_ctstoself_get(9)
- ieee80211_ctstoself_duration(9)
- ieee80211_generic_frame_duration(9)
- ieee80211_get_buffered_bc(9)
- ieee80211_get_tkip_p1k_iv(9)
- ieee80211_get_tkip_p1k(9)
- ieee80211_get_tkip_rx_p1k(9)
- ieee80211_get_tkip_p2k(9)
- ieee80211_tkip_add_iv(9)
- ieee80211_get_key_rx_seq(9)
- ieee80211_set_key_rx_seq(9)
- ieee80211_gtk_rekey_add(9)
- ieee80211_gtk_rekey_notify(9)
- ieee80211_key_mic_failure(9)
- ieee80211_key_replay(9)
- ieee80211_wake_queue(9)
- ieee80211_stop_queue(9)
- ieee80211_queue_stopped(9)
- ieee80211_stop_queues(9)
- ieee80211_wake_queues(9)
- ieee80211_scan_completed(9)
- ieee80211_sched_scan_results(9)
- ieee80211_sched_scan_stopped(9)
- enum ieee80211_interface_iteration_flags(9)
- ieee80211_iterate_interfaces(9)
- ieee80211_iterate_active_interfaces(9)
- ieee80211_iterate_active_interfaces_atomic(9)
- for_each_interface(9)
- for_each_active_interface(9)
- ieee80211_iterate_active_interfaces_mtx(9)
- ieee80211_iterate_stations_atomic(9)
- for_each_station(9)
- ieee80211_iterate_stations_mtx(9)
- ieee80211_queue_work(9)
- ieee80211_queue_delayed_work(9)
- ieee80211_refresh_tx_agg_session_timer(9)
- ieee80211_start_tx_ba_session(9)
- ieee80211_start_tx_ba_cb_irqsafe(9)
- ieee80211_stop_tx_ba_session(9)
- ieee80211_stop_tx_ba_cb_irqsafe(9)
- ieee80211_find_sta(9)
- ieee80211_find_sta_by_ifaddr(9)
- ieee80211_find_sta_by_link_addrs(9)
- ieee80211_sta_block_awake(9)
- ieee80211_sta_eosp(9)
- ieee80211_send_eosp_nullfunc(9)
- ieee80211_sta_recalc_aggregates(9)
- ieee80211_sta_register_airtime(9)
- ieee80211_txq_airtime_check(9)
- ieee80211_txq_aql_pending(9)
- ieee80211_iter_keys(9)
- ieee80211_iter_keys_rcu(9)
- ieee80211_iter_chan_contexts_atomic(9)
- ieee80211_iter_chan_contexts_mtx(9)
- ieee80211_ap_probereq_get(9)
- ieee80211_beacon_loss(9)
- ieee80211_connection_loss(9)
- ieee80211_disconnect(9)
- ieee80211_resume_disconnect(9)
- ieee80211_hw_restart_disconnect(9)
- ieee80211_cqm_rssi_notify(9)
- ieee80211_cqm_beacon_loss_notify(9)
- ieee80211_radar_detected(9)
- ieee80211_chswitch_done(9)
- ieee80211_channel_switch_disconnect(9)
- ieee80211_request_smps(9)
- ieee80211_ready_on_channel(9)
- ieee80211_remain_on_channel_expired(9)
- ieee80211_stop_rx_ba_session(9)
- ieee80211_mark_rx_ba_filtered_frames(9)
- ieee80211_send_bar(9)
- ieee80211_manage_rx_ba_offl(9)
- ieee80211_start_rx_ba_session_offl(9)
- ieee80211_stop_rx_ba_session_offl(9)
- ieee80211_rx_ba_timer_expired(9)
- struct ieee80211_tx_rate_control(9)
- enum rate_control_capabilities(9)
- rate_control_set_rates(9)
- ieee80211_get_he_iftype_cap_vif(9)
- ieee80211_get_he_6ghz_capa_vif(9)
- ieee80211_get_eht_iftype_cap_vif(9)
- ieee80211_get_uhr_iftype_cap_vif(9)
- ieee80211_update_mu_groups(9)
- ieee80211_ave_rssi(9)
- ieee80211_calculate_rx_timestamp(9)
- ieee80211_report_wowlan_wakeup(9)
- ieee80211_tx_prepare_skb(9)
- ieee80211_parse_tx_radiotap(9)
- struct ieee80211_noa_data(9)
- ieee80211_parse_p2p_noa(9)
- ieee80211_update_p2p_noa(9)
- ieee80211_tdls_oper_request(9)
- ieee80211_reserve_tid(9)
- ieee80211_unreserve_tid(9)
- ieee80211_tx_dequeue(9)
- ieee80211_tx_dequeue_ni(9)
- ieee80211_handle_wake_tx_queue(9)
- ieee80211_next_txq(9)
- ieee80211_txq_schedule_start(9)
- ieee80211_schedule_txq(9)
- ieee80211_return_txq(9)
- ieee80211_txq_may_transmit(9)
- ieee80211_txq_get_depth(9)
- ieee80211_nan_func_terminated(9)
- ieee80211_nan_func_match(9)
- ieee80211_nan_sched_update_done(9)
- ieee80211_nan_cluster_joined(9)
- ieee80211_nan_try_evacuate(9)
- ieee80211_calc_rx_airtime(9)
- ieee80211_calc_tx_airtime(9)
- ieee80211_get_fils_discovery_tmpl(9)
- ieee80211_get_unsol_bcast_probe_resp_tmpl(9)
- ieee80211_obss_color_collision_notify(9)
- ieee80211_is_tx_data(9)
- ieee80211_set_active_links(9)
- ieee80211_set_active_links_async(9)
- ieee80211_send_teardown_neg_ttlm(9)
- ieee80211_chan_width_to_rx_bw(9)
- ieee80211_prepare_rx_omi_bw(9)
- ieee80211_finalize_rx_omi_bw(9)
- ieee80211_vif_nan_started(9)
- ieee80211_encrypt_tx_skb(9)
likeβ¦ 274 refs?? she said "link everything, i'm not doing homework twice." π₯π
heads up bestie: the IEEE80211_CHANCTX_CHANGE_CHANNEL note is a real constraint, not a vibe β it's used only with channel switching with CSA. don't go applying it to other stuff, fr fr. π
π the cute sign-off π
this iconic little page lives in ./include/net, and it's dated October 2026 β yes, the future, she's ahead of her time, main character energy only. π¦β¨
now go forth and check your change flags correctly. slay. π π
π¦ 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