STRUCT IWL_SCAN_REQ_UMAC_TAIL_V2(9)
π struct iwl_scan_req_umac_tail_v2 β the UMAC scan request's little sequel π
okay so bestie, this is a page from the Kernel API Manual, section 9 β yes, the big-kid kernel docs. and what we're looking at today is struct iwl_scan_req_umac_tail_v2, which is literally the rest of the UMAC scan request command parameters following channels configuration array. like, the channels get their own whole array, and then this struct is the "and alsoβ¦" that comes after. main character sequel energy fr fr β¨
πΈ NAME πΈ
struct iwl_scan_req_umac_tail_v2 β the rest of the UMAC scan request command parameters following channels configuration array.
no cap, that's the whole vibe. the tail end of the scan request. the epilogue. the "oh wait one more thing" π«Ά
β¨ SYNOPSIS β¨
struct iwl_scan_req_umac_tail_v2 {
struct iwl_scan_umac_schedule schedule[IWL_MAX_SCHED_SCAN_PLANS];
__le16 delay;
__le16 reserved;
struct iwl_scan_probe_req preq;
struct iwl_ssid_ie direct_scan[PROBE_OPTION_MAX];
};
look at her. gorgeous. every field in place, nothing extra, IWL_MAX_SCHED_SCAN_PLANS and PROBE_OPTION_MAX holding down the array sizes. icon behavior only π
π¦ MEMBERS π¦
okay field by field, let's do a vibe check on each one:
scheduleβ two scheduling plans. that's it, that's the deal:struct iwl_scan_umac_schedule schedule[IWL_MAX_SCHED_SCAN_PLANS];, lowkey the whole point of this thing π«delayβ delay in TUs before starting the first scan iteration. it's a__le16, so yes, little-endian, we're being polite to the firmware πreservedβ for future use and alignment. she does nothing and she does it beautifully. respect the padding πpreqβ probe request with IEs blocks. the actual "who am I looking for" content, a wholestruct iwl_scan_probe_reqtucked in there π‘direct_scanβ list of SSIDs for directed active scan.struct iwl_ssid_ie direct_scan[PROBE_OPTION_MAX];β this is the "no literally go find this network" list π―
highkey important:delayandreservedare both__le16and the whole struct is arranged the way the firmware expects it β do not go rearranging fields because you think it looks cuter. it does not. it breaks. π
π SEE ALSO π
bestie the cross-reference list here is long and honestly kind of iconic, so buckle up. it all lives in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/scan.h β here's everyone invited to the party:
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_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_umac_scan_complete(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)
likeβ¦ that's the whole friend group π scan configs, probe params, channel params, versioned everything, the abort crew, the notif squad. iykyk π
that's the whole page bestie, go forth and build your scan request tail correctly π§
sign-off time: this gorgeous little page came from ./drivers/net/wireless/intel/i... and it's dated October 2026 β mwah, no notes, periodt π
π
π¦ 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