aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h62
1 files changed, 10 insertions, 52 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 156e42a003ae..155a20410017 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -23,6 +23,7 @@
23#include <linux/types.h> 23#include <linux/types.h>
24#include <linux/spinlock.h> 24#include <linux/spinlock.h>
25#include <linux/etherdevice.h> 25#include <linux/etherdevice.h>
26#include <net/cfg80211.h>
26#include <net/wireless.h> 27#include <net/wireless.h>
27#include <net/iw_handler.h> 28#include <net/iw_handler.h>
28#include <net/mac80211.h> 29#include <net/mac80211.h>
@@ -142,7 +143,6 @@ typedef unsigned __bitwise__ ieee80211_tx_result;
142#define IEEE80211_TX_FRAGMENTED BIT(0) 143#define IEEE80211_TX_FRAGMENTED BIT(0)
143#define IEEE80211_TX_UNICAST BIT(1) 144#define IEEE80211_TX_UNICAST BIT(1)
144#define IEEE80211_TX_PS_BUFFERED BIT(2) 145#define IEEE80211_TX_PS_BUFFERED BIT(2)
145#define IEEE80211_TX_PROBE_LAST_FRAG BIT(3)
146 146
147struct ieee80211_tx_data { 147struct ieee80211_tx_data {
148 struct sk_buff *skb; 148 struct sk_buff *skb;
@@ -153,11 +153,6 @@ struct ieee80211_tx_data {
153 struct ieee80211_key *key; 153 struct ieee80211_key *key;
154 154
155 struct ieee80211_channel *channel; 155 struct ieee80211_channel *channel;
156 s8 rate_idx;
157 /* use this rate (if set) for last fragment; rate can
158 * be set to lower rate for the first fragments, e.g.,
159 * when using CTS protection with IEEE 802.11g. */
160 s8 last_frag_rate_idx;
161 156
162 /* Extra fragments (in addition to the first fragment 157 /* Extra fragments (in addition to the first fragment
163 * in skb) */ 158 * in skb) */
@@ -203,9 +198,7 @@ struct ieee80211_rx_data {
203struct ieee80211_tx_stored_packet { 198struct ieee80211_tx_stored_packet {
204 struct sk_buff *skb; 199 struct sk_buff *skb;
205 struct sk_buff **extra_frag; 200 struct sk_buff **extra_frag;
206 s8 last_frag_rate_idx;
207 int num_extra_frag; 201 int num_extra_frag;
208 bool last_frag_rate_ctrl_probe;
209}; 202};
210 203
211struct beacon_data { 204struct beacon_data {
@@ -219,9 +212,6 @@ struct ieee80211_if_ap {
219 212
220 struct list_head vlans; 213 struct list_head vlans;
221 214
222 u8 ssid[IEEE80211_MAX_SSID_LEN];
223 size_t ssid_len;
224
225 /* yes, this looks ugly, but guarantees that we can later use 215 /* yes, this looks ugly, but guarantees that we can later use
226 * bitmap_empty :) 216 * bitmap_empty :)
227 * NB: don't touch this bitmap, use sta_info_{set,clear}_tim_bit */ 217 * NB: don't touch this bitmap, use sta_info_{set,clear}_tim_bit */
@@ -255,26 +245,6 @@ struct mesh_preq_queue {
255 u8 flags; 245 u8 flags;
256}; 246};
257 247
258struct mesh_config {
259 /* Timeouts in ms */
260 /* Mesh plink management parameters */
261 u16 dot11MeshRetryTimeout;
262 u16 dot11MeshConfirmTimeout;
263 u16 dot11MeshHoldingTimeout;
264 u16 dot11MeshMaxPeerLinks;
265 u8 dot11MeshMaxRetries;
266 u8 dot11MeshTTL;
267 bool auto_open_plinks;
268 /* HWMP parameters */
269 u8 dot11MeshHWMPmaxPREQretries;
270 u32 path_refresh_time;
271 u16 min_discovery_timeout;
272 u32 dot11MeshHWMPactivePathTimeout;
273 u16 dot11MeshHWMPpreqMinInterval;
274 u16 dot11MeshHWMPnetDiameterTraversalTime;
275};
276
277
278/* flags used in struct ieee80211_if_sta.flags */ 248/* flags used in struct ieee80211_if_sta.flags */
279#define IEEE80211_STA_SSID_SET BIT(0) 249#define IEEE80211_STA_SSID_SET BIT(0)
280#define IEEE80211_STA_BSSID_SET BIT(1) 250#define IEEE80211_STA_BSSID_SET BIT(1)
@@ -438,8 +408,7 @@ struct ieee80211_sub_if_data {
438 struct ieee80211_key *keys[NUM_DEFAULT_KEYS]; 408 struct ieee80211_key *keys[NUM_DEFAULT_KEYS];
439 struct ieee80211_key *default_key; 409 struct ieee80211_key *default_key;
440 410
441 /* BSS configuration for this interface. */ 411 u16 sequence_number;
442 struct ieee80211_bss_conf bss_conf;
443 412
444 /* 413 /*
445 * AP this belongs to: self in AP mode and 414 * AP this belongs to: self in AP mode and
@@ -633,8 +602,6 @@ struct ieee80211_local {
633 602
634 int rts_threshold; 603 int rts_threshold;
635 int fragmentation_threshold; 604 int fragmentation_threshold;
636 int short_retry_limit; /* dot11ShortRetryLimit */
637 int long_retry_limit; /* dot11LongRetryLimit */
638 605
639 struct crypto_blkcipher *wep_tx_tfm; 606 struct crypto_blkcipher *wep_tx_tfm;
640 struct crypto_blkcipher *wep_rx_tfm; 607 struct crypto_blkcipher *wep_rx_tfm;
@@ -727,8 +694,6 @@ struct ieee80211_local {
727 struct dentry *rcdir; 694 struct dentry *rcdir;
728 struct dentry *rcname; 695 struct dentry *rcname;
729 struct dentry *frequency; 696 struct dentry *frequency;
730 struct dentry *antenna_sel_tx;
731 struct dentry *antenna_sel_rx;
732 struct dentry *rts_threshold; 697 struct dentry *rts_threshold;
733 struct dentry *fragmentation_threshold; 698 struct dentry *fragmentation_threshold;
734 struct dentry *short_retry_limit; 699 struct dentry *short_retry_limit;
@@ -817,7 +782,7 @@ struct ieee802_11_elems {
817 u8 *wmm_info; 782 u8 *wmm_info;
818 u8 *wmm_param; 783 u8 *wmm_param;
819 struct ieee80211_ht_cap *ht_cap_elem; 784 struct ieee80211_ht_cap *ht_cap_elem;
820 struct ieee80211_ht_addt_info *ht_info_elem; 785 struct ieee80211_ht_info *ht_info_elem;
821 u8 *mesh_config; 786 u8 *mesh_config;
822 u8 *mesh_id; 787 u8 *mesh_id;
823 u8 *peer_link; 788 u8 *peer_link;
@@ -869,11 +834,6 @@ static inline struct ieee80211_hw *local_to_hw(
869 return &local->hw; 834 return &local->hw;
870} 835}
871 836
872struct sta_attribute {
873 struct attribute attr;
874 ssize_t (*show)(const struct sta_info *, char *buf);
875 ssize_t (*store)(struct sta_info *, const char *buf, size_t count);
876};
877 837
878static inline int ieee80211_bssid_match(const u8 *raddr, const u8 *addr) 838static inline int ieee80211_bssid_match(const u8 *raddr, const u8 *addr)
879{ 839{
@@ -882,12 +842,9 @@ static inline int ieee80211_bssid_match(const u8 *raddr, const u8 *addr)
882} 842}
883 843
884 844
885int ieee80211_hw_config(struct ieee80211_local *local); 845int ieee80211_hw_config(struct ieee80211_local *local, u32 changed);
886int ieee80211_if_config(struct ieee80211_sub_if_data *sdata, u32 changed); 846int ieee80211_if_config(struct ieee80211_sub_if_data *sdata, u32 changed);
887void ieee80211_tx_set_protected(struct ieee80211_tx_data *tx); 847void ieee80211_tx_set_protected(struct ieee80211_tx_data *tx);
888u32 ieee80211_handle_ht(struct ieee80211_local *local, int enable_ht,
889 struct ieee80211_ht_info *req_ht_cap,
890 struct ieee80211_ht_bss_info *req_bss_cap);
891void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata, 848void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
892 u32 changed); 849 u32 changed);
893void ieee80211_configure_filter(struct ieee80211_local *local); 850void ieee80211_configure_filter(struct ieee80211_local *local);
@@ -968,11 +925,12 @@ int ieee80211_monitor_start_xmit(struct sk_buff *skb, struct net_device *dev);
968int ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev); 925int ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev);
969 926
970/* HT */ 927/* HT */
971int ieee80211_ht_cap_ie_to_ht_info(struct ieee80211_ht_cap *ht_cap_ie, 928void ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_supported_band *sband,
972 struct ieee80211_ht_info *ht_info); 929 struct ieee80211_ht_cap *ht_cap_ie,
973int ieee80211_ht_addt_info_ie_to_ht_bss_info( 930 struct ieee80211_sta_ht_cap *ht_cap);
974 struct ieee80211_ht_addt_info *ht_add_info_ie, 931u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
975 struct ieee80211_ht_bss_info *bss_info); 932 struct ieee80211_ht_info *hti,
933 u16 ap_ht_cap_flags);
976void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u16 ssn); 934void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u16 ssn);
977 935
978void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *da, 936void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *da,