diff options
| author | Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> | 2013-05-16 07:00:29 -0400 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2013-06-18 10:16:23 -0400 |
| commit | 30e747326378caec9ad13515bc9bde2e41b1fee3 (patch) | |
| tree | afe0923c45c858f583a07afb5476b537025f82d2 /include/net | |
| parent | 2f301ab29e4656af824592363039d8f6bd5a9f68 (diff) | |
nl80211: add rate flags for 5/10 Mhz channels
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/cfg80211.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 316f34bb8e6e..e3a39fc9a296 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -188,6 +188,8 @@ struct ieee80211_channel { | |||
| 188 | * when used with 802.11g (on the 2.4 GHz band); filled by the | 188 | * when used with 802.11g (on the 2.4 GHz band); filled by the |
| 189 | * core code when registering the wiphy. | 189 | * core code when registering the wiphy. |
| 190 | * @IEEE80211_RATE_ERP_G: This is an ERP rate in 802.11g mode. | 190 | * @IEEE80211_RATE_ERP_G: This is an ERP rate in 802.11g mode. |
| 191 | * @IEEE80211_RATE_SUPPORTS_5MHZ: Rate can be used in 5 MHz mode | ||
| 192 | * @IEEE80211_RATE_SUPPORTS_10MHZ: Rate can be used in 10 MHz mode | ||
| 191 | */ | 193 | */ |
| 192 | enum ieee80211_rate_flags { | 194 | enum ieee80211_rate_flags { |
| 193 | IEEE80211_RATE_SHORT_PREAMBLE = 1<<0, | 195 | IEEE80211_RATE_SHORT_PREAMBLE = 1<<0, |
| @@ -195,6 +197,8 @@ enum ieee80211_rate_flags { | |||
| 195 | IEEE80211_RATE_MANDATORY_B = 1<<2, | 197 | IEEE80211_RATE_MANDATORY_B = 1<<2, |
| 196 | IEEE80211_RATE_MANDATORY_G = 1<<3, | 198 | IEEE80211_RATE_MANDATORY_G = 1<<3, |
| 197 | IEEE80211_RATE_ERP_G = 1<<4, | 199 | IEEE80211_RATE_ERP_G = 1<<4, |
| 200 | IEEE80211_RATE_SUPPORTS_5MHZ = 1<<5, | ||
| 201 | IEEE80211_RATE_SUPPORTS_10MHZ = 1<<6, | ||
| 198 | }; | 202 | }; |
| 199 | 203 | ||
| 200 | /** | 204 | /** |
| @@ -433,6 +437,30 @@ bool cfg80211_chandef_usable(struct wiphy *wiphy, | |||
| 433 | u32 prohibited_flags); | 437 | u32 prohibited_flags); |
| 434 | 438 | ||
| 435 | /** | 439 | /** |
| 440 | * ieee80211_chandef_rate_flags - returns rate flags for a channel | ||
| 441 | * | ||
| 442 | * In some channel types, not all rates may be used - for example CCK | ||
| 443 | * rates may not be used in 5/10 MHz channels. | ||
| 444 | * | ||
| 445 | * @chandef: channel definition for the channel | ||
| 446 | * | ||
| 447 | * Returns: rate flags which apply for this channel | ||
| 448 | */ | ||
| 449 | static inline enum ieee80211_rate_flags | ||
| 450 | ieee80211_chandef_rate_flags(struct cfg80211_chan_def *chandef) | ||
| 451 | { | ||
| 452 | switch (chandef->width) { | ||
| 453 | case NL80211_CHAN_WIDTH_5: | ||
| 454 | return IEEE80211_RATE_SUPPORTS_5MHZ; | ||
| 455 | case NL80211_CHAN_WIDTH_10: | ||
| 456 | return IEEE80211_RATE_SUPPORTS_10MHZ; | ||
| 457 | default: | ||
| 458 | break; | ||
| 459 | } | ||
| 460 | return 0; | ||
| 461 | } | ||
| 462 | |||
| 463 | /** | ||
| 436 | * enum survey_info_flags - survey information flags | 464 | * enum survey_info_flags - survey information flags |
| 437 | * | 465 | * |
| 438 | * @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in | 466 | * @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in |
