|
@@ -2769,6 +2769,10 @@ enum ieee80211_roc_type {
|
|
* information in bss_conf is set up and the beacon can be retrieved. A
|
|
* information in bss_conf is set up and the beacon can be retrieved. A
|
|
* channel context is bound before this is called.
|
|
* channel context is bound before this is called.
|
|
* @leave_ibss: Leave the IBSS again.
|
|
* @leave_ibss: Leave the IBSS again.
|
|
|
|
+ *
|
|
|
|
+ * @get_expected_throughput: extract the expected throughput towards the
|
|
|
|
+ * specified station. The returned value is expressed in Kbps. It returns 0
|
|
|
|
+ * if the RC algorithm does not have proper data to provide.
|
|
*/
|
|
*/
|
|
struct ieee80211_ops {
|
|
struct ieee80211_ops {
|
|
void (*tx)(struct ieee80211_hw *hw,
|
|
void (*tx)(struct ieee80211_hw *hw,
|
|
@@ -2962,6 +2966,7 @@ struct ieee80211_ops {
|
|
|
|
|
|
int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
|
|
int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
|
|
void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
|
|
void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
|
|
|
|
+ u32 (*get_expected_throughput)(struct ieee80211_sta *sta);
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -4535,6 +4540,8 @@ struct rate_control_ops {
|
|
void (*add_sta_debugfs)(void *priv, void *priv_sta,
|
|
void (*add_sta_debugfs)(void *priv, void *priv_sta,
|
|
struct dentry *dir);
|
|
struct dentry *dir);
|
|
void (*remove_sta_debugfs)(void *priv, void *priv_sta);
|
|
void (*remove_sta_debugfs)(void *priv, void *priv_sta);
|
|
|
|
+
|
|
|
|
+ u32 (*get_expected_throughput)(void *priv_sta);
|
|
};
|
|
};
|
|
|
|
|
|
static inline int rate_supported(struct ieee80211_sta *sta,
|
|
static inline int rate_supported(struct ieee80211_sta *sta,
|