1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (C) 2024 Intel Corporation 4 */ 5 #ifndef __iwl_mld_key_h__ 6 #define __iwl_mld_key_h__ 7 8 #include "mld.h" 9 #include <net/mac80211.h> 10 #include "fw/api/sta.h" 11 12 void iwl_mld_remove_key(struct iwl_mld *mld, 13 struct ieee80211_vif *vif, 14 struct ieee80211_sta *sta, 15 struct ieee80211_key_conf *key); 16 int iwl_mld_add_key(struct iwl_mld *mld, 17 struct ieee80211_vif *vif, 18 struct ieee80211_sta *sta, 19 struct ieee80211_key_conf *key); 20 void iwl_mld_remove_ap_keys(struct iwl_mld *mld, 21 struct ieee80211_vif *vif, 22 struct ieee80211_sta *sta, 23 unsigned int link_id); 24 25 int iwl_mld_update_sta_keys(struct iwl_mld *mld, 26 struct ieee80211_vif *vif, 27 struct ieee80211_sta *sta, 28 u32 old_sta_mask, 29 u32 new_sta_mask); 30 31 static inline void 32 iwl_mld_cleanup_keys_iter(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 33 struct ieee80211_sta *sta, 34 struct ieee80211_key_conf *key, void *data) 35 { 36 key->hw_key_idx = STA_KEY_IDX_INVALID; 37 } 38 39 #endif /* __iwl_mld_key_h__ */ 40