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.h45
1 files changed, 39 insertions, 6 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 6a0177137dd5..aec6853cb435 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -24,7 +24,6 @@
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/cfg80211.h>
27#include <net/iw_handler.h>
28#include <net/mac80211.h> 27#include <net/mac80211.h>
29#include "key.h" 28#include "key.h"
30#include "sta_info.h" 29#include "sta_info.h"
@@ -570,6 +569,43 @@ enum queue_stop_reason {
570 IEEE80211_QUEUE_STOP_REASON_SKB_ADD, 569 IEEE80211_QUEUE_STOP_REASON_SKB_ADD,
571}; 570};
572 571
572/**
573 * mac80211 scan flags - currently active scan mode
574 *
575 * @SCAN_SW_SCANNING: We're currently in the process of scanning but may as
576 * well be on the operating channel
577 * @SCAN_HW_SCANNING: The hardware is scanning for us, we have no way to
578 * determine if we are on the operating channel or not
579 * @SCAN_OFF_CHANNEL: We're off our operating channel for scanning,
580 * gets only set in conjunction with SCAN_SW_SCANNING
581 */
582enum {
583 SCAN_SW_SCANNING,
584 SCAN_HW_SCANNING,
585 SCAN_OFF_CHANNEL,
586};
587
588/**
589 * enum mac80211_scan_state - scan state machine states
590 *
591 * @SCAN_DECISION: Main entry point to the scan state machine, this state
592 * determines if we should keep on scanning or switch back to the
593 * operating channel
594 * @SCAN_SET_CHANNEL: Set the next channel to be scanned
595 * @SCAN_SEND_PROBE: Send probe requests and wait for probe responses
596 * @SCAN_LEAVE_OPER_CHANNEL: Leave the operating channel, notify the AP
597 * about us leaving the channel and stop all associated STA interfaces
598 * @SCAN_ENTER_OPER_CHANNEL: Enter the operating channel again, notify the
599 * AP about us being back and restart all associated STA interfaces
600 */
601enum mac80211_scan_state {
602 SCAN_DECISION,
603 SCAN_SET_CHANNEL,
604 SCAN_SEND_PROBE,
605 SCAN_LEAVE_OPER_CHANNEL,
606 SCAN_ENTER_OPER_CHANNEL,
607};
608
573struct ieee80211_local { 609struct ieee80211_local {
574 /* embed the driver visible part. 610 /* embed the driver visible part.
575 * don't cast (use the static inlines below), but we keep 611 * don't cast (use the static inlines below), but we keep
@@ -668,7 +704,7 @@ struct ieee80211_local {
668 704
669 /* Scanning and BSS list */ 705 /* Scanning and BSS list */
670 struct mutex scan_mtx; 706 struct mutex scan_mtx;
671 bool sw_scanning, hw_scanning; 707 unsigned long scanning;
672 struct cfg80211_ssid scan_ssid; 708 struct cfg80211_ssid scan_ssid;
673 struct cfg80211_scan_request int_scan_req; 709 struct cfg80211_scan_request int_scan_req;
674 struct cfg80211_scan_request *scan_req; 710 struct cfg80211_scan_request *scan_req;
@@ -678,7 +714,7 @@ struct ieee80211_local {
678 int scan_channel_idx; 714 int scan_channel_idx;
679 int scan_ies_len; 715 int scan_ies_len;
680 716
681 enum { SCAN_SET_CHANNEL, SCAN_SEND_PROBE } scan_state; 717 enum mac80211_scan_state next_scan_state;
682 struct delayed_work scan_work; 718 struct delayed_work scan_work;
683 struct ieee80211_sub_if_data *scan_sdata; 719 struct ieee80211_sub_if_data *scan_sdata;
684 enum nl80211_channel_type oper_channel_type; 720 enum nl80211_channel_type oper_channel_type;
@@ -914,9 +950,6 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
914void ieee80211_configure_filter(struct ieee80211_local *local); 950void ieee80211_configure_filter(struct ieee80211_local *local);
915u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); 951u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata);
916 952
917/* wireless extensions */
918extern const struct iw_handler_def ieee80211_iw_handler_def;
919
920/* STA code */ 953/* STA code */
921void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); 954void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata);
922int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, 955int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,