diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-02-10 15:26:00 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-13 13:45:58 -0500 |
commit | 00d3f14cf9f12c21428121026a5e1d5f65926447 (patch) | |
tree | e5f355deef7b9ebb5b3bf65f9d589bd2a1cfbafa /net/mac80211/ieee80211_i.h | |
parent | 79420f09e76e8e1dd1149d6ce9c20e06cbb5802a (diff) |
mac80211: use cfg80211s BSS infrastructure
Remove all the code from mac80211 to keep track of BSSes
and use the cfg80211-provided code completely.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 87d63fe61bf9..678278344d79 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -72,43 +72,36 @@ struct ieee80211_fragment_entry { | |||
72 | 72 | ||
73 | 73 | ||
74 | struct ieee80211_bss { | 74 | struct ieee80211_bss { |
75 | struct list_head list; | 75 | /* Yes, this is a hack */ |
76 | struct ieee80211_bss *hnext; | 76 | struct cfg80211_bss cbss; |
77 | size_t ssid_len; | ||
78 | 77 | ||
79 | atomic_t users; | 78 | /* don't want to look up all the time */ |
80 | 79 | size_t ssid_len; | |
81 | u8 bssid[ETH_ALEN]; | ||
82 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | 80 | u8 ssid[IEEE80211_MAX_SSID_LEN]; |
81 | |||
83 | u8 dtim_period; | 82 | u8 dtim_period; |
84 | u16 capability; /* host byte order */ | 83 | |
85 | enum ieee80211_band band; | ||
86 | int freq; | ||
87 | int signal, noise, qual; | ||
88 | u8 *ies; /* all information elements from the last Beacon or Probe | ||
89 | * Response frames; note Beacon frame is not allowed to | ||
90 | * override values from Probe Response */ | ||
91 | size_t ies_len; | ||
92 | bool wmm_used; | 84 | bool wmm_used; |
85 | |||
86 | unsigned long last_probe_resp; | ||
87 | |||
93 | #ifdef CONFIG_MAC80211_MESH | 88 | #ifdef CONFIG_MAC80211_MESH |
94 | u8 *mesh_id; | 89 | u8 *mesh_id; |
95 | size_t mesh_id_len; | 90 | size_t mesh_id_len; |
96 | u8 *mesh_cfg; | 91 | u8 *mesh_cfg; |
97 | #endif | 92 | #endif |
93 | |||
98 | #define IEEE80211_MAX_SUPP_RATES 32 | 94 | #define IEEE80211_MAX_SUPP_RATES 32 |
99 | u8 supp_rates[IEEE80211_MAX_SUPP_RATES]; | 95 | u8 supp_rates[IEEE80211_MAX_SUPP_RATES]; |
100 | size_t supp_rates_len; | 96 | size_t supp_rates_len; |
101 | u64 timestamp; | ||
102 | int beacon_int; | ||
103 | 97 | ||
104 | unsigned long last_probe_resp; | 98 | /* |
105 | unsigned long last_update; | 99 | * During assocation, we save an ERP value from a probe response so |
106 | |||
107 | /* during assocation, we save an ERP value from a probe response so | ||
108 | * that we can feed ERP info to the driver when handling the | 100 | * that we can feed ERP info to the driver when handling the |
109 | * association completes. these fields probably won't be up-to-date | 101 | * association completes. these fields probably won't be up-to-date |
110 | * otherwise, you probably don't want to use them. */ | 102 | * otherwise, you probably don't want to use them. |
111 | int has_erp_value; | 103 | */ |
104 | bool has_erp_value; | ||
112 | u8 erp_value; | 105 | u8 erp_value; |
113 | }; | 106 | }; |
114 | 107 | ||
@@ -668,9 +661,6 @@ struct ieee80211_local { | |||
668 | struct ieee80211_sub_if_data *scan_sdata; | 661 | struct ieee80211_sub_if_data *scan_sdata; |
669 | enum nl80211_channel_type oper_channel_type; | 662 | enum nl80211_channel_type oper_channel_type; |
670 | struct ieee80211_channel *oper_channel, *csa_channel; | 663 | struct ieee80211_channel *oper_channel, *csa_channel; |
671 | struct list_head bss_list; | ||
672 | struct ieee80211_bss *bss_hash[STA_HASH_SIZE]; | ||
673 | spinlock_t bss_lock; | ||
674 | 664 | ||
675 | /* SNMP counters */ | 665 | /* SNMP counters */ |
676 | /* dot11CountersTable */ | 666 | /* dot11CountersTable */ |
@@ -936,8 +926,6 @@ ieee80211_rx_result | |||
936 | ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, | 926 | ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, |
937 | struct sk_buff *skb, | 927 | struct sk_buff *skb, |
938 | struct ieee80211_rx_status *rx_status); | 928 | struct ieee80211_rx_status *rx_status); |
939 | void ieee80211_rx_bss_list_init(struct ieee80211_local *local); | ||
940 | void ieee80211_rx_bss_list_deinit(struct ieee80211_local *local); | ||
941 | int ieee80211_sta_set_extra_ie(struct ieee80211_sub_if_data *sdata, | 929 | int ieee80211_sta_set_extra_ie(struct ieee80211_sub_if_data *sdata, |
942 | char *ie, size_t len); | 930 | char *ie, size_t len); |
943 | 931 | ||