diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-07-01 15:26:59 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 15:01:52 -0400 |
commit | 9930380f0bd8405fa6a51d644f3de88c30666519 (patch) | |
tree | 71cd68830b11b648d6b79f1575dc9960631a2ab2 /include/net/cfg80211.h | |
parent | ab737a4f7dbe57b12b73f482a7b973bf00b41942 (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.h | 32 |
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 | */ | ||
821 | struct 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, | |||
1581 | struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy, | 1606 | struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy, |
1582 | struct iw_freq *freq); | 1607 | struct iw_freq *freq); |
1583 | 1608 | ||
1609 | int cfg80211_wext_siwrate(struct net_device *dev, | ||
1610 | struct iw_request_info *info, | ||
1611 | struct iw_param *rate, char *extra); | ||
1612 | int cfg80211_wext_giwrate(struct net_device *dev, | ||
1613 | struct iw_request_info *info, | ||
1614 | struct iw_param *rate, char *extra); | ||
1615 | |||
1584 | int cfg80211_wext_siwrts(struct net_device *dev, | 1616 | int 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); |