STRUCT IWL_TOF_RANGE_RSP_AP_ENTRY_NTFY_V7(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct iwl_tof_range_rsp_ap_entry_ntfy_v7(9) 🌸

okay so bestie, welcome to the Kernel API Manual β€” yes we're reading kernel docs together, this is our bonding era πŸ’– and this page is literally the whole rundown on one struct, so grab a lil snack and let's go ✨


✨ NAME ✨

struct iwl_tof_range_rsp_ap_entry_ntfy_v7 β€” AP parameters (response), iykyk 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole shape of it, copied exactly, no cap:

struct iwl_tof_range_rsp_ap_entry_ntfy_v7 {
    u8 bssid[ETH_ALEN];
    u8 measure_status;
    u8 measure_bw;
    __le32 rtt;
    __le32 rtt_variance;
    __le32 rtt_spread;
    s8 rssi;
    u8 rssi_spread;
    u8 last_burst;
    u8 refusal_period;
    __le32 timestamp;
    __le32 start_tsf;
    __le32 rx_rate_n_flags;
    __le32 tx_rate_n_flags;
    __le32 t2t3_initiator;
    __le32 t1t4_responder;
    __le16 common_calib;
    __le16 specific_calib;
    __le32 papd_calib_output;
    u8 rttConfidence;
    u8 reserved[3];
    u8 rx_pn[IEEE80211_CCMP_PN_LEN];
    u8 tx_pn[IEEE80211_CCMP_PN_LEN];
};

πŸ’… MEMBERS πŸ’…

every single field, lovingly explained, main character energy each one:

  • bssid β€” the BSSID of the AP πŸŽ€ like, which AP is this even about.
  • measure_status β€” the current AP's measurement status, one of enum iwl_tof_entry_status. that's the vibe check on how the measurement went πŸ’€
  • measure_bw β€” current AP bandwidth, and the mapping is 0 β†’ 20MHz, 1 β†’ 40MHz, 2 β†’ 80MHz. slay, more hertz = more drama ✨
  • rtt β€” The Round Trip Time that took for the last measurement for current AP [pSec]. picoseconds, because we're precise like that πŸ’…
  • rtt_variance β€” the variance of the RTT values measured for current AP. the chaotic-ness of the numbers, basically πŸŒͺ️
  • rtt_spread β€” the difference between the max and the min RTT values measured for current AP in the current session [pSec].
  • rssi β€” RSSI as uploaded in the Channel Estimation notification πŸ“Ά
  • rssi_spread β€” the difference between the max and the min RSSI values measured for current AP in the current session.
  • last_burst β€” 1 if no more FTM sessions are scheduled for this responder. like when someone's last text was a final text 😭
  • refusal_period β€” refusal period in case of IWL_TOF_ENTRY_RESPONDER_CANNOT_COLABORATE [sec]. yes it's spelled "COLABORATE", don't come for me, that's literally the identifier πŸ™ˆ
  • timestamp β€” the GP2 Clock [usec] where Channel Estimation notification was uploaded by the LMAC ⏰
  • start_tsf β€” measurement start time in TSF of the mac specified in the range request.
  • rx_rate_n_flags β€” rate and flags of the last FTM frame received from this responder πŸ“₯
  • tx_rate_n_flags β€” rate and flags of the last ack sent to this responder πŸ“€
  • t2t3_initiator β€” as calculated from the algo in the initiator.
  • t1t4_responder β€” as calculated from the algo in the responder. matching set, we love a duo 🫢
  • common_calib β€” Calib val that was used in for this AP measurement. (yes, "used in for" β€” I'm just the messenger bestie 🧚)
  • specific_calib β€” val that was used in for this AP measurement.
  • papd_calib_output β€” the result of the tof papd calibration that was injected into the algorithm πŸ”₯
  • rttConfidence β€” a value between 0 - 31 that represents the rtt accuracy. lowercase-sandwich naming, capital C in the middle, we don't question it, we respect it πŸ‘‘
  • reserved β€” for alignment. it's the padding, it's doing its little structural job, iconic 🌈
  • rx_pn β€” the last PN used for this responder Rx in case PMF is configured, in LE byte order.
  • tx_pn β€” the last PN used for this responder Tx in case PMF is configured, in LE byte order. LE byte order on both, noted πŸ’œ

πŸŽ€ SEE ALSO πŸŽ€

okay this list is a whole friend group, but every single one of them, exactly as written:

  • the Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/location.h
  • 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_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(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)

that's the whole page bestie, no skips, no shortcuts πŸ’–

and for the lil sign-off: this one lives in the source tree at ./drivers/net/wireless/intel/i..., it's dated October 2026, and the footer stamp is literally struct iwl_...ntry_ntfy_v7(9) β€” the truncated-est little nameplate ever, we stan a legend πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from