sta_info.h (ec7a04073d3b31c03a9ad00e0709ffd78b5cfd1b) sta_info.h (cb71f1d136a635decf43c3b502ee34fb05640fcd)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright 2002-2005, Devicescape Software, Inc.
4 * Copyright 2013-2014 Intel Mobile Communications GmbH
5 * Copyright(c) 2015-2017 Intel Deutschland GmbH
6 * Copyright(c) 2020-2022 Intel Corporation
7 */
8

--- 609 unchanged lines hidden (view full) ---

618 * AP only.
619 * @cparams: CoDel parameters for this station.
620 * @reserved_tid: reserved TID (if any, otherwise IEEE80211_TID_UNRESERVED)
621 * @fast_tx: TX fastpath information
622 * @fast_rx: RX fastpath information
623 * @tdls_chandef: a TDLS peer can have a wider chandef that is compatible to
624 * the BSS one.
625 * @frags: fragment cache
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright 2002-2005, Devicescape Software, Inc.
4 * Copyright 2013-2014 Intel Mobile Communications GmbH
5 * Copyright(c) 2015-2017 Intel Deutschland GmbH
6 * Copyright(c) 2020-2022 Intel Corporation
7 */
8

--- 609 unchanged lines hidden (view full) ---

618 * AP only.
619 * @cparams: CoDel parameters for this station.
620 * @reserved_tid: reserved TID (if any, otherwise IEEE80211_TID_UNRESERVED)
621 * @fast_tx: TX fastpath information
622 * @fast_rx: RX fastpath information
623 * @tdls_chandef: a TDLS peer can have a wider chandef that is compatible to
624 * the BSS one.
625 * @frags: fragment cache
626 * @multi_link_sta: Identifies if this sta is a MLD STA or regular STA
627 * @deflink: This is the default link STA information, for non MLO STA all link
628 * specific STA information is accessed through @deflink or through
629 * link[0] which points to address of @deflink. For MLO Link STA
630 * the first added link STA will point to deflink.
631 * @link: reference to Link Sta entries. For Non MLO STA, except 1st link,
632 * i.e link[0] all links would be assigned to NULL by default and
633 * would access link information via @deflink or link[0]. For MLO
634 * STA, first link STA being added will point its link pointer to

--- 68 unchanged lines hidden (view full) ---

703 struct codel_params cparams;
704
705 u8 reserved_tid;
706
707 struct cfg80211_chan_def tdls_chandef;
708
709 struct ieee80211_fragment_cache frags;
710
626 * @deflink: This is the default link STA information, for non MLO STA all link
627 * specific STA information is accessed through @deflink or through
628 * link[0] which points to address of @deflink. For MLO Link STA
629 * the first added link STA will point to deflink.
630 * @link: reference to Link Sta entries. For Non MLO STA, except 1st link,
631 * i.e link[0] all links would be assigned to NULL by default and
632 * would access link information via @deflink or link[0]. For MLO
633 * STA, first link STA being added will point its link pointer to

--- 68 unchanged lines hidden (view full) ---

702 struct codel_params cparams;
703
704 u8 reserved_tid;
705
706 struct cfg80211_chan_def tdls_chandef;
707
708 struct ieee80211_fragment_cache frags;
709
711 bool multi_link_sta;
712 struct link_sta_info deflink;
713 struct link_sta_info *link[IEEE80211_MLD_MAX_NUM_LINKS];
714
715 /* keep last! */
716 struct ieee80211_sta sta;
717};
718
719static inline enum nl80211_plink_state sta_plink_state(struct sta_info *sta)

--- 108 unchanged lines hidden (view full) ---

828 */
829struct sta_info *sta_info_get_by_idx(struct ieee80211_sub_if_data *sdata,
830 int idx);
831/*
832 * Create a new STA info, caller owns returned structure
833 * until sta_info_insert().
834 */
835struct sta_info *sta_info_alloc(struct ieee80211_sub_if_data *sdata,
710 struct link_sta_info deflink;
711 struct link_sta_info *link[IEEE80211_MLD_MAX_NUM_LINKS];
712
713 /* keep last! */
714 struct ieee80211_sta sta;
715};
716
717static inline enum nl80211_plink_state sta_plink_state(struct sta_info *sta)

--- 108 unchanged lines hidden (view full) ---

826 */
827struct sta_info *sta_info_get_by_idx(struct ieee80211_sub_if_data *sdata,
828 int idx);
829/*
830 * Create a new STA info, caller owns returned structure
831 * until sta_info_insert().
832 */
833struct sta_info *sta_info_alloc(struct ieee80211_sub_if_data *sdata,
836 const u8 *addr, gfp_t gfp);
834 const u8 *addr, int link_id, gfp_t gfp);
837
838void sta_info_free(struct ieee80211_local *local, struct sta_info *sta);
839
840/*
841 * Insert STA info into hash table/list, returns zero or a
842 * -EEXIST if (if the same MAC address is already present).
843 *
844 * Calling the non-rcu version makes the caller relinquish,

--- 42 unchanged lines hidden (view full) ---

887void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo,
888 bool tidstats);
889
890u32 sta_get_expected_throughput(struct sta_info *sta);
891
892void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
893 unsigned long exp_time);
894
835
836void sta_info_free(struct ieee80211_local *local, struct sta_info *sta);
837
838/*
839 * Insert STA info into hash table/list, returns zero or a
840 * -EEXIST if (if the same MAC address is already present).
841 *
842 * Calling the non-rcu version makes the caller relinquish,

--- 42 unchanged lines hidden (view full) ---

885void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo,
886 bool tidstats);
887
888u32 sta_get_expected_throughput(struct sta_info *sta);
889
890void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
891 unsigned long exp_time);
892
893int ieee80211_sta_allocate_link(struct sta_info *sta, unsigned int link_id);
894int ieee80211_sta_activate_link(struct sta_info *sta, unsigned int link_id);
895void ieee80211_sta_remove_link(struct sta_info *sta, unsigned int link_id);
896
895void ieee80211_sta_ps_deliver_wakeup(struct sta_info *sta);
896void ieee80211_sta_ps_deliver_poll_response(struct sta_info *sta);
897void ieee80211_sta_ps_deliver_uapsd(struct sta_info *sta);
898
899unsigned long ieee80211_sta_last_active(struct sta_info *sta);
900
901enum sta_stats_type {
902 STA_STATS_RATE_TYPE_INVALID = 0,

--- 67 unchanged lines hidden ---
897void ieee80211_sta_ps_deliver_wakeup(struct sta_info *sta);
898void ieee80211_sta_ps_deliver_poll_response(struct sta_info *sta);
899void ieee80211_sta_ps_deliver_uapsd(struct sta_info *sta);
900
901unsigned long ieee80211_sta_last_active(struct sta_info *sta);
902
903enum sta_stats_type {
904 STA_STATS_RATE_TYPE_INVALID = 0,

--- 67 unchanged lines hidden ---