diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/net/mac80211.h | 59 |
1 files changed, 26 insertions, 33 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 94ff3eface49..9801afb62545 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Copyright 2002-2005, Devicescape Software, Inc. | 4 | * Copyright 2002-2005, Devicescape Software, Inc. |
5 | * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> | 5 | * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> |
6 | * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> | 6 | * Copyright 2007-2008 Johannes Berg <johannes@sipsolutions.net> |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
@@ -82,22 +82,6 @@ enum ieee80211_notification_types { | |||
82 | }; | 82 | }; |
83 | 83 | ||
84 | /** | 84 | /** |
85 | * struct ieee80211_ht_bss_info - describing BSS's HT characteristics | ||
86 | * | ||
87 | * This structure describes most essential parameters needed | ||
88 | * to describe 802.11n HT characteristics in a BSS. | ||
89 | * | ||
90 | * @primary_channel: channel number of primery channel | ||
91 | * @bss_cap: 802.11n's general BSS capabilities (e.g. channel width) | ||
92 | * @bss_op_mode: 802.11n's BSS operation modes (e.g. HT protection) | ||
93 | */ | ||
94 | struct ieee80211_ht_bss_info { | ||
95 | u8 primary_channel; | ||
96 | u8 bss_cap; /* use IEEE80211_HT_IE_CHA_ */ | ||
97 | u8 bss_op_mode; /* use IEEE80211_HT_IE_ */ | ||
98 | }; | ||
99 | |||
100 | /** | ||
101 | * enum ieee80211_max_queues - maximum number of queues | 85 | * enum ieee80211_max_queues - maximum number of queues |
102 | * | 86 | * |
103 | * @IEEE80211_MAX_QUEUES: Maximum number of regular device queues. | 87 | * @IEEE80211_MAX_QUEUES: Maximum number of regular device queues. |
@@ -172,6 +156,19 @@ enum ieee80211_bss_change { | |||
172 | }; | 156 | }; |
173 | 157 | ||
174 | /** | 158 | /** |
159 | * struct ieee80211_bss_ht_conf - BSS's changing HT configuration | ||
160 | * @secondary_channel_offset: secondary channel offset, uses | ||
161 | * %IEEE80211_HT_PARAM_CHA_SEC_ values | ||
162 | * @width_40_ok: indicates that 40 MHz bandwidth may be used for TX | ||
163 | * @operation_mode: HT operation mode (like in &struct ieee80211_ht_info) | ||
164 | */ | ||
165 | struct ieee80211_bss_ht_conf { | ||
166 | u8 secondary_channel_offset; | ||
167 | bool width_40_ok; | ||
168 | u16 operation_mode; | ||
169 | }; | ||
170 | |||
171 | /** | ||
175 | * struct ieee80211_bss_conf - holds the BSS's changing parameters | 172 | * struct ieee80211_bss_conf - holds the BSS's changing parameters |
176 | * | 173 | * |
177 | * This structure keeps information about a BSS (and an association | 174 | * This structure keeps information about a BSS (and an association |
@@ -190,9 +187,7 @@ enum ieee80211_bss_change { | |||
190 | * @timestamp: beacon timestamp | 187 | * @timestamp: beacon timestamp |
191 | * @beacon_int: beacon interval | 188 | * @beacon_int: beacon interval |
192 | * @assoc_capability: capabilities taken from assoc resp | 189 | * @assoc_capability: capabilities taken from assoc resp |
193 | * @assoc_ht: association in HT mode | 190 | * @ht: BSS's HT configuration |
194 | * @ht_cap: ht capabilities | ||
195 | * @ht_bss_conf: ht extended capabilities | ||
196 | * @basic_rates: bitmap of basic rates, each bit stands for an | 191 | * @basic_rates: bitmap of basic rates, each bit stands for an |
197 | * index into the rate table configured by the driver in | 192 | * index into the rate table configured by the driver in |
198 | * the current band. | 193 | * the current band. |
@@ -210,10 +205,7 @@ struct ieee80211_bss_conf { | |||
210 | u16 assoc_capability; | 205 | u16 assoc_capability; |
211 | u64 timestamp; | 206 | u64 timestamp; |
212 | u64 basic_rates; | 207 | u64 basic_rates; |
213 | /* ht related data */ | 208 | struct ieee80211_bss_ht_conf ht; |
214 | bool assoc_ht; | ||
215 | struct ieee80211_sta_ht_cap *ht_cap; | ||
216 | struct ieee80211_ht_bss_info *ht_bss_conf; | ||
217 | }; | 209 | }; |
218 | 210 | ||
219 | /** | 211 | /** |
@@ -447,13 +439,11 @@ struct ieee80211_rx_status { | |||
447 | * Flags to define PHY configuration options | 439 | * Flags to define PHY configuration options |
448 | * | 440 | * |
449 | * @IEEE80211_CONF_RADIOTAP: add radiotap header at receive time (if supported) | 441 | * @IEEE80211_CONF_RADIOTAP: add radiotap header at receive time (if supported) |
450 | * @IEEE80211_CONF_SUPPORT_HT_MODE: use 802.11n HT capabilities (if supported) | ||
451 | * @IEEE80211_CONF_PS: Enable 802.11 power save mode | 442 | * @IEEE80211_CONF_PS: Enable 802.11 power save mode |
452 | */ | 443 | */ |
453 | enum ieee80211_conf_flags { | 444 | enum ieee80211_conf_flags { |
454 | IEEE80211_CONF_RADIOTAP = (1<<0), | 445 | IEEE80211_CONF_RADIOTAP = (1<<0), |
455 | IEEE80211_CONF_SUPPORT_HT_MODE = (1<<1), | 446 | IEEE80211_CONF_PS = (1<<1), |
456 | IEEE80211_CONF_PS = (1<<2), | ||
457 | }; | 447 | }; |
458 | 448 | ||
459 | /* XXX: remove all this once drivers stop trying to use it */ | 449 | /* XXX: remove all this once drivers stop trying to use it */ |
@@ -463,6 +453,10 @@ static inline int __deprecated __IEEE80211_CONF_SHORT_SLOT_TIME(void) | |||
463 | } | 453 | } |
464 | #define IEEE80211_CONF_SHORT_SLOT_TIME (__IEEE80211_CONF_SHORT_SLOT_TIME()) | 454 | #define IEEE80211_CONF_SHORT_SLOT_TIME (__IEEE80211_CONF_SHORT_SLOT_TIME()) |
465 | 455 | ||
456 | struct ieee80211_ht_conf { | ||
457 | bool enabled; | ||
458 | }; | ||
459 | |||
466 | /** | 460 | /** |
467 | * enum ieee80211_conf_changed - denotes which configuration changed | 461 | * enum ieee80211_conf_changed - denotes which configuration changed |
468 | * | 462 | * |
@@ -474,6 +468,7 @@ static inline int __deprecated __IEEE80211_CONF_SHORT_SLOT_TIME(void) | |||
474 | * @IEEE80211_CONF_CHANGE_POWER: the TX power changed | 468 | * @IEEE80211_CONF_CHANGE_POWER: the TX power changed |
475 | * @IEEE80211_CONF_CHANGE_CHANNEL: the channel changed | 469 | * @IEEE80211_CONF_CHANGE_CHANNEL: the channel changed |
476 | * @IEEE80211_CONF_CHANGE_RETRY_LIMITS: retry limits changed | 470 | * @IEEE80211_CONF_CHANGE_RETRY_LIMITS: retry limits changed |
471 | * @IEEE80211_CONF_CHANGE_HT: HT configuration changed | ||
477 | */ | 472 | */ |
478 | enum ieee80211_conf_changed { | 473 | enum ieee80211_conf_changed { |
479 | IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0), | 474 | IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0), |
@@ -484,6 +479,7 @@ enum ieee80211_conf_changed { | |||
484 | IEEE80211_CONF_CHANGE_POWER = BIT(5), | 479 | IEEE80211_CONF_CHANGE_POWER = BIT(5), |
485 | IEEE80211_CONF_CHANGE_CHANNEL = BIT(6), | 480 | IEEE80211_CONF_CHANGE_CHANNEL = BIT(6), |
486 | IEEE80211_CONF_CHANGE_RETRY_LIMITS = BIT(7), | 481 | IEEE80211_CONF_CHANGE_RETRY_LIMITS = BIT(7), |
482 | IEEE80211_CONF_CHANGE_HT = BIT(8), | ||
487 | }; | 483 | }; |
488 | 484 | ||
489 | /** | 485 | /** |
@@ -496,9 +492,8 @@ enum ieee80211_conf_changed { | |||
496 | * @listen_interval: listen interval in units of beacon interval | 492 | * @listen_interval: listen interval in units of beacon interval |
497 | * @flags: configuration flags defined above | 493 | * @flags: configuration flags defined above |
498 | * @power_level: requested transmit power (in dBm) | 494 | * @power_level: requested transmit power (in dBm) |
499 | * @ht_cap: describes current self configuration of 802.11n HT capabilities | ||
500 | * @ht_bss_conf: describes current BSS configuration of 802.11n HT parameters | ||
501 | * @channel: the channel to tune to | 495 | * @channel: the channel to tune to |
496 | * @ht: the HT configuration for the device | ||
502 | * @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame | 497 | * @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame |
503 | * (a frame not RTS protected), called "dot11LongRetryLimit" in 802.11, | 498 | * (a frame not RTS protected), called "dot11LongRetryLimit" in 802.11, |
504 | * but actually means the number of transmissions not the number of retries | 499 | * but actually means the number of transmissions not the number of retries |
@@ -517,9 +512,7 @@ struct ieee80211_conf { | |||
517 | u8 long_frame_max_tx_count, short_frame_max_tx_count; | 512 | u8 long_frame_max_tx_count, short_frame_max_tx_count; |
518 | 513 | ||
519 | struct ieee80211_channel *channel; | 514 | struct ieee80211_channel *channel; |
520 | 515 | struct ieee80211_ht_conf ht; | |
521 | struct ieee80211_sta_ht_cap ht_cap; | ||
522 | struct ieee80211_ht_bss_info ht_bss_conf; | ||
523 | }; | 516 | }; |
524 | 517 | ||
525 | /** | 518 | /** |
@@ -715,7 +708,7 @@ enum set_key_cmd { | |||
715 | * @addr: MAC address | 708 | * @addr: MAC address |
716 | * @aid: AID we assigned to the station if we're an AP | 709 | * @aid: AID we assigned to the station if we're an AP |
717 | * @supp_rates: Bitmap of supported rates (per band) | 710 | * @supp_rates: Bitmap of supported rates (per band) |
718 | * @ht_cap: HT capabilities of this STA | 711 | * @ht_cap: HT capabilities of this STA; restricted to our own TX capabilities |
719 | * @drv_priv: data area for driver use, will always be aligned to | 712 | * @drv_priv: data area for driver use, will always be aligned to |
720 | * sizeof(void *), size is determined in hw information. | 713 | * sizeof(void *), size is determined in hw information. |
721 | */ | 714 | */ |