STRUCT IL_DEVICE_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct il_device_cmd(9) β€” from the Kernel API Manual, bestie πŸŽ€

okay so picture this: you're deep in the iwlegacy wireless driver and you need a struct that's basically the "how big can this command get" bouncer for the command and tx queues. that's her. that's struct il_device_cmd. say hi πŸ‘‹


✨ NAME ✨

struct il_device_cmd β€” (yes the original NAME line literally has no description after the dash, she's mysterious like that πŸ’… no cap, nothing was there, so nothing's added 🫢)


🌸 SYNOPSIS 🌸

struct il_device_cmd {
    struct il_cmd_header hdr;
    union {
      u32 flags;
      u8 val8;
      u16 val16;
      u32 val32;
      struct il_tx_cmd_hdr tx;
      u8 payload[DEF_CMD_PAYLOAD_SIZE];
    } cmd;
 };

like, look at that union. she contains multitudes πŸ’– flags, val8, val16, val32, tx, and a whole payload array sized DEF_CMD_PAYLOAD_SIZE. one struct, so many moods ✨


πŸ¦‹ Members πŸ¦‹

fr fr the original page gives this heading and then… nothing. zero members listed. an empty section, living her best minimal life πŸ™ˆ so we're not inventing any β€” that's the whole vibe check 🫢


πŸŽ€ Description πŸŽ€

okay so here's the actual tea β˜• β€” this struct is all about allocation of the command and tx queues. when the driver sets up those queues, struct il_device_cmd is what establishes the overall size of the largest command we send to uCode.

and yes, there's exactly one exception, bestie, and it's the big one: a scan command, which is relatively huge 😭 β€” the original is very clear that its space is allocated separately. so don't try to squeeze a scan command in here, she's not built for that, literally πŸ’€


πŸ‘‘ SEE ALSO πŸ‘‘

the whole friend group 🫢 go say hi:


ok and one little PSA 🫢: this page lives at ./drivers/net/wireless/intel/i... in the source tree, and she's dated October 2026. iconic. periodt. πŸŽ€βœ¨

that's the whole page, bestie β€” go forth and allocate responsibly πŸ’œπŸŒΈ

πŸ“¦ where this page comes from