diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index de22cbfef232..abb3b1a9ddc9 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/wireless.h> | 19 | #include <linux/wireless.h> |
20 | #include <linux/device.h> | 20 | #include <linux/device.h> |
21 | #include <linux/ieee80211.h> | 21 | #include <linux/ieee80211.h> |
22 | #include <linux/inetdevice.h> | ||
22 | #include <net/cfg80211.h> | 23 | #include <net/cfg80211.h> |
23 | 24 | ||
24 | /** | 25 | /** |
@@ -312,9 +313,10 @@ enum mac80211_tx_control_flags { | |||
312 | IEEE80211_TX_INTFL_NL80211_FRAME_TX = BIT(21), | 313 | IEEE80211_TX_INTFL_NL80211_FRAME_TX = BIT(21), |
313 | IEEE80211_TX_CTL_LDPC = BIT(22), | 314 | IEEE80211_TX_CTL_LDPC = BIT(22), |
314 | IEEE80211_TX_CTL_STBC = BIT(23) | BIT(24), | 315 | IEEE80211_TX_CTL_STBC = BIT(23) | BIT(24), |
315 | #define IEEE80211_TX_CTL_STBC_SHIFT 23 | ||
316 | }; | 316 | }; |
317 | 317 | ||
318 | #define IEEE80211_TX_CTL_STBC_SHIFT 23 | ||
319 | |||
318 | /** | 320 | /** |
319 | * enum mac80211_rate_control_flags - per-rate flags set by the | 321 | * enum mac80211_rate_control_flags - per-rate flags set by the |
320 | * Rate Control algorithm. | 322 | * Rate Control algorithm. |
@@ -412,8 +414,6 @@ struct ieee80211_tx_rate { | |||
412 | * @driver_data: array of driver_data pointers | 414 | * @driver_data: array of driver_data pointers |
413 | * @ampdu_ack_len: number of acked aggregated frames. | 415 | * @ampdu_ack_len: number of acked aggregated frames. |
414 | * relevant only if IEEE80211_TX_STAT_AMPDU was set. | 416 | * relevant only if IEEE80211_TX_STAT_AMPDU was set. |
415 | * @ampdu_ack_map: block ack bit map for the aggregation. | ||
416 | * relevant only if IEEE80211_TX_STAT_AMPDU was set. | ||
417 | * @ampdu_len: number of aggregated frames. | 417 | * @ampdu_len: number of aggregated frames. |
418 | * relevant only if IEEE80211_TX_STAT_AMPDU was set. | 418 | * relevant only if IEEE80211_TX_STAT_AMPDU was set. |
419 | * @ack_signal: signal strength of the ACK frame | 419 | * @ack_signal: signal strength of the ACK frame |
@@ -448,10 +448,9 @@ struct ieee80211_tx_info { | |||
448 | struct { | 448 | struct { |
449 | struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES]; | 449 | struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES]; |
450 | u8 ampdu_ack_len; | 450 | u8 ampdu_ack_len; |
451 | u64 ampdu_ack_map; | ||
452 | int ack_signal; | 451 | int ack_signal; |
453 | u8 ampdu_len; | 452 | u8 ampdu_len; |
454 | /* 7 bytes free */ | 453 | /* 15 bytes free */ |
455 | } status; | 454 | } status; |
456 | struct { | 455 | struct { |
457 | struct ieee80211_tx_rate driver_rates[ | 456 | struct ieee80211_tx_rate driver_rates[ |
@@ -815,7 +814,6 @@ enum ieee80211_key_flags { | |||
815 | * encrypted in hardware. | 814 | * encrypted in hardware. |
816 | * @alg: The key algorithm. | 815 | * @alg: The key algorithm. |
817 | * @flags: key flags, see &enum ieee80211_key_flags. | 816 | * @flags: key flags, see &enum ieee80211_key_flags. |
818 | * @ap_addr: AP's MAC address | ||
819 | * @keyidx: the key index (0-3) | 817 | * @keyidx: the key index (0-3) |
820 | * @keylen: key material length | 818 | * @keylen: key material length |
821 | * @key: key material. For ALG_TKIP the key is encoded as a 256-bit (32 byte) | 819 | * @key: key material. For ALG_TKIP the key is encoded as a 256-bit (32 byte) |
@@ -881,16 +879,12 @@ struct ieee80211_sta { | |||
881 | * enum sta_notify_cmd - sta notify command | 879 | * enum sta_notify_cmd - sta notify command |
882 | * | 880 | * |
883 | * Used with the sta_notify() callback in &struct ieee80211_ops, this | 881 | * Used with the sta_notify() callback in &struct ieee80211_ops, this |
884 | * indicates addition and removal of a station to station table, | 882 | * indicates if an associated station made a power state transition. |
885 | * or if a associated station made a power state transition. | ||
886 | * | 883 | * |
887 | * @STA_NOTIFY_ADD: (DEPRECATED) a station was added to the station table | ||
888 | * @STA_NOTIFY_REMOVE: (DEPRECATED) a station being removed from the station table | ||
889 | * @STA_NOTIFY_SLEEP: a station is now sleeping | 884 | * @STA_NOTIFY_SLEEP: a station is now sleeping |
890 | * @STA_NOTIFY_AWAKE: a sleeping station woke up | 885 | * @STA_NOTIFY_AWAKE: a sleeping station woke up |
891 | */ | 886 | */ |
892 | enum sta_notify_cmd { | 887 | enum sta_notify_cmd { |
893 | STA_NOTIFY_ADD, STA_NOTIFY_REMOVE, | ||
894 | STA_NOTIFY_SLEEP, STA_NOTIFY_AWAKE, | 888 | STA_NOTIFY_SLEEP, STA_NOTIFY_AWAKE, |
895 | }; | 889 | }; |
896 | 890 | ||
@@ -1535,6 +1529,16 @@ enum ieee80211_ampdu_mlme_action { | |||
1535 | * of the bss parameters has changed when a call is made. The callback | 1529 | * of the bss parameters has changed when a call is made. The callback |
1536 | * can sleep. | 1530 | * can sleep. |
1537 | * | 1531 | * |
1532 | * @configure_arp_filter: Configuration function for hardware ARP query filter. | ||
1533 | * This function is called with all the IP addresses configured to the | ||
1534 | * interface as argument - all ARP queries targeted to any of these | ||
1535 | * addresses must pass through. If the hardware filter does not support | ||
1536 | * enought addresses, hardware filtering must be disabled. The ifa_list | ||
1537 | * argument may be NULL, indicating that filtering must be disabled. | ||
1538 | * This function is called upon association complete with current | ||
1539 | * address(es), and while associated whenever the IP address(es) change. | ||
1540 | * The callback can sleep. | ||
1541 | * | ||
1538 | * @prepare_multicast: Prepare for multicast filter configuration. | 1542 | * @prepare_multicast: Prepare for multicast filter configuration. |
1539 | * This callback is optional, and its return value is passed | 1543 | * This callback is optional, and its return value is passed |
1540 | * to configure_filter(). This callback must be atomic. | 1544 | * to configure_filter(). This callback must be atomic. |
@@ -1674,6 +1678,9 @@ struct ieee80211_ops { | |||
1674 | struct ieee80211_vif *vif, | 1678 | struct ieee80211_vif *vif, |
1675 | struct ieee80211_bss_conf *info, | 1679 | struct ieee80211_bss_conf *info, |
1676 | u32 changed); | 1680 | u32 changed); |
1681 | int (*configure_arp_filter)(struct ieee80211_hw *hw, | ||
1682 | struct ieee80211_vif *vif, | ||
1683 | struct in_ifaddr *ifa_list); | ||
1677 | u64 (*prepare_multicast)(struct ieee80211_hw *hw, | 1684 | u64 (*prepare_multicast)(struct ieee80211_hw *hw, |
1678 | struct netdev_hw_addr_list *mc_list); | 1685 | struct netdev_hw_addr_list *mc_list); |
1679 | void (*configure_filter)(struct ieee80211_hw *hw, | 1686 | void (*configure_filter)(struct ieee80211_hw *hw, |
@@ -2334,16 +2341,14 @@ void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, const u8 *ra, | |||
2334 | * ieee80211_stop_tx_ba_session - Stop a Block Ack session. | 2341 | * ieee80211_stop_tx_ba_session - Stop a Block Ack session. |
2335 | * @sta: the station whose BA session to stop | 2342 | * @sta: the station whose BA session to stop |
2336 | * @tid: the TID to stop BA. | 2343 | * @tid: the TID to stop BA. |
2337 | * @initiator: if indicates initiator DELBA frame will be sent. | ||
2338 | * | 2344 | * |
2339 | * Return: error if no sta with matching da found, success otherwise | 2345 | * Return: negative error if the TID is invalid, or no aggregation active |
2340 | * | 2346 | * |
2341 | * Although mac80211/low level driver/user space application can estimate | 2347 | * Although mac80211/low level driver/user space application can estimate |
2342 | * the need to stop aggregation on a certain RA/TID, the session level | 2348 | * the need to stop aggregation on a certain RA/TID, the session level |
2343 | * will be managed by the mac80211. | 2349 | * will be managed by the mac80211. |
2344 | */ | 2350 | */ |
2345 | int ieee80211_stop_tx_ba_session(struct ieee80211_sta *sta, u16 tid, | 2351 | int ieee80211_stop_tx_ba_session(struct ieee80211_sta *sta, u16 tid); |
2346 | enum ieee80211_back_parties initiator); | ||
2347 | 2352 | ||
2348 | /** | 2353 | /** |
2349 | * ieee80211_stop_tx_ba_cb - low level driver ready to stop aggregate. | 2354 | * ieee80211_stop_tx_ba_cb - low level driver ready to stop aggregate. |