diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 53 |
1 files changed, 35 insertions, 18 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index e21e0301548b..0339e909e0c4 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -227,31 +227,48 @@ struct mesh_preq_queue { | |||
227 | u8 flags; | 227 | u8 flags; |
228 | }; | 228 | }; |
229 | 229 | ||
230 | enum ieee80211_mgd_state { | 230 | enum ieee80211_work_type { |
231 | IEEE80211_MGD_STATE_INVALID, | 231 | IEEE80211_WORK_AUTH_PROBE, |
232 | IEEE80211_MGD_STATE_PROBE, | 232 | IEEE80211_WORK_AUTH, |
233 | IEEE80211_MGD_STATE_AUTH, | 233 | IEEE80211_WORK_ASSOC, |
234 | IEEE80211_MGD_STATE_ASSOC, | ||
235 | }; | 234 | }; |
236 | 235 | ||
237 | struct ieee80211_mgd_work { | 236 | struct ieee80211_work { |
238 | struct list_head list; | 237 | struct list_head list; |
239 | struct ieee80211_bss *bss; | ||
240 | int ie_len; | ||
241 | u8 prev_bssid[ETH_ALEN]; | ||
242 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ||
243 | u8 ssid_len; | ||
244 | unsigned long timeout; | ||
245 | enum ieee80211_mgd_state state; | ||
246 | u16 auth_alg, auth_transaction; | ||
247 | 238 | ||
248 | int tries; | 239 | struct ieee80211_channel *chan; |
240 | /* XXX: chan type? -- right now not really needed */ | ||
241 | unsigned long timeout; | ||
242 | enum ieee80211_work_type type; | ||
249 | 243 | ||
250 | u8 key[WLAN_KEY_LEN_WEP104]; | 244 | union { |
251 | u8 key_len, key_idx; | 245 | struct { |
246 | int tries; | ||
247 | u16 algorithm, transaction; | ||
248 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ||
249 | u8 ssid_len; | ||
250 | u8 bssid[ETH_ALEN]; | ||
251 | u8 key[WLAN_KEY_LEN_WEP104]; | ||
252 | u8 key_len, key_idx; | ||
253 | bool privacy; | ||
254 | } auth; | ||
255 | struct { | ||
256 | struct ieee80211_bss *bss; | ||
257 | const u8 *supp_rates; | ||
258 | const u8 *ht_information_ie; | ||
259 | int tries; | ||
260 | u16 capability; | ||
261 | u8 bssid[ETH_ALEN], prev_bssid[ETH_ALEN]; | ||
262 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ||
263 | u8 ssid_len; | ||
264 | u8 supp_rates_len; | ||
265 | bool wmm_used; | ||
266 | } assoc; | ||
267 | }; | ||
252 | 268 | ||
269 | int ie_len; | ||
253 | /* must be last */ | 270 | /* must be last */ |
254 | u8 ie[0]; /* for auth or assoc frame, not probe */ | 271 | u8 ie[0]; |
255 | }; | 272 | }; |
256 | 273 | ||
257 | /* flags used in struct ieee80211_if_managed.flags */ | 274 | /* flags used in struct ieee80211_if_managed.flags */ |