STRUCT IWL_WOWLAN_GTK_STATUS_V3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 to 0, 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 AP
    • bits[2:6]: GTK index of the key in the internal DB
    • bit[7]: Set iff this is the currently used GTK πŸ‘‘
  • reserved β€” padding, just vibing in the corner 🫢
  • tkip_mic_key β€” the TKIP RX MIC key
  • sc β€” 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