ENUM IWL_LOCATION_SUBCMD_IDS(9)
π enum iwl_location_subcmd_ids(9) π
Okay so bestie, picture this: it's a Kernel API Manual page, right, and it's entirely about the location group command IDs. That's it. That's the whole vibe. It's an enum β the location group command IDs one β and honestly? It ate. Let me walk you through it. π¦
β¨ NAME β¨
enum iwl_location_subcmd_ids β the location group command IDs, no cap π
πΈ SYNOPSIS πΈ
enum iwl_location_subcmd_ids {
TOF_RANGE_REQ_CMD ,
TOF_CONFIG_CMD ,
TOF_RANGE_ABORT_CMD ,
TOF_RANGE_REQ_EXT_CMD ,
TOF_RESPONDER_CONFIG_CMD ,
TOF_RESPONDER_DYN_CONFIG_CMD ,
CSI_HEADER_NOTIFICATION ,
CSI_CHUNKS_NOTIFICATION ,
TOF_LC_NOTIF ,
TOF_RESPONDER_STATS ,
TOF_MCSI_DEBUG_NOTIF ,
TOF_RANGE_RESPONSE_NOTIF
};
Look at that lineup. Twelve constants. All iconic, all accounted for. π
π Constants π
Every single one of these is a main character, so let's give them their moment:
TOF_RANGE_REQ_CMDβ the TOF ranging request π« and it does NOT pick just one struct, bestie, it uses one ofstruct iwl_tof_range_req_cmd_v5,struct iwl_tof_range_req_cmd_v7,struct iwl_tof_range_req_cmd_v8,struct iwl_tof_range_req_cmd_v9,struct iwl_tof_range_req_cmd_v11, orstruct iwl_tof_range_req_cmd_v7. Yes,_v7is listed twice. I'm not gonna edit the original, that's not my job, I'm just the messenger π«ΆTOF_CONFIG_CMDβ the TOF configuration, and it usesstruct iwl_tof_config_cmd. Simple. Elegant. Slay.TOF_RANGE_ABORT_CMDβ aborts ongoing ranging, usesstruct iwl_tof_range_abort_cmd. The "nvm bestie, nevermind" of the group πTOF_RANGE_REQ_EXT_CMDβ the TOF extended ranging config, usesstruct iwl_tof_range_req_ext_cmd. Extended! We love an upgrade β¨TOF_RESPONDER_CONFIG_CMDβ the FTM responder configuration, and it's one ofstruct iwl_tof_responder_config_cmd_v6,struct iwl_tof_responder_config_cmd_v7,struct iwl_tof_responder_config_cmd_v8orstruct iwl_tof_responder_config_cmd_v9. Pick your fighter πTOF_RESPONDER_DYN_CONFIG_CMDβ the FTM dynamic configuration, usesstruct iwl_tof_responder_dyn_config_cmd. Dynamic! She moves! π§CSI_HEADER_NOTIFICATIONβ CSI header. That's the whole description. Short, sweet, mysterious. We respect it πCSI_CHUNKS_NOTIFICATIONβ a CSI chunk, usesstruct iwl_csi_chunk_notification. Chunked, not chunked up, there's a difference πTOF_LC_NOTIFβ used for LCI/civic location, and get this, it contains just the action frame. Minimalist queen πTOF_RESPONDER_STATSβ the FTM responder statistics notification, usesstruct iwl_ftm_responder_stats. Numbers! Stats! She's tracking everything πTOF_MCSI_DEBUG_NOTIFβ the MCSI debug notification, usesstruct iwl_tof_mcsi_notif. Debug era π₯TOF_RANGE_RESPONSE_NOTIFβ the ranging response, using one ofstruct iwl_tof_range_rsp_ntfy_v5,struct iwl_tof_range_rsp_ntfy_v6,struct iwl_tof_range_rsp_ntfy_v7,struct iwl_tof_range_rsp_ntfy_v9orstruct iwl_tof_range_rsp_ntfy. Note: no_v8in this roster, that's just how it is, don't come for me π
π SEE ALSO π
Like, literally all of the family, fr fr. They all live in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/location.h β go say hi to your cousins:
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_v12(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)
And that's the page, bestie π«Ά straight from ./drivers/net/wireless/intel/i... (that's the path, slightly truncated by the man page itself, not me, I would never π), dated October 2026, and it's titled enum iwl_loc...n_subcmd_ids(9) because even kernel docs get a little truncated sometimes. Love that for us. Bye bye, go read your structs πβ¨
π¦ 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