aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-01 15:26:59 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:01:52 -0400
commit9930380f0bd8405fa6a51d644f3de88c30666519 (patch)
tree71cd68830b11b648d6b79f1575dc9960631a2ab2 /include/net/cfg80211.h
parentab737a4f7dbe57b12b73f482a7b973bf00b41942 (diff)
cfg80211: implement IWRATE
For now, let's implement that using a very hackish way: simply mirror the wext API in the cfg80211 API. This will have to be changed later when we implement proper bitrate API. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index b396d11564bc..579085564883 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -815,6 +815,26 @@ enum tx_power_setting {
815 TX_POWER_FIXED, 815 TX_POWER_FIXED,
816}; 816};
817 817
818/*
819 * cfg80211_bitrate_mask - masks for bitrate control
820 */
821struct cfg80211_bitrate_mask {
822/*
823 * As discussed in Berlin, this struct really
824 * should look like this:
825
826 struct {
827 u32 legacy;
828 u8 mcs[IEEE80211_HT_MCS_MASK_LEN];
829 } control[IEEE80211_NUM_BANDS];
830
831 * Since we can always fix in-kernel users, let's keep
832 * it simpler for now:
833 */
834 u32 fixed; /* fixed bitrate, 0 == not fixed */
835 u32 maxrate; /* in kbps, 0 == no limit */
836};
837
818/** 838/**
819 * struct cfg80211_ops - backend description for wireless configuration 839 * struct cfg80211_ops - backend description for wireless configuration
820 * 840 *
@@ -1027,6 +1047,11 @@ struct cfg80211_ops {
1027 int (*testmode_cmd)(struct wiphy *wiphy, void *data, int len); 1047 int (*testmode_cmd)(struct wiphy *wiphy, void *data, int len);
1028#endif 1048#endif
1029 1049
1050 int (*set_bitrate_mask)(struct wiphy *wiphy,
1051 struct net_device *dev,
1052 const u8 *peer,
1053 const struct cfg80211_bitrate_mask *mask);
1054
1030 /* some temporary stuff to finish wext */ 1055 /* some temporary stuff to finish wext */
1031 int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev, 1056 int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev,
1032 bool enabled, int timeout); 1057 bool enabled, int timeout);
@@ -1581,6 +1606,13 @@ int cfg80211_wext_giwauth(struct net_device *dev,
1581struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy, 1606struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy,
1582 struct iw_freq *freq); 1607 struct iw_freq *freq);
1583 1608
1609int cfg80211_wext_siwrate(struct net_device *dev,
1610 struct iw_request_info *info,
1611 struct iw_param *rate, char *extra);
1612int cfg80211_wext_giwrate(struct net_device *dev,
1613 struct iw_request_info *info,
1614 struct iw_param *rate, char *extra);
1615
1584int cfg80211_wext_siwrts(struct net_device *dev, 1616int cfg80211_wext_siwrts(struct net_device *dev,
1585 struct iw_request_info *info, 1617 struct iw_request_info *info,
1586 struct iw_param *rts, char *extra); 1618 struct iw_param *rts, char *extra);