ieee80211_check_tim(9)
π¦ ieee80211_check_tim π
okay so bestie, welcome to the Kernel API Manual β¨ today's main character is ieee80211_check_tim, and honestly? she's a little legend. her whole thing is peeking at a TIM and telling you if a specific AID has its bit set in there. iykyk π
πΈ NAME πΈ
ieee80211_check_tim β check if the AID bit is set in the TIM π no cap, that's literally the job.
β¨ SYNOPSIS β¨
bool ieee80211_check_tim (const struct ieee80211_tim_ie *tim , u8
tim_len , u16 aid , bool s1g );
she takes four things and hands you back a bool. iconic behavior, honestly π«Ά
π ARGUMENTS π
timβ the TIM IE itself. the actual element, the vibe, the moment π«tim_lenβ how long that TIM IE is. yes queen, length matters, we need to know how much of it to look at π₯aidβ the AID you're looking for. the specific one. the one you're obsessed with πs1gβ tells you whether this TIM is from an S1G PPDU or not. lowkey a big deal, don't skip it β
π RETURN π
she returns whether or not traffic is indicated in the TIM for the given AID π like, is there traffic for that AID or not β that's the whole answer. true / false, slay, done π
π§ SEE ALSO π§
Kernel file ./include/linux/ieee80211.h β that's where the goods live, go look π
then the whole friend group shows up, fr fr:
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)
and the struct girlies π
: 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_tim_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)
plus the getters and the rest of the crew πΈ: 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)
that's the whole page, bestie, you ate it up π
cute little sign-off: this one comes from ./include/linux, dated October 2026 β go off, calendar icon π π
π¦ 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