diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 783a125402b0..efda19ee0152 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -570,9 +570,41 @@ enum queue_stop_reason { | |||
570 | IEEE80211_QUEUE_STOP_REASON_SKB_ADD, | 570 | IEEE80211_QUEUE_STOP_REASON_SKB_ADD, |
571 | }; | 571 | }; |
572 | 572 | ||
573 | /** | ||
574 | * mac80211 scan flags - currently active scan mode | ||
575 | * | ||
576 | * @SCAN_SW_SCANNING: We're currently in the process of scanning but may as | ||
577 | * well be on the operating channel | ||
578 | * @SCAN_HW_SCANNING: The hardware is scanning for us, we have no way to | ||
579 | * determine if we are on the operating channel or not | ||
580 | * @SCAN_OFF_CHANNEL: We're off our operating channel for scanning, | ||
581 | * gets only set in conjunction with SCAN_SW_SCANNING | ||
582 | */ | ||
573 | enum { | 583 | enum { |
574 | SCAN_SW_SCANNING, | 584 | SCAN_SW_SCANNING, |
575 | SCAN_HW_SCANNING | 585 | SCAN_HW_SCANNING, |
586 | SCAN_OFF_CHANNEL, | ||
587 | }; | ||
588 | |||
589 | /** | ||
590 | * enum mac80211_scan_state - scan state machine states | ||
591 | * | ||
592 | * @SCAN_DECISION: Main entry point to the scan state machine, this state | ||
593 | * determines if we should keep on scanning or switch back to the | ||
594 | * operating channel | ||
595 | * @SCAN_SET_CHANNEL: Set the next channel to be scanned | ||
596 | * @SCAN_SEND_PROBE: Send probe requests and wait for probe responses | ||
597 | * @SCAN_LEAVE_OPER_CHANNEL: Leave the operating channel, notify the AP | ||
598 | * about us leaving the channel and stop all associated STA interfaces | ||
599 | * @SCAN_ENTER_OPER_CHANNEL: Enter the operating channel again, notify the | ||
600 | * AP about us being back and restart all associated STA interfaces | ||
601 | */ | ||
602 | enum mac80211_scan_state { | ||
603 | SCAN_DECISION, | ||
604 | SCAN_SET_CHANNEL, | ||
605 | SCAN_SEND_PROBE, | ||
606 | SCAN_LEAVE_OPER_CHANNEL, | ||
607 | SCAN_ENTER_OPER_CHANNEL, | ||
576 | }; | 608 | }; |
577 | 609 | ||
578 | struct ieee80211_local { | 610 | struct ieee80211_local { |
@@ -683,7 +715,7 @@ struct ieee80211_local { | |||
683 | int scan_channel_idx; | 715 | int scan_channel_idx; |
684 | int scan_ies_len; | 716 | int scan_ies_len; |
685 | 717 | ||
686 | enum { SCAN_DECISION, SCAN_SET_CHANNEL, SCAN_SEND_PROBE } scan_state; | 718 | enum mac80211_scan_state scan_state; |
687 | struct delayed_work scan_work; | 719 | struct delayed_work scan_work; |
688 | struct ieee80211_sub_if_data *scan_sdata; | 720 | struct ieee80211_sub_if_data *scan_sdata; |
689 | enum nl80211_channel_type oper_channel_type; | 721 | enum nl80211_channel_type oper_channel_type; |