ieee80211_i.h (cc32abd494c0a8f76f2638e3f3a76e01c68bc9ea) ieee80211_i.h (5bb644a0fd25a5e083ecbfaa92a211db99aa6ef7)
1/*
2 * Copyright 2002-2005, Instant802 Networks, Inc.
3 * Copyright 2005, Devicescape Software, Inc.
4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
5 * Copyright 2007-2008 Johannes Berg <johannes@sipsolutions.net>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 279 unchanged lines hidden (view full) ---

288
289 struct sk_buff_head skb_queue;
290
291 int assoc_scan_tries; /* number of scans done pre-association */
292 int direct_probe_tries; /* retries for direct probes */
293 int auth_tries; /* retries for auth req */
294 int assoc_tries; /* retries for assoc req */
295
1/*
2 * Copyright 2002-2005, Instant802 Networks, Inc.
3 * Copyright 2005, Devicescape Software, Inc.
4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
5 * Copyright 2007-2008 Johannes Berg <johannes@sipsolutions.net>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 279 unchanged lines hidden (view full) ---

288
289 struct sk_buff_head skb_queue;
290
291 int assoc_scan_tries; /* number of scans done pre-association */
292 int direct_probe_tries; /* retries for direct probes */
293 int auth_tries; /* retries for auth req */
294 int assoc_tries; /* retries for assoc req */
295
296 unsigned long timers_running; /* used for quiesce/restart */
296 bool powersave; /* powersave requested for this iface */
297
298 unsigned long request;
299
300 unsigned long last_probe;
301 unsigned long last_beacon;
302
303 unsigned int flags;

--- 24 unchanged lines hidden (view full) ---

328struct ieee80211_if_ibss {
329 struct timer_list timer;
330 struct work_struct work;
331
332 struct sk_buff_head skb_queue;
333
334 unsigned long request;
335 unsigned long last_scan_completed;
297 bool powersave; /* powersave requested for this iface */
298
299 unsigned long request;
300
301 unsigned long last_probe;
302 unsigned long last_beacon;
303
304 unsigned int flags;

--- 24 unchanged lines hidden (view full) ---

329struct ieee80211_if_ibss {
330 struct timer_list timer;
331 struct work_struct work;
332
333 struct sk_buff_head skb_queue;
334
335 unsigned long request;
336 unsigned long last_scan_completed;
337
338 bool timer_running;
339
336 bool fixed_bssid;
337 bool fixed_channel;
338
339 u8 bssid[ETH_ALEN];
340 u8 ssid[IEEE80211_MAX_SSID_LEN];
341 u8 ssid_len, ie_len;
342 u8 *ie;
343 struct ieee80211_channel *channel;

--- 9 unchanged lines hidden (view full) ---

353};
354
355struct ieee80211_if_mesh {
356 struct work_struct work;
357 struct timer_list housekeeping_timer;
358 struct timer_list mesh_path_timer;
359 struct sk_buff_head skb_queue;
360
340 bool fixed_bssid;
341 bool fixed_channel;
342
343 u8 bssid[ETH_ALEN];
344 u8 ssid[IEEE80211_MAX_SSID_LEN];
345 u8 ssid_len, ie_len;
346 u8 *ie;
347 struct ieee80211_channel *channel;

--- 9 unchanged lines hidden (view full) ---

357};
358
359struct ieee80211_if_mesh {
360 struct work_struct work;
361 struct timer_list housekeeping_timer;
362 struct timer_list mesh_path_timer;
363 struct sk_buff_head skb_queue;
364
365 unsigned long timers_running;
366
361 bool housekeeping;
362
363 u8 mesh_id[IEEE80211_MAX_MESH_ID_LEN];
364 size_t mesh_id_len;
365 /* Active Path Selection Protocol Identifier */
366 u8 mesh_pp_id[4];
367 /* Active Path Selection Metric Identifier */
368 u8 mesh_pm_id[4];

--- 235 unchanged lines hidden (view full) ---

604 struct net_device *mdev; /* wmaster# - "master" 802.11 device */
605 int open_count;
606 int monitors, cooked_mntrs;
607 /* number of interfaces with corresponding FIF_ flags */
608 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss;
609 unsigned int filter_flags; /* FIF_* */
610 struct iw_statistics wstats;
611 bool tim_in_locked_section; /* see ieee80211_beacon_get() */
367 bool housekeeping;
368
369 u8 mesh_id[IEEE80211_MAX_MESH_ID_LEN];
370 size_t mesh_id_len;
371 /* Active Path Selection Protocol Identifier */
372 u8 mesh_pp_id[4];
373 /* Active Path Selection Metric Identifier */
374 u8 mesh_pm_id[4];

--- 235 unchanged lines hidden (view full) ---

610 struct net_device *mdev; /* wmaster# - "master" 802.11 device */
611 int open_count;
612 int monitors, cooked_mntrs;
613 /* number of interfaces with corresponding FIF_ flags */
614 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss;
615 unsigned int filter_flags; /* FIF_* */
616 struct iw_statistics wstats;
617 bool tim_in_locked_section; /* see ieee80211_beacon_get() */
618
619 /*
620 * suspended is true if we finished all the suspend _and_ we have
621 * not yet come up from resume. This is to be used by mac80211
622 * to ensure driver sanity during suspend and mac80211's own
623 * sanity. It can eventually be used for WoW as well.
624 */
625 bool suspended;
626
627 /*
628 * quiescing is true during the suspend process _only_ to
629 * ease timer cancelling etc.
630 */
631 bool quiescing;
632
612 int tx_headroom; /* required headroom for hardware/radiotap */
613
614 /* Tasklet and skb queue to process calls from IRQ mode. All frames
615 * added to skb_queue will be processed, but frames in
616 * skb_queue_unreliable may be dropped if the total length of these
617 * queues increases over the limit. */
618#define IEEE80211_IRQSAFE_QUEUE_LIMIT 128
619 struct tasklet_struct tasklet;

--- 312 unchanged lines hidden (view full) ---

932void ieee80211_send_pspoll(struct ieee80211_local *local,
933 struct ieee80211_sub_if_data *sdata);
934void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency);
935int ieee80211_max_network_latency(struct notifier_block *nb,
936 unsigned long data, void *dummy);
937void ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
938 struct ieee80211_channel_sw_ie *sw_elem,
939 struct ieee80211_bss *bss);
633 int tx_headroom; /* required headroom for hardware/radiotap */
634
635 /* Tasklet and skb queue to process calls from IRQ mode. All frames
636 * added to skb_queue will be processed, but frames in
637 * skb_queue_unreliable may be dropped if the total length of these
638 * queues increases over the limit. */
639#define IEEE80211_IRQSAFE_QUEUE_LIMIT 128
640 struct tasklet_struct tasklet;

