ieee80211_vif
int (*sta_add)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
int (*sta_remove)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
int (*sta_set_txpwr)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
void (*sta_statistics)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, struct station_info *);
void (*sta_pre_rcu_remove)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
int (*sta_state)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, enum ieee80211_sta_state, enum ieee80211_sta_state);
void (*sta_notify)(struct ieee80211_hw *, struct ieee80211_vif *, enum sta_notify_cmd, struct ieee80211_sta *);
void (*sta_rc_update)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u32);
void (*link_sta_rc_update)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_link_sta *, u32);
void (*sta_rate_tbl_update)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
void (*sta_set_4addr)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, bool);
void (*sta_set_decap_offload)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, bool);
int (*ampdu_action)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_ampdu_params *);
int (*pre_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel_switch *);
int (*post_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *);
void (*channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel_switch *);
void (*channel_switch_beacon)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_chan_def *);
void (*abort_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *);
void (*channel_switch_rx_beacon)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel_switch *);
int (*tdls_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u8, struct cfg80211_chan_def *, struct sk_buff *, u32);
void (*tdls_cancel_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
void (*tdls_recv_channel_switch)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_tdls_ch_sw_params *);
int (*assign_vif_chanctx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct ieee80211_chanctx_conf *);
void (*unassign_vif_chanctx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct ieee80211_chanctx_conf *);
int (*remain_on_channel)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_channel *, int, enum ieee80211_roc_type);
int (*cancel_remain_on_channel)(struct ieee80211_hw *, struct ieee80211_vif *);
void (*config_iface_filter)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int, unsigned int);
void (*bss_info_changed)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u64);
void (*link_info_changed)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u64);
void (*event_callback)(struct ieee80211_hw *, struct ieee80211_vif *, const struct ieee80211_event *);
int (*get_ftm_responder_stats)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_ftm_responder_stats *);
uint64_t (*get_tsf)(struct ieee80211_hw *, struct ieee80211_vif *);
void (*set_tsf)(struct ieee80211_hw *, struct ieee80211_vif *, uint64_t);
void (*offset_tsf)(struct ieee80211_hw *, struct ieee80211_vif *, s64);
int (*set_bitrate_mask)(struct ieee80211_hw *, struct ieee80211_vif *, const struct cfg80211_bitrate_mask *);
int (*set_key)(struct ieee80211_hw *, enum set_key_cmd, struct ieee80211_vif *, struct ieee80211_sta *, struct ieee80211_key_conf *);
void (*update_tkip_key)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_key_conf *, struct ieee80211_sta *, u32, u16 *);
int (*start_pmsr)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_pmsr_request *);
void (*abort_pmsr)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_pmsr_request *);
int (*start_ap)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *link_conf);
void (*stop_ap)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *link_conf);
int (*join_ibss)(struct ieee80211_hw *, struct ieee80211_vif *);
void (*leave_ibss)(struct ieee80211_hw *, struct ieee80211_vif *);
int (*set_tid_config)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, struct cfg80211_tid_config *);
int (*reset_tid_config)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u8);
int (*get_et_sset_count)(struct ieee80211_hw *, struct ieee80211_vif *, int);
void (*get_et_stats)(struct ieee80211_hw *, struct ieee80211_vif *, struct ethtool_stats *, u64 *);
void (*get_et_strings)(struct ieee80211_hw *, struct ieee80211_vif *, u32, u8 *);
void (*update_vif_offload)(struct ieee80211_hw *, struct ieee80211_vif *);
int (*get_txpower)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int, int *);
int (*set_hw_timestamp)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_set_hw_timestamp *);
void (*vif_cfg_changed)(struct ieee80211_hw *, struct ieee80211_vif *, u64);
int (*change_vif_links)(struct ieee80211_hw *, struct ieee80211_vif *, u16, u16, struct ieee80211_bss_conf *[IEEE80211_MLD_MAX_NUM_LINKS]);
int (*change_sta_links)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u16, u16);
bool (*can_activate_links)(struct ieee80211_hw *, struct ieee80211_vif *, u16);
enum ieee80211_neg_ttlm_res (*can_neg_ttlm)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_neg_ttlm *);
int (*net_fill_forward_path)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, struct net_device_path_ctx *, struct net_device_path *);
void (*sta_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, struct dentry *);
void (*vif_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *);
void (*link_sta_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_link_sta *, struct dentry *);
void (*link_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, struct dentry *);
void (*set_rekey_data)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_gtk_rekey_data *);
void (*set_default_unicast_key)(struct ieee80211_hw *, struct ieee80211_vif *, int);
void (*ipv6_addr_change)(struct ieee80211_hw *, struct ieee80211_vif *, struct inet6_dev *);
void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
struct ieee80211_vif *,
void(*iterfunc)(struct ieee80211_hw *, struct ieee80211_vif *,
struct ieee80211_sta *linuxkpi_ieee80211_find_sta(struct ieee80211_vif *,
struct ieee80211_vif *);
struct ieee80211_vif *, int, bool);
struct wireless_dev *linuxkpi_ieee80211_vif_to_wdev(struct ieee80211_vif *);
void linuxkpi_ieee80211_connection_loss(struct ieee80211_vif *);
void linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *);
ieee80211_hw_restart_disconnect(struct ieee80211_vif *vif)
ieee80211_vif_is_mesh(struct ieee80211_vif *vif)
ieee80211_beacon_get_tim(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
void (*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
ieee80211_iter_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void(*iterfunc)(struct ieee80211_hw *, struct ieee80211_vif *,
ieee80211_iter_keys_rcu(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void(*iterfunc)(struct ieee80211_hw *, struct ieee80211_vif *,
ieee80211_vif_to_wdev(struct ieee80211_vif *vif)
struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs,
ieee80211_beacon_loss(struct ieee80211_vif *vif)
ieee80211_chswitch_done(struct ieee80211_vif *vif, bool t, uint32_t link_id)
ieee80211_csa_is_complete(struct ieee80211_vif *vif)
ieee80211_csa_set_counter(struct ieee80211_vif *vif, uint8_t counter)
ieee80211_csa_update_counter(struct ieee80211_vif *vif)
ieee80211_csa_finish(struct ieee80211_vif *vif, uint32_t link_id)
ieee80211_vif_type_p2p(struct ieee80211_vif *vif)
ieee80211_connection_loss(struct ieee80211_vif *vif)
ieee80211_find_sta(struct ieee80211_vif *vif, const u8 *peer)
ieee80211_request_smps(struct ieee80211_vif *vif, u_int link_id,
ieee80211_tdls_oper_request(struct ieee80211_vif *vif, uint8_t *addr,
ieee80211_cqm_rssi_notify(struct ieee80211_vif *vif,
ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, uint32_t x, uint8_t *addr)
ieee80211_rx_ba_timer_expired(struct ieee80211_vif *vif, uint8_t *addr,
ieee80211_start_rx_ba_session_offl(struct ieee80211_vif *vif, uint8_t *addr,
ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, uint8_t *addr,
ieee80211_update_mu_groups(struct ieee80211_vif *vif,
ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, uint8_t *addr,
ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, uint8_t *addr,
ieee80211_beacon_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
ieee80211_pspoll_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
ieee80211_proberesp_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
ieee80211_tx_prepare_skb(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
ieee80211_beacon_set_cntdwn(struct ieee80211_vif *vif, u8 counter)
ieee80211_beacon_update_cntdwn(struct ieee80211_vif *vif, uint32_t link_id)
ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif *vif, uint32_t link_id)
ieee80211_disconnect(struct ieee80211_vif *vif, bool _x)
ieee80211_channel_switch_disconnect(struct ieee80211_vif *vif)
ieee80211_get_tx_rates(struct ieee80211_vif *vif, struct ieee80211_sta *sta,
ieee80211_color_change_finish(struct ieee80211_vif *vif, uint8_t link_id)
struct ieee80211_vif *vif)
struct ieee80211_vif *vif)
linuxkpi_ieee80211_send_bar(struct ieee80211_vif *vif, uint8_t *ra, uint16_t tid,
ieee80211_resume_disconnect(struct ieee80211_vif *vif)
ieee80211_gtk_rekey_add(struct ieee80211_vif *vif,
ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const uint8_t *bssid,
ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif,
ieee80211_obss_color_collision_notify(struct ieee80211_vif *vif,
struct ieee80211_vif *vif, uint32_t link_id)
ieee80211_vif_is_mld(const struct ieee80211_vif *vif)
struct ieee80211_vif *vif)
struct ieee80211_vif *vif)
ieee80211_vif_usable_links(const struct ieee80211_vif *vif)
ieee80211_vif_link_active(const struct ieee80211_vif *vif, uint8_t link_id)
ieee80211_set_active_links_async(struct ieee80211_vif *vif,
ieee80211_set_active_links(struct ieee80211_vif *vif,
ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp __unused)
struct ieee80211_vif *vif;
struct ieee80211_vif *mbssid_tx_vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *mbssid_tx_vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
int (*add_interface)(struct ieee80211_hw *, struct ieee80211_vif *);
void (*remove_interface)(struct ieee80211_hw *, struct ieee80211_vif *);
int (*change_interface)(struct ieee80211_hw *, struct ieee80211_vif *, enum nl80211_iftype, bool);
void (*sw_scan_start)(struct ieee80211_hw *, struct ieee80211_vif *, const u8 *);
void (*sw_scan_complete)(struct ieee80211_hw *, struct ieee80211_vif *);
int (*sched_scan_start)(struct ieee80211_hw *, struct ieee80211_vif *, struct cfg80211_sched_scan_request *, struct ieee80211_scan_ies *);
int (*sched_scan_stop)(struct ieee80211_hw *, struct ieee80211_vif *);
int (*hw_scan)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_scan_request *);
void (*cancel_hw_scan)(struct ieee80211_hw *, struct ieee80211_vif *);
int (*conf_tx)(struct ieee80211_hw *, struct ieee80211_vif *, u32, u16, const struct ieee80211_tx_queue_params *);
void (*mgd_prepare_tx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_prep_tx_info *);
void (*mgd_complete_tx)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_prep_tx_info *);
void (*mgd_protect_tdls_discover)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int);
void (*flush)(struct ieee80211_hw *, struct ieee80211_vif *, u32, bool);
void (*flush_sta)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *);
lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
lkpi_update_dtim_tsf(struct ieee80211_vif *vif, struct ieee80211_node *ni,
lkpi_stop_hw_scan(struct lkpi_hw *lhw, struct ieee80211_vif *vif)
lkpi_disassoc(struct ieee80211_sta *sta, struct ieee80211_vif *vif,
lkpi_remove_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
lkpi_bss_info_change(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif, struct ieee80211_sta *sta)
lkpi_sta_sync_ht_from_ni(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
lkpi_sta_sync_vht_from_ni(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void(*iterfunc)(void *, uint8_t *, struct ieee80211_vif *),
struct ieee80211_vif *vif;
lkpi_ieee80211_iterate_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void(*iterfunc)(struct ieee80211_hw *, struct ieee80211_vif *,
struct ieee80211_vif *vif,
void(*iterfunc)(struct ieee80211_hw *, struct ieee80211_vif *,
lkpi_sta_sync_from_ni(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct ieee80211_vif *vif;
linuxkpi_ieee80211_find_sta(struct ieee80211_vif *vif, const u8 *peer)
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif *vif)
struct ieee80211_vif *vif, int linkid, bool qos)
linuxkpi_ieee80211_vif_to_wdev(struct ieee80211_vif *vif)
linuxkpi_ieee80211_connection_loss(struct ieee80211_vif *vif)
linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *vif)
struct ieee80211_vif *vif;
struct ieee80211_vif *vif;
struct ieee80211_vif vif __aligned(CACHE_LINE_SIZE);
int lkpi_80211_mo_add_interface(struct ieee80211_hw *, struct ieee80211_vif *);
void lkpi_80211_mo_remove_interface(struct ieee80211_hw *, struct ieee80211_vif *);
int lkpi_80211_mo_hw_scan(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_cancel_hw_scan(struct ieee80211_hw *, struct ieee80211_vif *);
void lkpi_80211_mo_sw_scan_complete(struct ieee80211_hw *, struct ieee80211_vif *);
void lkpi_80211_mo_sw_scan_start(struct ieee80211_hw *, struct ieee80211_vif *,
int lkpi_80211_mo_sta_state(struct ieee80211_hw *, struct ieee80211_vif *,
int lkpi_80211_mo_assign_vif_chanctx(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_unassign_vif_chanctx(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_vif_cfg_changed(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_link_info_changed(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_bss_info_changed(struct ieee80211_hw *, struct ieee80211_vif *,
int lkpi_80211_mo_conf_tx(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_flush(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_mgd_prepare_tx(struct ieee80211_hw *, struct ieee80211_vif *,
void lkpi_80211_mo_mgd_complete_tx(struct ieee80211_hw *, struct ieee80211_vif *,
struct ieee80211_vif *, struct ieee80211_sta *);
struct ieee80211_vif *, struct ieee80211_sta *,
int lkpi_80211_mo_ampdu_action(struct ieee80211_hw *, struct ieee80211_vif *,
int lkpi_80211_mo_sta_statistics(struct ieee80211_hw *, struct ieee80211_vif *,
lkpi_80211_mo_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
lkpi_80211_mo_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
lkpi_80211_mo_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
lkpi_80211_mo_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
lkpi_80211_mo_sw_scan_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_vif_cfg_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_link_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_mgd_prepare_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_mgd_complete_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct ieee80211_vif *vif, struct ieee80211_sta *sta)
struct ieee80211_vif *vif, struct ieee80211_sta *sta,
lkpi_80211_mo_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
lkpi_80211_mo_sta_statistics(struct ieee80211_hw *hw, struct ieee80211_vif *vif,