10 /*******************************************************************************
11 * Copyright (c) 2009 MediaTek Inc.
13 * All rights reserved. Copying, compilation, modification, distribution
14 * or any other use whatsoever of this material is strictly prohibited
15 * except in accordance with a Software License Agreement with
17 ********************************************************************************
20 /*******************************************************************************
23 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
24 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
25 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
26 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
27 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
29 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
30 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
31 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
32 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
33 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
34 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
35 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
37 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
38 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
39 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
40 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
41 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
43 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
44 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
45 * OF LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
46 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
47 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
49 ********************************************************************************
55 * 09 03 2010 kevin.huang
57 * Refine #include sequence and solve recursive/nested #include issue
61 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
64 * [WPD00003833][MT6620 and MT5931] Driver migration
65 * remove unused definitions.
68 * [WPD00003833][MT6620 and MT5931] Driver migration
69 * implementation of DRV-SCN and related mailbox message handling.
72 * [WPD00003833][MT6620 and MT5931] Driver migration
73 * merge cnm_scan.h and hem_mbox.h
75 * 05 12 2010 kevin.huang
76 * [BORA00000794][WIFISYS][New Feature]Power Management Support
77 * Add Power Management - Legacy PS-POLL support.
80 * [BORA00000018]Integrate WIFI part into BORA for the 1st time
81 * Support 2.4G OBSS scan
83 * 03 16 2010 kevin.huang
84 * [BORA00000663][WIFISYS][New Feature] AdHoc Mode Support
87 * 03 10 2010 kevin.huang
88 * [BORA00000654][WIFISYS][New Feature] CNM Module - Ch Manager Support
90 * * * * Add Channel Manager for arbitration of JOIN and SCAN Req
92 * 02 23 2010 kevin.huang
93 * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
94 * Add support scan channel 1~14 and update scan result's frequency infou1rwduu`wvpghlqg|n`slk+mpdkb
96 * 02 04 2010 kevin.huang
97 * [BORA00000603][WIFISYS] [New Feature] AAA Module Support
98 * Add AAA Module Support, Revise Net Type to Net Type Index for array lookup
100 * Nov 18 2009 mtk01104
101 * [BORA00000018] Integrate WIFI part into BORA for the 1st time
102 * Add function prototype of cnmScanInit()
104 * Nov 5 2009 mtk01461
105 * [BORA00000018] Integrate WIFI part into BORA for the 1st time
113 /*******************************************************************************
114 * C O M P I L E R F L A G S
115 ********************************************************************************
118 /*******************************************************************************
119 * E X T E R N A L R E F E R E N C E S
120 ********************************************************************************
123 /*******************************************************************************
125 ********************************************************************************
127 #define SCN_CHANNEL_DWELL_TIME_MIN_MSEC 12
128 #define SCN_CHANNEL_DWELL_TIME_EXT_MSEC 98
130 #define SCN_TOTAL_PROBEREQ_NUM_FOR_FULL 3
131 #define SCN_SPECIFIC_PROBEREQ_NUM_FOR_FULL 1
133 #define SCN_TOTAL_PROBEREQ_NUM_FOR_PARTIAL 2
134 #define SCN_SPECIFIC_PROBEREQ_NUM_FOR_PARTIAL 1
137 #define SCN_INTERLACED_CHANNEL_GROUPS_NUM 3 /* Used by partial scan */
139 #define SCN_PARTIAL_SCAN_NUM 3
141 #define SCN_PARTIAL_SCAN_IDLE_MSEC 100
143 #define MAXIMUM_OPERATION_CHANNEL_LIST 32
145 /*******************************************************************************
147 ********************************************************************************
149 /* The type of Scan Source */
150 typedef enum _ENUM_SCN_REQ_SOURCE_T {
151 SCN_REQ_SOURCE_HEM = 0,
152 SCN_REQ_SOURCE_NET_FSM,
153 SCN_REQ_SOURCE_ROAMING, /* ROAMING Module is independent of AIS FSM */
154 SCN_REQ_SOURCE_OBSS, /* 2.4G OBSS scan */
156 } ENUM_SCN_REQ_SOURCE_T, *P_ENUM_SCN_REQ_SOURCE_T;
158 typedef enum _ENUM_SCAN_PROFILE_T {
159 SCAN_PROFILE_FULL = 0,
160 SCAN_PROFILE_PARTIAL,
162 SCAN_PROFILE_FULL_2G4,
164 } ENUM_SCAN_PROFILE_T, *P_ENUM_SCAN_PROFILE_T;
166 /*******************************************************************************
167 * P U B L I C D A T A
168 ********************************************************************************
171 /*******************************************************************************
172 * P R I V A T E D A T A
173 ********************************************************************************
176 /*******************************************************************************
178 ********************************************************************************
181 /*******************************************************************************
182 * F U N C T I O N D E C L A R A T I O N S
183 ********************************************************************************
186 /*******************************************************************************
188 ********************************************************************************
197 cnmScanRunEventScanRequest (
198 IN P_MSG_HDR_T prMsgHdr
202 cnmScanRunEventScanAbort (
203 IN P_MSG_HDR_T prMsgHdr
207 cnmScanProfileSelection (
212 cnmScanProcessStart (
222 cnmScanRunEventReqAISAbsDone (
223 IN P_MSG_HDR_T prMsgHdr
227 cnmScanRunEventCancelAISAbsDone (
228 IN P_MSG_HDR_T prMsgHdr
232 cnmScanPartialScanTimeout (
237 cnmScanRunEventScnFsmComplete (
238 IN P_MSG_HDR_T prMsgHdr
244 #endif /* _CNM_SCAN_H */