STRUCT IWL_WOWLAN_GTK_STATUS_V3(9)
π struct iwl_wowlan_gtk_status_v3(9) β Kernel API Manual π
okay so bestie, this is a page straight outta the Kernel API Manual, and the star of the show is struct iwl_wowlan_gtk_status_v3 β a GTK status struct, and honestly? it's giving "small but mighty" β¨
πΈ NAME πΈ
struct iwl_wowlan_gtk_status_v3 β GTK status, no cap π
π¦ SYNOPSIS π¦
like, here's literally the whole shape of it:
struct iwl_wowlan_gtk_status_v3 {
u8 key[WOWLAN_KEY_MAX_SIZE];
u8 key_len;
u8 key_flags;
u8 reserved[2];
u8 tkip_mic_key[IWL_MIC_KEY_SIZE];
struct iwl_wowlan_all_rsc_tsc_v5 sc;
};
she's compact, she's got one job, and she ate π₯
π Members π
okay let's go field by field, bestie, because every single one matters:
keyβ the GTK material itself π (the actual bytes, the moment, the main character)key_lenβ the GTK length. but listen: if it's set to0, the key is not available. like, it's just not there, periodt πkey_flagsβ the little info bundle about the key, and the bits are doing very specific things:bits[0:1]: key index assigned by the APbits[2:6]: GTK index of the key in the internal DBbit[7]: Set iff this is the currently used GTK π
reservedβ padding, just vibing in the corner π«Άtkip_mic_keyβ the TKIP RX MIC keyscβ RSC/TSC counters β
π SEE ALSO π
bestie there are so many siblings, iykyk. the whole friend group lives in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/d3.h, and here they all are β every last one:
enum iwl_d0i3_flags(9)enum iwl_d3_wakeup_flags(9)struct iwl_d3_manager_config(9)enum iwl_proto_offloads(9)struct iwl_proto_offload_cmd_common(9)struct iwl_proto_offload_cmd_v1(9)struct iwl_proto_offload_cmd_v2(9)struct iwl_proto_offload_cmd_v3_small(9)struct iwl_proto_offload_cmd_v3_large(9)struct iwl_proto_offload_cmd_v4(9)struct iwl_wowlan_patterns_cmd_v1(9)struct iwl_wowlan_ipv4_tcp_syn(9)struct iwl_wowlan_ipv6_tcp_syn(9)union iwl_wowlan_pattern_data(9)struct iwl_wowlan_pattern_v2(9)struct iwl_wowlan_patterns_cmd(9)struct iwl_wowlan_config_cmd_v6(9)struct iwl_wowlan_config_cmd(9)struct iwl_wowlan_gtk_status_v2(9)struct iwl_wowlan_all_rsc_tsc_v5(9)enum iwl_wowlan_key_status(9)struct iwl_wowlan_gtk_status(9)struct iwl_wowlan_igtk_status_v1(9)struct iwl_wowlan_igtk_status(9)struct iwl_wowlan_status_v6(9)struct iwl_wowlan_status_v7(9)struct iwl_wowlan_info_notif_v1(9)enum iwl_wowlan_mlo_gtk_type(9)enum iwl_wowlan_mlo_gtk_flag(9)struct iwl_wowlan_mlo_gtk(9)struct iwl_wowlan_info_notif_v3(9)struct iwl_wowlan_info_notif_v5(9)struct iwl_wowlan_info_notif(9)struct iwl_wowlan_wake_pkt_notif(9)
go read them, they're iconic, all of them π
lowkey a reminder that this page describes the layout exactly as written β don't go renaming fields or "improving" the bit ranges, bestie, the firmware is literally counting on you π
and that's the whole page, mwah π this one came from ./drivers/net/wireless/intel/i..., dated October 2026 β go off, struct π
β¨
π¦ 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