STRUCT IWL_TOF_RANGE_REQ_CMD_V12(9)
π struct iwl_tof_range_req_cmd_v12(9) π
okay so bestie, this is a page straight outta the Kernel API Manual, section 9 β like, the deep lore of the kernel docs. it's the struct that kicks off a measurement. the literal start measurement cmd. main character energy fr fr π
β¨ NAME β¨
struct iwl_tof_range_req_cmd_v12 β start measurement cmd πΈ
π SYNOPSIS π
struct iwl_tof_range_req_cmd_v12 {
__le32 initiator_flags;
u8 request_id;
u8 num_of_ap;
u8 range_req_bssid[ETH_ALEN];
u8 macaddr_mask[ETH_ALEN];
u8 macaddr_template[ETH_ALEN];
__le32 req_timeout_ms;
__le32 tsf_mac_id;
struct iwl_tof_range_req_ap_entry_v8 ap[IWL_TOF_MAX_APS];
};
look at her. gorgeous. every field laid out exactly like that, no notes π
π¦ Members π¦
initiator_flagsβ the flags, bestie! go checkiwl_tof_initiator_flagsfor what they all mean πrequest_idβ a Token that gets incremented per request. the same Token comes back at you in the range response, so it's giving "you'll know it's yours when it returns" πnum_of_apβ how many APs we're measuring. and it's an error if it's>IWL_TOF_MAX_APS, so likeβ¦ don't π«Άrange_req_bssidβ the ranging request BSSID π‘macaddr_maskβ bits set to0shall be copied from the MAC address template. bits set to1shall be randomized by the UMAC. iconique bit-manipulation behaviour, no cap β¨macaddr_templateβ the MAC address template to use for the non-randomized bits πΈreq_timeout_msβ the requested timeout of the response, in units of milliseconds. this is the session time for completing the measurement β so like, the deadline, basically β³tsf_mac_idβ reports the measurement start time for each ap in terms of the TSF of this mac id.0xffto disable TSF reporting π«apβ per-AP request data, seestruct iwl_tof_range_req_ap_entry_v2. (yes, the docs say v2 right there, we're just relaying the message π it's giving "the lore is inconsistent" but that's what it says!)
π SEE ALSO π
this list is long bestie, buckle up, we're going shopping ποΈ β Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/location.h ships with all of these:
enum iwl_location_subcmd_ids(9)enum iwl_location_frame_format(9)enum iwl_location_bw(9)enum iwl_location_format_bw(9)struct iwl_tof_config_cmd(9)enum iwl_tof_bandwidth(9)enum iwl_tof_responder_cmd_valid_field(9)enum iwl_tof_responder_cfg_flags(9)struct iwl_tof_responder_config_cmd_v6(9)struct iwl_tof_responder_config_cmd_v7(9)struct iwl_tof_responder_config_cmd_v8(9)struct iwl_tof_responder_config_cmd_v9(9)struct iwl_tof_responder_config_cmd(9)struct iwl_tof_responder_dyn_config_cmd_v2(9)enum iwl_responder_dyn_cfg_valid_flags(9)struct iwl_tof_responder_dyn_config_cmd(9)struct iwl_tof_range_req_ext_cmd(9)enum iwl_tof_location_query(9)enum iwl_initiator_ap_flags(9)struct iwl_tof_range_req_ap_entry_v3(9)struct iwl_tof_range_req_ap_entry_v4(9)enum iwl_location_cipher(9)struct iwl_tof_range_req_ap_entry_v6(9)struct iwl_tof_range_req_ap_entry_v7(9)struct iwl_tof_range_req_ap_entry_v8(9)struct iwl_tof_range_req_ap_entry_v9(9)struct iwl_tof_range_req_ap_entry(9)enum iwl_tof_response_mode(9)enum iwl_tof_initiator_flags(9)struct iwl_tof_range_req_cmd_v5(9)struct iwl_tof_range_req_cmd_v7(9)struct iwl_tof_range_req_cmd_v8(9)struct iwl_tof_range_req_cmd_v9(9)struct iwl_tof_range_req_cmd_v11(9)struct iwl_tof_range_req_cmd_v13(9)struct iwl_tof_range_req_cmd(9)enum iwl_tof_entry_status(9)struct iwl_tof_range_rsp_ap_entry_ntfy_v3(9)struct iwl_tof_range_rsp_ap_entry_ntfy_v4(9)struct iwl_tof_range_rsp_ap_entry_ntfy_v5(9)struct iwl_tof_range_rsp_ap_entry_ntfy_v7(9)struct iwl_tof_range_rsp_ap_entry_ntfy(9)enum iwl_tof_response_status(9)struct iwl_tof_range_rsp_ntfy_v5(9)struct iwl_tof_range_rsp_ntfy_v6(9)struct iwl_tof_range_rsp_ntfy_v7(9)struct iwl_tof_range_rsp_ntfy_v9(9)struct iwl_tof_range_rsp_ntfy(9)struct iwl_tof_mcsi_notif(9)struct iwl_tof_range_abort_cmd(9)struct iwl_ftm_responder_stats(9)
bestie the whole v5-through-v13 range_req_cmd family is in there, plus the responder configs and the response notifications. it's a whole cinematic universe. iykyk π
and that's the tea β β this page came from ./drivers/net/wireless/intel/i... with a date of October 2026, and it signs off as struct iwl_t..._req_cmd_v12(9). slay, we ate. πβ¨
π¦ 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