diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-06-24 14:44:59 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-06-24 14:44:59 -0400 |
commit | 66ba271ab90424ba5a895662b6783c4837a96e0a (patch) | |
tree | 5ae7ebd942fe3f2246a52d18f35f67d3db4e4b5c /include/net | |
parent | 2b5e54e22f596bcd9ec0018f228a2606e016a108 (diff) | |
parent | 6c7c4cbfd5f59c04a40af67ad72d14e19215ef36 (diff) |
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/cfg80211.h | 46 | ||||
-rw-r--r-- | include/net/mac80211.h | 2 |
2 files changed, 40 insertions, 8 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 6a43c34ce96f..7b0730aeb892 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 |
@@ -1431,7 +1459,8 @@ const u8 *ieee80211_bss_get_ie(struct cfg80211_bss *bss, u8 ie); | |||
1431 | * This structure provides information needed to complete IEEE 802.11 | 1459 | * This structure provides information needed to complete IEEE 802.11 |
1432 | * authentication. | 1460 | * authentication. |
1433 | * | 1461 | * |
1434 | * @bss: The BSS to authenticate with. | 1462 | * @bss: The BSS to authenticate with, the callee must obtain a reference |
1463 | * to it if it needs to keep it. | ||
1435 | * @auth_type: Authentication type (algorithm) | 1464 | * @auth_type: Authentication type (algorithm) |
1436 | * @ie: Extra IEs to add to Authentication frame or %NULL | 1465 | * @ie: Extra IEs to add to Authentication frame or %NULL |
1437 | * @ie_len: Length of ie buffer in octets | 1466 | * @ie_len: Length of ie buffer in octets |
@@ -1469,11 +1498,10 @@ enum cfg80211_assoc_req_flags { | |||
1469 | * | 1498 | * |
1470 | * This structure provides information needed to complete IEEE 802.11 | 1499 | * This structure provides information needed to complete IEEE 802.11 |
1471 | * (re)association. | 1500 | * (re)association. |
1472 | * @bss: The BSS to associate with. If the call is successful the driver | 1501 | * @bss: The BSS to associate with. If the call is successful the driver is |
1473 | * is given a reference that it must release, normally via a call to | 1502 | * given a reference that it must give back to cfg80211_send_rx_assoc() |
1474 | * cfg80211_send_rx_assoc(), or, if association timed out, with a | 1503 | * or to cfg80211_assoc_timeout(). To ensure proper refcounting, new |
1475 | * call to cfg80211_put_bss() (in addition to calling | 1504 | * association requests while already associating must be rejected. |
1476 | * cfg80211_send_assoc_timeout()) | ||
1477 | * @ie: Extra IEs to add to (Re)Association Request frame or %NULL | 1505 | * @ie: Extra IEs to add to (Re)Association Request frame or %NULL |
1478 | * @ie_len: Length of ie buffer in octets | 1506 | * @ie_len: Length of ie buffer in octets |
1479 | * @use_mfp: Use management frame protection (IEEE 802.11w) in this association | 1507 | * @use_mfp: Use management frame protection (IEEE 802.11w) in this association |
@@ -2342,6 +2370,7 @@ struct cfg80211_ops { | |||
2342 | * responds to probe-requests in hardware. | 2370 | * responds to probe-requests in hardware. |
2343 | * @WIPHY_FLAG_OFFCHAN_TX: Device supports direct off-channel TX. | 2371 | * @WIPHY_FLAG_OFFCHAN_TX: Device supports direct off-channel TX. |
2344 | * @WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL: Device supports remain-on-channel call. | 2372 | * @WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL: Device supports remain-on-channel call. |
2373 | * @WIPHY_FLAG_SUPPORTS_5_10_MHZ: Device supports 5 MHz and 10 MHz channels. | ||
2345 | */ | 2374 | */ |
2346 | enum wiphy_flags { | 2375 | enum wiphy_flags { |
2347 | WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), | 2376 | WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), |
@@ -2365,6 +2394,7 @@ enum wiphy_flags { | |||
2365 | WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = BIT(19), | 2394 | WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = BIT(19), |
2366 | WIPHY_FLAG_OFFCHAN_TX = BIT(20), | 2395 | WIPHY_FLAG_OFFCHAN_TX = BIT(20), |
2367 | WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = BIT(21), | 2396 | WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = BIT(21), |
2397 | WIPHY_FLAG_SUPPORTS_5_10_MHZ = BIT(22), | ||
2368 | }; | 2398 | }; |
2369 | 2399 | ||
2370 | /** | 2400 | /** |
@@ -3492,11 +3522,11 @@ void cfg80211_rx_assoc_resp(struct net_device *dev, | |||
3492 | /** | 3522 | /** |
3493 | * cfg80211_assoc_timeout - notification of timed out association | 3523 | * cfg80211_assoc_timeout - notification of timed out association |
3494 | * @dev: network device | 3524 | * @dev: network device |
3495 | * @addr: The MAC address of the device with which the association timed out | 3525 | * @bss: The BSS entry with which association timed out. |
3496 | * | 3526 | * |
3497 | * This function may sleep. The caller must hold the corresponding wdev's mutex. | 3527 | * This function may sleep. The caller must hold the corresponding wdev's mutex. |
3498 | */ | 3528 | */ |
3499 | void cfg80211_assoc_timeout(struct net_device *dev, const u8 *addr); | 3529 | void cfg80211_assoc_timeout(struct net_device *dev, struct cfg80211_bss *bss); |
3500 | 3530 | ||
3501 | /** | 3531 | /** |
3502 | * cfg80211_tx_mlme_mgmt - notification of transmitted deauth/disassoc frame | 3532 | * cfg80211_tx_mlme_mgmt - notification of transmitted deauth/disassoc frame |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index a405a7a9775c..5b7a3dadadde 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -305,6 +305,7 @@ enum ieee80211_rssi_event { | |||
305 | * @basic_rates: bitmap of basic rates, each bit stands for an | 305 | * @basic_rates: bitmap of basic rates, each bit stands for an |
306 | * index into the rate table configured by the driver in | 306 | * index into the rate table configured by the driver in |
307 | * the current band. | 307 | * the current band. |
308 | * @beacon_rate: associated AP's beacon TX rate | ||
308 | * @mcast_rate: per-band multicast rate index + 1 (0: disabled) | 309 | * @mcast_rate: per-band multicast rate index + 1 (0: disabled) |
309 | * @bssid: The BSSID for this BSS | 310 | * @bssid: The BSSID for this BSS |
310 | * @enable_beacon: whether beaconing should be enabled or not | 311 | * @enable_beacon: whether beaconing should be enabled or not |
@@ -352,6 +353,7 @@ struct ieee80211_bss_conf { | |||
352 | u32 sync_device_ts; | 353 | u32 sync_device_ts; |
353 | u8 sync_dtim_count; | 354 | u8 sync_dtim_count; |
354 | u32 basic_rates; | 355 | u32 basic_rates; |
356 | struct ieee80211_rate *beacon_rate; | ||
355 | int mcast_rate[IEEE80211_NUM_BANDS]; | 357 | int mcast_rate[IEEE80211_NUM_BANDS]; |
356 | u16 ht_operation_mode; | 358 | u16 ht_operation_mode; |
357 | s32 cqm_rssi_thold; | 359 | s32 cqm_rssi_thold; |