--- 312 unchanged lines hidden (view full) ---

953void ieee80211_send_pspoll(struct ieee80211_local *local,
954 struct ieee80211_sub_if_data *sdata);
955void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency);
956int ieee80211_max_network_latency(struct notifier_block *nb,
957 unsigned long data, void *dummy);
958void ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
959 struct ieee80211_channel_sw_ie *sw_elem,
960 struct ieee80211_bss *bss);
961void ieee80211_sta_quiesce(struct ieee80211_sub_if_data *sdata);
962void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata);
940
941/* IBSS code */
942void ieee80211_ibss_notify_scan_completed(struct ieee80211_local *local);
943void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata);
944ieee80211_rx_result
945ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb,
946 struct ieee80211_rx_status *rx_status);
947struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata,
948 u8 *bssid, u8 *addr, u32 supp_rates);
949int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
950 struct cfg80211_ibss_params *params);
951int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata);
963
964/* IBSS code */
965void ieee80211_ibss_notify_scan_completed(struct ieee80211_local *local);
966void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata);
967ieee80211_rx_result
968ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb,
969 struct ieee80211_rx_status *rx_status);
970struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata,
971 u8 *bssid, u8 *addr, u32 supp_rates);
972int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
973 struct cfg80211_ibss_params *params);
974int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata);
975void ieee80211_ibss_quiesce(struct ieee80211_sub_if_data *sdata);
976void ieee80211_ibss_restart(struct ieee80211_sub_if_data *sdata);
952
953/* scan/BSS handling */
954void ieee80211_scan_work(struct work_struct *work);
955int ieee80211_request_internal_scan(struct ieee80211_sub_if_data *sdata,
956 const u8 *ssid, u8 ssid_len);
957int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata,
958 struct cfg80211_scan_request *req);
959int ieee80211_scan_results(struct ieee80211_local *local,
960 struct iw_request_info *info,
961 char *buf, size_t len);
977
978/* scan/BSS handling */
979void ieee80211_scan_work(struct work_struct *work);
980int ieee80211_request_internal_scan(struct ieee80211_sub_if_data *sdata,
981 const u8 *ssid, u8 ssid_len);
982int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata,
983 struct cfg80211_scan_request *req);
984int ieee80211_scan_results(struct ieee80211_local *local,
985 struct iw_request_info *info,
986 char *buf, size_t len);
987void ieee80211_scan_cancel(struct ieee80211_local *local);
962ieee80211_rx_result
963ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata,
964 struct sk_buff *skb,
965 struct ieee80211_rx_status *rx_status);
966int ieee80211_sta_set_extra_ie(struct ieee80211_sub_if_data *sdata,
967 const char *ie, size_t len);
968
969void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local);

--- 155 unchanged lines hidden ---
988ieee80211_rx_result
989ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata,
990 struct sk_buff *skb,
991 struct ieee80211_rx_status *rx_status);
992int ieee80211_sta_set_extra_ie(struct ieee80211_sub_if_data *sdata,
993 const char *ie, size_t len);
994
995void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local);

--- 155 unchanged lines hidden ---