1d1e879ecSMiri Korenblit /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2d1e879ecSMiri Korenblit /* 3d1e879ecSMiri Korenblit * Copyright (C) 2025 Intel Corporation 4d1e879ecSMiri Korenblit */ 5d1e879ecSMiri Korenblit #ifndef __iwl_mld_ftm_initiator_h__ 6d1e879ecSMiri Korenblit #define __iwl_mld_ftm_initiator_h__ 7d1e879ecSMiri Korenblit 8*32c33a4dSAvraham Stern /** 9*32c33a4dSAvraham Stern * struct ftm_initiator_data - FTM initiator data 10*32c33a4dSAvraham Stern * 11*32c33a4dSAvraham Stern * @req: a pointer to cfg80211 FTM request 12*32c33a4dSAvraham Stern * @req_wdev: a pointer to the wdev that requested the current FTM request 13*32c33a4dSAvraham Stern * @responses: the number of responses received for the current FTM session. 14*32c33a4dSAvraham Stern * Used for tracking the burst index in a periodic request. 15*32c33a4dSAvraham Stern */ 16*32c33a4dSAvraham Stern struct ftm_initiator_data { 17*32c33a4dSAvraham Stern struct cfg80211_pmsr_request *req; 18*32c33a4dSAvraham Stern struct wireless_dev *req_wdev; 19*32c33a4dSAvraham Stern int responses[IWL_TOF_MAX_APS]; 20*32c33a4dSAvraham Stern }; 21*32c33a4dSAvraham Stern 22d1e879ecSMiri Korenblit int iwl_mld_ftm_start(struct iwl_mld *mld, struct ieee80211_vif *vif, 23d1e879ecSMiri Korenblit struct cfg80211_pmsr_request *req); 24d1e879ecSMiri Korenblit 25d1e879ecSMiri Korenblit void iwl_mld_handle_ftm_resp_notif(struct iwl_mld *mld, 26d1e879ecSMiri Korenblit struct iwl_rx_packet *pkt); 27d1e879ecSMiri Korenblit void iwl_mld_ftm_restart_cleanup(struct iwl_mld *mld); 28d1e879ecSMiri Korenblit 29d1e879ecSMiri Korenblit #endif /* __iwl_mld_ftm_initiator_h__ */ 30