ieee80211_has_retry(9)
π ieee80211_has_retry β Kernel API Manual, bestie edition π
okay so real talk: this page lives in the Kernel API Manual, and it's about one (1) tiny little function that answers one (1) tiny little question. no cap, it's giving "small but mighty" energy and honestly? we love her for it. β¨
β¨ NAME β¨
ieee80211_has_retry β check if IEEE80211_FCTL_RETRY is set
like, that's the whole job. she checks. she reports. she leaves. main character energy fr fr. π
π¦ SYNOPSIS π¦
bool ieee80211_has_retry (__le16 fc );
πΈ ARGUMENTS πΈ
fcβ the frame control bytes, and they gotta be in little-endian byteorder. respect the byteorder bestie, do not come in here with your big-endian nonsense, the vibe check will be failed π
π RETURN π
it returns whether or not the retry flag is set. that's it. that's the whole reveal. a bool. true or false. slay. π«Ά
π SEE ALSO π
okay this part is long, grab a snack π β everything here lives in the kernel file ./include/linux/ieee80211.h, and honestly the whole friend group showed up:
the flag-checkers (the has_* girlies):
ieee80211_has_tods(9)ieee80211_has_fromds(9)ieee80211_has_a4(9)ieee80211_has_morefrags(9)ieee80211_has_pm(9)ieee80211_has_moredata(9)ieee80211_has_protected(9)ieee80211_has_order(9)
the is_* squad (there are SO many, they're iconic for it):
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)
the structs & the one enum (information elements, very demure, very mindful):
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 getters, the robustness checks, and the rest of the extended fam:
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)
lowkey a whole reunion up in here π if you only read one of these, read the one you actually need β but they're all in ./include/linux/ieee80211.h so at least you know where the group chat is π«Ά
πΈ that's the whole page bestie!! courtesy of ./include/linux, dated October 2026 β go forth, check your retry flags, and remember: little function, big 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