STRUCT IEEE80211_ELEMS_PARSE_PARAMS(9)
π struct ieee80211_elems_parse_params(9) β Kernel API Manual, bestie edition β¨
okay so this is struct ieee80211_elems_parse_params(9) and it lives in the Kernel API Manual, and honestly? it's the little struct that could π«Ά it's literally just the β¨parametersβ¨ you hand over when you want the kernel to go parse some 802.11 elements for you. think of it as the vibes-and-instructions bundle. no cap.
β¨ NAME β¨
struct ieee80211_elems_parse_params β element parsing parameters π
like, the params. for parsing. elements. periodt.
π¦ SYNOPSIS π¦
struct ieee80211_elems_parse_params {
enum ieee80211_conn_mode mode;
const u8 *start;
size_t len;
u8 type;
u64 filter;
u32 crc;
struct cfg80211_bss *bss;
int link_id;
bool from_ap;
};
that's her π that's the whole struct. nine fields. every single one of them iconic in her own way. let's go through them because i would never leave you hanging.
πΈ Members πΈ
modeβ the connection mode for parsing π₯ like, what mode are we in, because that changes how we parse, obviously.startβ a pointer to the elements π«Ά literally just where the elements begin. point me at 'em.lenβ the length of the elements π so we know how far to read. boundaries, bestie. we love them.typeβ the type of the frame the elements came from π like an action, a probe response, a beacon, etc. etc. yes "etc." is doing a lot of work there but that's what the manpage says and i respect it.filterβ a bitmap of element IDs to filter out while calculating the element CRC π§ so while we're computing the CRC we can be like "not you, not you, definitely not you" to specific element IDs.crcβ the CRC starting value β the seed. the origin story. the starting point of the checksum journey.bssβ the BSS to parse this as π and here's the cute part: for multi-BSSID cases this can represent a non-transmitting BSS, in which case the data for that non-transmitting BSS is what gets returned. so you ask about the quiet one and you get the quiet one's stuff back. slay.link_idβ the link ID to parse elements for, if a STA profile is present in the multi-link element, or-1to ignore π¦ and ngl there's a lil caveat here: the code currently assumes it's parsing an association (or re-association) response frame if this is given. so like. if you set it, that's the assumption you're signing up for. no cap, that's just how it is right now.from_apβ frame is received from an AP π (currently used only for EHT capabilities parsing). so like, is this from an AP or not? and the only place it matters right now is EHT caps parsing. she's niche. she's specific. we stan.
π SEE ALSO π
okay so if you're going down the rabbit hole (and you will, bestie, it's giving main character energy), here's the whole friend group π β all of these live in the Kernel file ./net/mac80211/ieee80211_i.h:
- enum
ieee80211_bss_corrupt_data_flags(9) - enum
ieee80211_bss_valid_data_flags(9) - enum
ieee80211_packet_rx_flags(9) - enum
ieee80211_rx_flags(9) - struct
ieee80211_if_ocb(9) - struct
ieee80211_mesh_sync_ops(9) - struct
mesh_table(9) - struct
mesh_tx_cache(9) - enum
ieee80211_sub_if_data_flags(9) - enum
ieee80211_sdata_state_bits(9) - enum
ieee80211_chanctx_mode(9) - enum
ieee80211_chanctx_replace_state(9) - struct
txq_info(9) - struct
ieee80211_if_nan(9) - struct
ieee80211_if_nan_data(9) - enum
mac80211_scan_flags(9) - enum
mac80211_scan_state(9) ieee80211_parse_ch_switch_ie(9)
like, that's a whole group chat right there and you're invited π
π reminder bestie: everything above is exactly what the page says β no invented behaviour, no extra tips pretending to be facts. if the manpage didn't say it, i didn't say it. iykyk.
alright that's the whole thing, and yes this page came from ./net/mac80211 and it's dated October 2026 β so mark your calendar, screenshot it, put it in the group chat, because we're done here π
β¨π
π¦ 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