STRUCT BRCMF_P2P_ACTION_FRAME(9)
π struct brcmf_p2p_action_frame β WiFi P2P Action Frame π
Okay bestie, so this is a page straight out of the Kernel API Manual β yes, the struct brcmf_p2p_action_frame(9) one, the little cutie that describes a WiFi P2P Action Frame. Grab a strawberry drink π and let's get into it, because this struct is lowkey iconic.
β¨ NAME β¨
struct brcmf_p2p_action_frame β WiFi P2P Action Frame. That's it, that's the vibe. π
π¦ SYNOPSIS π¦
Here's the whole struct, exactly as it lives, no cap:
struct brcmf_p2p_action_frame {
u8 category;
u8 oui[3];
u8 type;
u8 subtype;
u8 dialog_token;
u8 elts[];
};
Look at her. Six fields and one glorious flexible array member. Main character energy fr fr. π
πΈ Members πΈ
Every single one, bestie, let's go down the list:
categoryβ this one isP2P_AF_CATEGORY. That's the whole description, she's mysterious like that. πouiβ the OUI, which isP2P_OUI. Three bytes of pure organizational identity.typeβ the OUI Type, and it'sWLAN_OUI_TYPE_WFA_P2P. Yes, that WFA P2P type. Slay.subtypeβ the OUI Subtype, written asP2P_AF_*. So like, whateverP2P_AF_something fits there, iykyk. πdialog_tokenβ nonzero, okay? It identifies the req/resp tranaction. (That's the manual's spelling, not mine β copying it exactly because I respect the source. π) Basically it's the little name tag on a request/response pair so nobody mixes them up. βeltsβ Variable length information elements. Flexible array, does what it wants, we love a free spirit. π¦
Ngl, elts[] is giving "I contain multitudes" and honestly? Same.
π₯ SEE ALSO π₯
The kernel file that started it all:
./drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
And now, the whole freaking friend group β every single one of these, no skips, because they're all linked and we don't leave anyone on read: π
struct brcmf_p2p_disc_st_le(9)enum brcmf_p2p_disc_state(9)struct brcmf_p2p_scan_le(9)struct brcmf_p2p_pub_act_frame(9)struct brcmf_p2psd_gas_pub_act_frame(9)struct brcmf_config_af_params(9)brcmf_p2p_is_pub_action(9)brcmf_p2p_is_dpp_pub_action(9)brcmf_p2p_is_p2p_action(9)brcmf_p2p_is_gas_action(9)brcmf_p2p_print_actframe(9)brcmf_p2p_set_firmware(9)brcmf_p2p_generate_bss_mac(9)brcmf_p2p_scan_is_p2p_request(9)brcmf_p2p_set_discover_state(9)brcmf_p2p_deinit_discovery(9)brcmf_p2p_enable_discovery(9)brcmf_p2p_escan(9)brcmf_p2p_run_escan(9)brcmf_p2p_find_listen_channel(9)brcmf_p2p_scan_prep(9)brcmf_p2p_discover_listen(9)brcmf_p2p_remain_on_channel(9)brcmf_p2p_notify_listen_complete(9)brcmf_p2p_cancel_remain_on_channel(9)brcmf_p2p_act_frm_search(9)brcmf_p2p_afx_handler(9)brcmf_p2p_af_searching_channel(9)brcmf_p2p_scan_finding_common_channel(9)brcmf_p2p_abort_action_frame(9)brcmf_p2p_stop_wait_next_action_frame(9)brcmf_p2p_gon_req_collision(9)brcmf_p2p_notify_action_frame_rx(9)brcmf_p2p_notify_action_tx_complete(9)brcmf_p2p_tx_action_frame(9)brcmf_p2p_pub_af_tx(9)brcmf_p2p_send_action_frame(9)brcmf_p2p_notify_rx_mgmt_p2p_probereq(9)brcmf_p2p_get_current_chanspec(9)brcmf_p2p_ifchange(9)brcmf_p2p_create_p2pdev(9)brcmf_p2p_add_vif(9)brcmf_p2p_del_vif(9)brcmf_p2p_attach(9)brcmf_p2p_detach(9)
Forty-five entries and every single one made the list. We ate. π β¨
π Sign-off π
This little love letter comes from ./drivers/net/wireless/broadco... (the source line is literally truncated like that in the footer, bestie, I'm not hiding anything from you π) and it's dated October 2026 β the struct brcm...action_frame(9) era, and what a time to be alive. ππ«Ά
Go forth and frame some actions. Periodt. π₯β
π¦ 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