xref: /linux/drivers/net/wireless/intel/iwlwifi/mld/nan.h (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
19e978d8eSIlan Peer /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
29e978d8eSIlan Peer /*
39e978d8eSIlan Peer  * Copyright (C) 2025 Intel Corporation
49e978d8eSIlan Peer  */
5*350d91a2SJohannes Berg #ifndef __iwl_mld_nan_h__
6*350d91a2SJohannes Berg #define __iwl_mld_nan_h__
79e978d8eSIlan Peer #include <net/cfg80211.h>
89e978d8eSIlan Peer #include <linux/etherdevice.h>
99e978d8eSIlan Peer 
109e978d8eSIlan Peer bool iwl_mld_nan_supported(struct iwl_mld *mld);
119e978d8eSIlan Peer int iwl_mld_start_nan(struct ieee80211_hw *hw,
129e978d8eSIlan Peer 		      struct ieee80211_vif *vif,
139e978d8eSIlan Peer 		      struct cfg80211_nan_conf *conf);
14ab410758SIlan Peer int iwl_mld_nan_change_config(struct ieee80211_hw *hw,
15ab410758SIlan Peer 			      struct ieee80211_vif *vif,
16ab410758SIlan Peer 			      struct cfg80211_nan_conf *conf,
17ab410758SIlan Peer 			      u32 changes);
189e978d8eSIlan Peer int iwl_mld_stop_nan(struct ieee80211_hw *hw,
199e978d8eSIlan Peer 		     struct ieee80211_vif *vif);
209e978d8eSIlan Peer void iwl_mld_handle_nan_cluster_notif(struct iwl_mld *mld,
219e978d8eSIlan Peer 				      struct iwl_rx_packet *pkt);
229e978d8eSIlan Peer void iwl_mld_handle_nan_dw_end_notif(struct iwl_mld *mld,
239e978d8eSIlan Peer 				     struct iwl_rx_packet *pkt);
2460094146SIlan Peer bool iwl_mld_cancel_nan_cluster_notif(struct iwl_mld *mld,
2560094146SIlan Peer 				      struct iwl_rx_packet *pkt,
2660094146SIlan Peer 				      u32 obj_id);
2760094146SIlan Peer bool iwl_mld_cancel_nan_dw_end_notif(struct iwl_mld *mld,
2860094146SIlan Peer 				     struct iwl_rx_packet *pkt,
2960094146SIlan Peer 				     u32 obj_id);
30*350d91a2SJohannes Berg 
31*350d91a2SJohannes Berg #endif /* __iwl_mld_nan_h__ */
32