ieee80211_is_back_req(9)
π ieee80211_is_back_req β from the Kernel API Manual (section 9) π
okay so bestie, gather round, because this one is short and sweet and honestly kind of iconic in its simplicity. It's a tiny little vibes-check function for wifi frames, and the whole personality of this page is "does this thing qualify." Let's go π
β¨ NAME β¨
ieee80211_is_back_req β the function that checks if a frame control field is both IEEE80211_FTYPE_CTL and IEEE80211_STYPE_BACK_REQ. That's it. That's the whole job. Two conditions, one boolean, no drama πΈ
π SYNOPSIS π
bool ieee80211_is_back_req (__le16 fc );
literally just hand it a __le16 and it tells you a yes-or-no. chef's kiss π«Ά
π¦ ARGUMENTS π¦
fcβ the frame control bytes, in little-endian byteorder. not big-endian, not "whatever my machine feels like" endian, little-endian, bestie, the byteorder is load-bearing π₯
β RETURN β
Returns whether or not the frame is a block-ACK request frame. that's the whole tea β a bool, true if yes, false if no, no hidden extras, no surprises π
π SEE ALSO π
so this function does not exist in a vacuum, she has a whole extended friend group. Kernel file ./include/linux/ieee80211.h is where she lives π and then, alphabetically-ish by vibe:
the has_* flag-checker girlies (the squad that peeks at individual frame-control bits):
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)
the is_* type-checker crew (our main character's direct coworkers π):
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(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_any_nullfunc(9)ieee80211_is_trigger(9)ieee80211_is_first_frag(9),ieee80211_is_frag(9)
ngl theis_backvsis_back_reqnaming is giving sibling energy, and yes they are two different functions, don't mix them up π
the struct/enum crowd (information elements and friends):
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)
the helpers, accessors, and general utility superstars β¨:
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)
and that's the whole page, bestie, we ate and left no crumbs π
cute little sign-off: this page comes from the source path ./include/linux and it's dated October 2026, filed under the manual name ieee80211_is_back_req(9). go forth and check those frame control bytes, ily, bye ππ§ββοΈ
π¦ 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