cfg80211_defragment_element(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_defragment_element

okay so bestie, welcome to the Kernel API Manual page for cfg80211_defragment_element β€” it's a whole defrag moment and the energy is immaculate. πŸ¦‹βœ¨


✨ NAME ✨

cfg80211_defragment_element β€” Defrag the given element data into a buffer. that's the whole assignment, periodt. πŸ’–

πŸ“œ SYNOPSIS πŸ“œ

vibe check the signature exactly, no edits, no improv:

ssize_t cfg80211_defragment_element (const struct element *elem , const u8 *ies , size_t ieslen , u8 *data , size_t data_len , u8 frag_id );

πŸŽ€ ARGUMENTS πŸŽ€

okay bestie, here's the cast of characters β€” every single one matters. πŸŽ€

  • elem β€” the element to defragment. main character energy, fr fr.
  • ies β€” elements where elem is contained. yep, it's in there somewhere.
  • ieslen β€” length of ies. the size of that element crew.
  • data β€” buffer to store element data, or NULL to just determine size. pass NULL and you're just here for the size reveal, no cap.
  • data_len β€” length of data, or 0. give it the buffer length or just 0.
  • frag_id β€” the element ID of fragments. that's the fragment fam's ID.

πŸ” RETURN πŸ”

what comes back? length of data, or -EINVAL on error. so it's either the length reveal or a little error moment, and we respect both. 😭

🧚 DESCRIPTION 🧚

Now the main event: Copy out all data from an element that may be fragmented into data, while skipping all headers. it's literally defrag-and-serve energy. ✨

The function uses memmove internally. yes, memmove is in the group chat. It is acceptable to defragment an element in-place, so the in-place glow-up is fully allowed. 🫢

in-place defrag? iconic. πŸ’…

✨ SEE ALSO ✨

okay bestie, this is literally the friend list of the entire page β€” every single cross-reference, no skips, no cap. Grab a snack πŸ“ because we're going through all of them, and they're all staying exactly as written.


and now we're sliding into the configuration era, no big deal πŸ’…


scanning time, aka the part where we go looking for vibes πŸ”βœ¨

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

NAN girlies, rise πŸ§šπŸ’œ


utility functions!! the little helpers that keep the whole thing cute and functional πŸŽ€


data path helpers, aka where the packets actually do their lil walk πŸ’«


regulatory enforcement infrastructure β€” yes the rules girlies are here 🌈


and the notifications/reporting besties, we love a function that keeps everyone in the loop 🫢


RFkill integration, vendor commands, test mode β€” the whole backstage area πŸ’€βœ¨


and the final stretch of references, still going, still iconic πŸ‘‘

and that's the whole friend list, bestie β€” not a single one missing πŸ’– part 3 is literally right there πŸ‘€

Okay so the SEE ALSO list is long β€” she's giving "I have a big friend group and you're gonna meet all of them" energy. Part three is basically the rest of the roll call, so buckle up bestie, we're doing name after name after name and I refuse to skip a single one πŸ’…

Like, that last one? That's the sibling of the page you're literally on right now β€” iconic family reunion energy 🫢

Not me just casually listing every single one because I said I would 😀

The colour-change girlies really said "we come as a set" and honestly? Slay 🌈

And that's the whole group chat, fr fr β€” every single reference accounted for, nobody left on read πŸ’–


Lowkey the real flex here: if you ever forget how the rest of this subsystem hangs together, this list is your bestie. Bookmark it, screenshot it, put it on your lockscreen, idk πŸŽ€

Okay and finally, the boring-but-important receipts, because I'm not about to be shady and skip them: this page lives in the source under ./include/net, it's dated October 2026, and its title-card is cfg80211_defragment_element(9). Version, date, path β€” all present and cute. Periodt βœ¨πŸ‘‘

Go touch grass now, you've earned it πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from