STRUCT IEEE80211_TIM_IE(9)
π struct ieee80211_tim_ie β Traffic Indication Map information element π
okay bestie, welcome to page struct ieee80211_tim_ie(9) of the Kernel API Manual β yes it's the section-9 one, the kernel-internals one, we love her π
. Buckle up, this is the TIM element struct and she is literally the reason your phone knows when to wake up. iykyk.
π NAME π
struct ieee80211_tim_ie β the Traffic Indication Map information element. that's it, that's the whole name, she's an information element and she maps traffic β¨
π¦ SYNOPSIS π¦
struct ieee80211_tim_ie {
u8 dtim_count;
u8 dtim_period;
u8 bitmap_ctrl;
union {
u8 required_octet;
u8 virtual_map[];
};
};
look at her. three little u8s and an anonymous union. main character energy fr fr πΈ
π«Ά Members π«Ά
dtim_countβ the DTIM Count. that's the whole description, she's mysterious like that πdtim_periodβ the DTIM Period. equally mysterious. iconic.bitmap_ctrlβ the Bitmap Control. slay.{unnamed_union}β an anonymous union, no name, no notes, she simply is πrequired_octetβ the field described as"Syntatic sugar"(spelled exactly like that in the source, don't come for me) whose whole job is to force the struct size to the minimum valid size when carried in a non-S1G PPDU. she's a structural support beam and a vibe π₯virtual_mapβ the Partial Virtual Bitmap. the actual bitmap, the payload princess π
β Description β
so this structure represents the payload of the "TIM element" as described in IEEE Std 802.11-2020 section 9.4.2.5. no cap, that's the citation, go read it, she's thorough π
β οΈ important caveat bestie, do not skip this: this definition is only applicable when the element is carried in a non-S1G PPDU. when the TIM is carried in an S1G PPDU, the Bitmap Control and Partial Virtual Bitmap may not be present. so like, they might justβ¦ not be there. mood, honestly. don't go dereferencing them assuming they showed up π
π SEE ALSO π
- kernel file
./include/linux/ieee80211.hβ the source of truth, the mothership π§ ieee80211_has_tods(9),ieee80211_has_fromds(9),ieee80211_has_a4(9),ieee80211_has_morefrags(9),ieee80211_has_retry(9),ieee80211_has_pm(9)ieee80211_has_moredata(9),ieee80211_has_protected(9),ieee80211_has_order(9),ieee80211_is_mgmt(9),ieee80211_is_ctl(9),ieee80211_is_data(9)ieee80211_is_ext(9),ieee80211_is_data_qos(9),ieee80211_is_data_present(9),ieee80211_is_assoc_req(9),ieee80211_is_assoc_resp(9),ieee80211_is_reassoc_req(9),ieee80211_is_reassoc_resp(9)ieee80211_is_assoc(9),ieee80211_is_probe_req(9),ieee80211_is_probe_resp(9),ieee80211_is_beacon(9),ieee80211_is_atim(9),ieee80211_is_disassoc(9)ieee80211_is_auth(9),ieee80211_is_deauth(9),ieee80211_is_action(9),ieee80211_is_back_req(9),ieee80211_is_back(9),ieee80211_is_pspoll(9)ieee80211_is_rts(9),ieee80211_is_cts(9),ieee80211_is_ack(9),ieee80211_is_cfend(9),ieee80211_is_cfendack(9),ieee80211_is_nullfunc(9),ieee80211_is_qos_nullfunc(9)ieee80211_is_trigger(9),ieee80211_is_any_nullfunc(9),ieee80211_is_first_frag(9),ieee80211_is_frag(9)struct ieee80211_quiet_ie(9),struct ieee80211_msrment_ie(9),struct ieee80211_channel_sw_ie(9),struct ieee80211_ext_chansw_ie(9)struct ieee80211_sec_chan_offs_ie(9),struct ieee80211_wide_bw_chansw_ie(9),struct ieee80211_tpc_report_ie(9),struct ieee80211_bss_load_elem(9)struct ieee80211_timeout_interval_ie(9),enum ieee80211_idle_options(9),struct ieee80211_bss_max_idle_period_ie(9),struct ieee80211_bssid_index(9),struct ieee80211_multiple_bssid_configuration(9)ieee80211_get_qos_ctl(9),ieee80211_get_tid(9),ieee80211_get_SA(9),ieee80211_get_DA(9)ieee80211_is_bufferable_mmpdu(9),_ieee80211_is_robust_mgmt_frame(9),ieee80211_is_robust_mgmt_frame(9),ieee80211_is_public_action(9),ieee80211_is_protected_dual_of_public_action(9)_ieee80211_is_group_privacy_action(9),ieee80211_is_group_privacy_action(9),ieee80211_tu_to_usec(9),ieee80211_get_tdls_action(9),ieee80211_action_contains_tpc(9)ieee80211_is_timing_measurement(9),ieee80211_is_ftm(9),for_each_element_completed(9),struct ieee80211_enh_crit_upd(9),ieee80211_check_tim(9)
that's the whole page bestie, every field, every caveat, every one of those cross-references β nothing dropped, nothing invented π«Ά
sign-off szn: this page lives under ./include/linux and it's dated October 2026. go forth and parse your TIM elements responsibly. periodt. ππβ¨
π¦ 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