STRUCT CFG80211_MGMT_TX_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct cfg80211_mgmt_tx_params β€” the mgmt tx parameters, bestie. that's it, that's the whole vibe ✨

so this is the Kernel API Manual page (yes, the Kernel API Manual, we're fancy now πŸ‘‘) for struct cfg80211_mgmt_tx_params(9) β€” and the way that this struct just holds all the deets you need to yeet a management frame out the door? iconic. πŸŽ€


✨ SYNOPSIS ✨

okay so here's the whole thing laid out, character for character, no cap:

struct cfg80211_mgmt_tx_params {
    struct ieee80211_channel *chan;
    bool offchan;
    unsigned int wait;
    const u8 *buf;
    size_t len;
    bool no_cck;
    bool dont_wait_for_ack;
    int n_csa_offsets;
    const u16 *csa_offsets;
    int link_id;
 };

like… look at her. every field accounted for, every field in her lane. πŸ’…


🌸 Members 🌸

okay bestie, field-by-field, let's go:

  • chan β€” the channel to use. literally which channel we're on, that's the whole thing πŸ¦‹
  • offchan β€” indicates whether off channel operation is required. so like, are we doing the off-channel thing or not, it's a whole yes/no moment ✨
  • wait β€” duration for ROC. (that's the ROC duration, keep up πŸ’œ)
  • buf β€” buffer to transmit. the actual payload, the main character of this whole operation πŸ’…
  • len β€” buffer length. yes she has a length, it's len, we move πŸŽ€
  • no_cck β€” don't use cck rates for this frame. like, respectfully, no cck here πŸ™ˆ
  • dont_wait_for_ack β€” tells the low level not to wait for an ack. it's giving "i'm not waiting around for a reply text" energy πŸ’€
  • n_csa_offsets β€” length of csa_offsets array. the count. the number. the receipts πŸ“‹
  • csa_offsets β€” array of all the csa offsets in the frame. all of them. every single offset, accounted for, queen behavior πŸ‘‘
  • link_id β€” for MLO, the link ID to transmit on, -1 if not given; note that the link ID isn't validated (much), it's in range but the link might not exist (or be used by the receiver STA). 🫢
⚠️ okay so real talk on that last one: it's not really validated β€” like, "(much)" β€” it's in range but the link might not exist, or the receiver STA might be using it. so don't come for the kernel when your link_id is silly. you were warned, bestie 😭

🌈 Description 🌈

This structure provides information needed to transmit a mgmt frame. fr fr, that's the entire job β€” she's the little info packet that tells everyone what they need to know to get that management frame out into the world. ⭐

(more parts coming, don't go anywhere πŸ’–)

✨ SEE ALSO ✨

okay bestie, this is the part where the manpage pulls out the entire group chat 😭 it’s a whole roll call of cross-references, and we are not skipping a single one. The kernel file is ./include/net/cfg80211.h, and every SEE ALSO link below is here, exactly as named. No cap, no β€œyou get the vibe” shortcuts β€” full list, periodt. πŸ’…

…and the list literally does not stop, bestie, we're still going 😭 buckle up:


and that's the whole extended fam, bestie β€” 64 entries, not one of them skipped, we ate and left no crumbs πŸ‘‘

kisses from the kernel docs, mwah πŸŽ€ β€” this one came out of ./include/net, dated October 2026, under the banner of struct cfg80...mt_tx_params(9) (yes that's the truncated title, she's shy). Go read the rest of the series, ily, bye! πŸ’–

πŸ“¦ where this page comes from