STRUCT IWL_DEVICE_CMD(9)
β¨ struct iwl_device_cmd(9) β¨
okay so bestie, we're in the Kernel API Manual today and the vibe is device command structure β like, this is the whole struct iwl_device_cmd moment, and it's lowkey iconic. sit down, grab a lil snack π, we're gonna get into it.
πΈ NAME πΈ
struct iwl_device_cmd β the device command structure, fr fr. it's giving "the blueprint of the thing we send down." π
π SYNOPSIS π
okay here's the whole shape of it, exactly as it is, no cap:
struct iwl_device_cmd {
union {
struct {
struct iwl_cmd_header hdr;
u8 payload[DEF_CMD_PAYLOAD_SIZE];
};
struct {
struct iwl_cmd_header_wide hdr_wide;
u8 payload_wide[DEF_CMD_PAYLOAD_SIZE - sizeof(struct
iwl_cmd_header_wide) + sizeof(struct iwl_cmd_header)];
};
};
};
likeβ¦ look at her. she's a union of two structs and she's thriving π¦
β Members β
k so inside there's a bunch of stuff, and some of it is literally anonymous (mysterious main character energy, honestly):
{unnamed_union}β anonymous π» (yes really, that's what it says, it has no name){unnamed_struct}β anonymous π (also nameless, we love a private queen)hdrβ the command header. that's it, that's the label π«payloadβ the payload for the command. the actual goods π¦{unnamed_struct}β anonymous again, second one, still unnamed πhdr_wideβ the wide command header. she's extra. she's wide. πpayload_wideβ the payload for the wide command. matching set, obviously π
π₯ Description π₯
so when we're allocating the command queues and the tx queues, this struct is literally what establishes the overall size of the largest command we send to uCode. like, it's the size ceiling, the moment of truth, the "how big can this get" answer.
except β and this is the lil caveat, bestie, don't skip it β for commands that aren't fully copied and use other TFD space. those ones are out here doing their own thing and this doesn't cover them. not me hyping up the exception π
π SEE ALSO π
the whole friend group, in order, exactly as listed β go say hi:
Kernel file ./drivers/net/wireless/intel/iwlwifi/iwl-trans.hTransport layer - what is it ?(9)- Life cycle of the transport layer(9)
enum CMD_MODE(9)struct iwl_device_tx_cmd(9)enum iwl_hcmd_dataflag(9)struct iwl_host_cmd(9)enum iwl_trans_status(9)struct iwl_dump_sanitize_ops(9)struct iwl_trans_config(9)struct iwl_trans_rxq_dma_data(9)struct iwl_pnvm_image(9)enum iwl_trans_state(9)- Platform power management(9)
enum iwl_ini_cfg_state(9)struct iwl_dram_data(9)struct iwl_dram_regions(9)struct iwl_fw_mon(9)struct iwl_self_init_dram(9)struct iwl_imr_data(9)struct iwl_pc_data(9)struct iwl_trans_debug(9)struct iwl_trans_info(9)struct iwl_trans(9)iwl_trans_resched_with_nic_access(9)
ngl that's a long see-also list and honestly? respect. she knows everyone. π
alright bestie, that's the whole page π«Ά β sourced from ./drivers/net/wireless/intel/i..., dated October 2026, and it's the struct iwl_device_cmd(9) manual. slay, go read your kernel headers, ily, bye β¨ππ
π¦ 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