ieee80211_i...short_beacon(9)
β¨ ieee80211_i...short_beacon(9) β¨
okay so bestie, this is a page from the Kernel API Manual β yes, the actual kernel, not a vibe. it's all about one tiny function called ieee80211_is_s1g_short_beacon, and honestly? it's giving "small function, big lore." let's get into it π
πΈ NAME πΈ
ieee80211_is_s1g_short_beacon β check if frame is an S1G short beacon π
like, that's the whole job. she checks. she reports. she slays.
π¦ SYNOPSIS π¦
bool ieee80211_is_s1g_short_beacon (__le16 fc , const u8 *variable ,
size_t variable_len );
that's the whole signature, no cap. it hands you back a bool β true or false, iconic behavior.
π ARGUMENTS π
fcβ frame control bytes in little-endian byteorder. little-endian fr fr, don't come at her with big-endian energy πvariableβ pointer to the beacon frame elements. just a pointer, she's not copying anything, she's just looking πvariable_lenβ length of the frame elements. gotta know how much to look at, periodt.
π RETURN π
returns whether or not the frame is an S1G short beacon. so basically a yes/no vibe check π
and here's the reasoning, which is genuinely kind of beautiful ngl. As per IEEE80211-2024 11.1.3.10.1, The S1G beacon compatibility element shall always be present as the first element in beacon frames generated at a TBTT (Target Beacon Transmission Time), so any frame not containing this element must have been generated at a TSBTT (Target Short Beacon Transmission Time) that is not a TBTT.
Additionally, short beacons are prohibited from containing the S1G beacon compatibility element as per IEEE80211-2024 9.3.4.3 Table 9-76, so if we have an S1G beacon with either no elements or the first element is not the beacon compatibility element, we have a short beacon.
π§ so the logic is literally: no compat element as element #1? congrats bestie, it's a short beacon. the spec said so, not me.
β SEE ALSO β
- Kernel file
./include/linux/ieee80211-s1g.hβ the home base, the main character location π ieee80211_is_s1g_beacon(9)ieee80211_s1g_has_next_tbtt(9)ieee80211_s1g_has_ano(9)ieee80211_s1g_has_cssid(9)enum ieee80211_s1g_chanwidth(9)enum ieee80211_s1g_pri_chanwidth(9)struct ieee80211_s1g_bcn_compat_ie(9)struct ieee80211_s1g_oper_ie(9)struct ieee80211_aid_response_ie(9)ieee80211_s1g_optional_len(9)
all of these are her friends, her group chat, her support system π«Ά go read them too, iykyk.
and that's the page!! this little cutie lives in ./include/linux, dated October 2026, and the header at the top of this whole thing was ieee80211_i...short_beacon(9) all along β we been knew π byeeeee πβ¨
π¦ 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