cfg80211_te...oc_event_skb(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

cfg80211_testmode_alloc_event_skb β€” allocate testmode event

okay so real talk, this is from the Kernel API Manual (section 9, the kernel-API girlies), and the whole vibe of this function is: it makes you an event skb. that's it, that's the function. slay.


✨ SYNOPSIS ✨

struct sk_buff * cfg80211_testmode_alloc_event_skb (struct wiphy *wiphy
, int approxlen , gfp_t gfp );

like yes, that's the whole signature, look at her go 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • wiphy β€” the wiphy. that's the whole description bestie, she speaks for herself πŸ’…
  • approxlen β€” an upper bound of the length of the data that will be put into the skb. so like, a ceiling, not an exact number, don't come for her 🌸
  • gfp β€” allocation flags. the classic.

πŸ¦‹ DESCRIPTION πŸ¦‹

so what she does is: allocates and pre-fills an skb for an event on the testmode multicast group. iconic behavior honestly ✨

the returned skb is set up in the same way as with cfg80211_testmode_alloc_reply_skb β€” but it's prepared for an event instead. and just like there, you should simply add data to it, and that data will then end up in the NL80211_ATTR_TESTDATA attribute. easy!

🚨 and again β€” you must not modify the skb in any other way. like, at all. hands off the rest of it, i'm serious 😭

when you're done filling the skb, call cfg80211_testmode_event with the skb to send the event. that's the sending part. you're welcome πŸ’–


πŸ‘‘ RETURN πŸ‘‘

an allocated and pre-filled skb. and NULL if any errors happen β€” so like, check for that, bestie, fr fr πŸ™ˆ


✨ more coming, don't go anywhere ✨

✨ SEE ALSO ✨

okay bestie, brace yourself β€” this is the part where the manpage just dumps an entire syllabus on you. every single one of these is a real cross-reference into section 9 of the kernel API manual, and we are listing all of them. no skimming, no skipping. πŸ’…


🌸 the starting point

  • Kernel file ./include/net/cfg80211.h Introduction(9), Device registration(9)

that's the door, that's the hallway. now the actual rooms πŸ‘‡

πŸ¦‹ band, channel & capability vibes

πŸ’– Actions and configuration(9) β€” the whole cluster

like… that's one heading's worth of friends. iconic behaviour honestly. πŸ‘‘

πŸŽ€ 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)

πŸ¦‹ Neighbor Awareness Networking (NAN)(9)

  • struct cfg80211_nan_band_config(9), struct cfg80211_nan_conf(9), struct cfg80211_nan_channel(9), struct cfg80211_nan_local_sched(9), struct cfg80211_nan_peer_map(9), struct cfg80211_nan_peer_sched(9)
  • enum cfg80211_nan_conf_changes(9), struct cfg80211_nan_func_filter(9), struct cfg80211_nan_func(9)

NAN girlies rise 🫢 (and if you don't know what NAN means here, that's literally what the reference is for, iykyk)

🌈 and then it just keeps going

  • struct cfg80211_pmk_conf(9), struct cfg80211_external_auth_params(9), struct cfg80211_ftm_responder_stats(9)
  • struct cfg80211_pmsr_ftm_result(9), struct cfg80211_pmsr_result(9), struct cfg80211_pmsr_ftm_request_peer(9), struct cfg80211_pmsr_request_peer(9), struct cfg80211_pmsr_request(9)
  • struct cfg80211_update_owe_info(9), struct mgmt_frame_regs(9), struct cfg80211_ops(9), enum wiphy_flags(9)
  • struct ieee80211_iface_limit(9), struct ieee80211_iface_combination(9), enum wiphy_wowlan_support_flags(9), struct wiphy_wowlan_support(9), struct wiphy_coalesce_support(9)
  • enum wiphy_vendor_command_flags(9), enum wiphy_opmode_flag(9), struct sta_opmode_info(9), struct wiphy_vendor_command(9)
  • struct wiphy_iftype_ext_capab(9), cfg80211_get_iftype_ext_capa(9), struct cfg80211_pmsr_capabilities(9), struct wiphy_iftype_akm_suites(9)
  • struct wiphy_radio_cfg(9), struct wiphy_radio_freq_range(9), struct wiphy_radio(9), enum wiphy_nan_flags(9), struct wiphy_nan_capa(9), struct wiphy(9)

πŸ’œ the wiphy lifecycle gang

the way this list has four almost-identical work-function families and each one gets its own page… highkey committed. 😭

πŸŽ€ the wireless_dev corner

⭐ Utility functions(9)

🧚 Data path helpers(9)

πŸ”₯ Regulatory enforcement infrastructure(9)

🌸 Internal regulatory db functions(9)

just the one. and honestly? she's that girl. πŸ’…

πŸ’– BSS notify & mgmt goodies

🌈 RFkill integration(9)

three functions, zero notes, slay ⭐

πŸ‘‘ Vendor commands(9)

πŸ“ Test mode(9)

πŸ’œ connection / roaming / station notification squad

πŸŽ€ mgmt tx/rx & control port crew

πŸ¦‹ CQM, radar & the final batch

and that's where this stretch of the list lands β€” lowkey a lot, highkey worth it. still more coming, don't you dare close the tab πŸ’–

okay so before you close the tab β€” these are the neighbouring pages 🫢 like, if cfg80211_te...oc_event_skb(9) wasn't the one you wanted (tragic, but it happens), one of these 64 icons almost definitely is. Go click around, that's what they're there for, iykyk πŸ’…

πŸ’… the reg / beacon / channel-switch girlies

πŸŽ€ tdls, bitrate math & the whole register/unregister saga

πŸ¦‹ ie splitting, wakeup reports & combos

πŸ”₯ stopping stuff, ext features & nan (pt. 1)

🫢 auth, pmsr, assoc & bss

🌈 colors, mlo, debugfs, s1g & friends


real talk, bestie: that's genuinely every single one of them, all 64, nothing skipped, nothing paraphrased. Read them, love them, man them πŸ’–

and that's a wrap on the whole page πŸŽ€ this one lives over in ./include/net and it's dated October 2026 β€” so if you're reading it before then, hi from the future, slay 🌸 go touch some wlan0, drink water, and remember: no cap, always check your return codes βœ¨πŸ‘‘

πŸ“¦ where this page comes from