diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 45 |
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 | */ | ||
582 | enum { | ||
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 | */ | ||
601 | enum 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 | |||
573 | struct ieee80211_local { | 609 | struct 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, | |||
914 | void ieee80211_configure_filter(struct ieee80211_local *local); | 950 | void ieee80211_configure_filter(struct ieee80211_local *local); |
915 | u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); | 951 | u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); |
916 | 952 | ||
917 | /* wireless extensions */ | ||
918 | extern const struct iw_handler_def ieee80211_iw_handler_def; | ||
919 | |||
920 | /* STA code */ | 953 | /* STA code */ |
921 | void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); | 954 | void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); |
922 | int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, | 955 | int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, |