STRUCT IWL_UMAC_SCAN_COMPLETE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_umac_scan_complete πŸ’–

okay bestie so we're in the Kernel API Manual today and this one is literally the little notification that tells you a scan is DONE. it's giving "the wifi finished looking around" energy and honestly? we're obsessed. πŸ¦‹


✨ NAME ✨

struct iwl_umac_scan_complete β€” scan complete notification πŸŽ€


🫢 SYNOPSIS 🫢

here's the whole vibe, no cap, exact bytes and all:

struct iwl_umac_scan_complete {
    __le32 uid;
    u8 last_schedule;
    u8 last_iter;
    u8 status;
    u8 ebs_status;
    __le32 time_from_last_iter;
    __le32 reserved;
 };

πŸŽ€ Members πŸŽ€

okay so every field in this struct is a whole little main character, let's go one by one:

  • uid β€” the scan id, and it's living in enum iwl_umac_scan_uid_offsets. that's how we know which scan we're talking about πŸ’…
  • last_schedule β€” the last scheduling line. yes, just the last one. iconic.
  • last_iter β€” the last scan iteration number, so you know exactly which lap we just finished 🏁
  • status β€” the completion status, and it's from enum iwl_scan_offload_complete_status. this is the "how did it go" field fr fr.
  • ebs_status β€” this one's from enum iwl_scan_ebs_status. another status, different enum, don't mix them up bestie πŸ™ˆ
  • time_from_last_iter β€” time elapsed from last iteration. literally the clock since the previous lap ⏱️
  • reserved β€” for future use. not for you. hands off, it's reserved for the future πŸ‘‘ (jk, but also, don't touch it)

🌈 SEE ALSO 🌈

omg this list is LONG and we love her for it. everything below is (9) and everything below is real, so don't skip a single one:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
  • enum iwl_scan_subcmd_ids(9)
  • struct iwl_ssid_ie(9)
  • struct iwl_scan_offload_blocklist(9)
  • struct iwl_scan_offload_profile(9)
  • struct iwl_scan_offload_profile_cfg_data(9)
  • struct iwl_scan_offload_profile_cfg_v1(9)
  • struct iwl_scan_offload_profile_cfg(9)
  • struct iwl_scan_schedule_lmac(9)
  • struct iwl_scan_req_tx_cmd(9)
  • struct iwl_scan_channel_cfg_lmac(9)
  • struct iwl_scan_probe_segment(9)
  • struct iwl_scan_probe_req_v1(9)
  • struct iwl_scan_probe_req(9)
  • struct iwl_scan_channel_opt(9)
  • enum iwl_mvm_lmac_scan_flags(9)
  • struct iwl_scan_req_lmac(9)
  • struct iwl_scan_results_notif(9)
  • struct iwl_lmac_scan_complete_notif(9)
  • struct iwl_periodic_scan_complete(9)
  • struct iwl_scan_dwell(9)
  • struct iwl_scan_config_v1(9)
  • struct iwl_scan_config_v2(9)
  • struct iwl_scan_config(9)
  • enum iwl_umac_scan_flags(9)
  • enum iwl_umac_scan_general_flags2(9)
  • enum iwl_umac_scan_general_flags_v2(9)
  • enum iwl_umac_scan_general_params_flags2(9)
  • struct iwl_scan_channel_cfg_umac(9)
  • struct iwl_scan_umac_schedule(9)
  • struct iwl_scan_req_umac_tail_v2(9)
  • struct iwl_scan_umac_chan_param(9)
  • struct iwl_scan_req_umac(9)
  • struct iwl_scan_probe_params_v3(9)
  • struct iwl_scan_probe_params_v4(9)
  • struct iwl_scan_channel_params_v4(9)
  • struct iwl_scan_channel_params_v7(9)
  • struct iwl_scan_channel_params_v8(9)
  • struct iwl_scan_general_params_v11(9)
  • struct iwl_scan_periodic_parms_v1(9)
  • struct iwl_scan_req_params_v12(9)
  • struct iwl_scan_req_params_v17(9)
  • struct iwl_scan_req_params_v18(9)
  • struct iwl_scan_req_umac_v12(9)
  • struct iwl_scan_req_umac_v17(9)
  • struct iwl_scan_req_umac_v18(9)
  • struct iwl_umac_scan_abort(9)
  • enum iwl_umac_scan_abort_status(9)
  • struct iwl_umac_scan_start(9)
  • struct iwl_scan_offload_profile_match_v1(9)
  • struct iwl_scan_offload_profiles_query_v1(9)
  • struct iwl_scan_offload_profile_match(9)
  • struct iwl_scan_offload_match_info(9)
  • struct iwl_umac_scan_iter_complete_notif(9)
  • struct iwl_umac_scan_channel_survey_notif(9)

there's also the matching enum iwl_scan_subcmd_ids(9) hanging out in the same file, so yeah, she's popular πŸ’œ


πŸ’€ friendly reminder: reserved is for future use, so don't go writing your own data in there, that's undefined-behaviour territory and we are NOT doing that today.

and that's the page bestie!! 🧚 sign-off time: this one lives at ./drivers/net/wireless/intel/i..., it's dated October 2026, and it's page struct iwl_...can_complete(9) of the Kernel API Manual β€” slay, go read your scan structs, periodt πŸŒΈπŸ‘‘

πŸ“¦ where this page comes from