• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * ScanMngrDbg.c
3  *
4  * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  *  * Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  *  * Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in
15  *    the documentation and/or other materials provided with the
16  *    distribution.
17  *  * Neither the name Texas Instruments nor the names of its
18  *    contributors may be used to endorse or promote products derived
19  *    from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  */
33 
34 /** \file ScanMngrDbg.c
35  *  \brief This file include the scan manager debug module implementation
36  *  \
37  *  \date 29-March-2005
38  */
39 
40 #include "tidef.h"
41 #include "report.h"
42 #include "paramOut.h"
43 #include "scanMngr.h"
44 #include "ScanMngrDbg.h"
45 #include "siteMgrApi.h"
46 #include "DataCtrl_Api.h"
47 
48 
49 /**
50  * \\n
51  * \date 29-March-2005\n
52  * \brief Main scan manager debug function
53  *
54  * Function Scope \e Public.\n
55  * \param hScanMngr - handle to the scan manager object.\n
56  * \param funcType - the specific debug function.\n
57  * \param pParam - parameters for the debug function.\n
58  * \param hSiteMgr - handle to th esite manager object.\n
59  * \param hCtrlData - handle to the data ctrl object.\n
60  */
scanMngrDebugFunction(TI_HANDLE hScanMngr,TI_UINT32 funcType,void * pParam,TI_HANDLE hSiteMgr,TI_HANDLE hCtrlData)61 void scanMngrDebugFunction( TI_HANDLE hScanMngr, TI_UINT32 funcType, void *pParam, TI_HANDLE hSiteMgr, TI_HANDLE hCtrlData )
62 {
63   	switch (funcType)
64 	{
65 	case DBG_SCAN_MNGR_PRINT_HELP:
66 		printScanMngrDbgFunctions();
67 		break;
68 
69 	case DBG_SCAN_MNGR_START_CONT_SCAN:
70 		startContScan( hScanMngr, hSiteMgr, hCtrlData );
71 		break;
72 
73 	case DBG_SCAN_MNGR_STOP_CONT_SCAN:
74 		scanMngr_stopContScan( hScanMngr );
75 		break;
76 
77     case DBG_SCAN_MNGR_START_IMMED_SCAN:
78         scanMngr_startImmediateScan( hScanMngr, (1 == *((TI_INT32*)pParam) ? TI_TRUE : TI_FALSE) );
79         break;
80 
81     case DBG_SCAN_MNGR_STOP_IMMED_SCAN:
82         scanMngr_stopImmediateScan( hScanMngr );
83         break;
84 
85     case DBG_SCAN_MNGR_PRINT_TRACK_LIST:
86         scanMngrDebugPrintBSSList( hScanMngr );
87         break;
88 
89     case DBG_SCAN_MNGR_PRINT_STATS:
90         scanMngr_statsPrint( hScanMngr );
91         break;
92 
93     case DBG_SCAN_MNGR_RESET_STATS:
94         scanMngr_statsReset( hScanMngr );
95         break;
96 
97     case DBG_SCAN_MNGR_PIRNT_NEIGHBOR_APS:
98         scanMngrDebugPrintNeighborAPList( hScanMngr );
99         break;
100 
101     case DBG_SCAN_MNGR_PRINT_POLICY:
102         scanMngrTracePrintScanPolicy( &(((scanMngr_t*)hScanMngr)->scanPolicy) );
103         break;
104 
105     case DBG_SCAN_MNGR_PRINT_OBJECT:
106         scanMngrDebugPrintObject( hScanMngr );
107         break;
108 
109     default:
110 		WLAN_OS_REPORT(("Invalid function type in scan manager debug function: %d\n", funcType));
111 		break;
112 	}
113 }
114 
115 /**
116  * \\n
117  * \date 29-March-2005\n
118  * \brief Prints scan manager debug menu
119  *
120  * Function Scope \e Public.\n
121  */
printScanMngrDbgFunctions(void)122 void printScanMngrDbgFunctions(void)
123 {
124     WLAN_OS_REPORT(("   Scan Manager Debug Functions   \n"));
125 	WLAN_OS_REPORT(("---------------------------------------\n"));
126 	WLAN_OS_REPORT(("1500 - Print the scan manager Debug Help\n"));
127 	WLAN_OS_REPORT(("1501 - Start continuous scan\n"));
128 	WLAN_OS_REPORT(("1502 - Stop continuous scan\n"));
129     WLAN_OS_REPORT(("1503 - Start immediate scan\n"));
130     WLAN_OS_REPORT(("1504 - Stop immediate scan\n"));
131     WLAN_OS_REPORT(("1505 - Print tracking list\n"));
132     WLAN_OS_REPORT(("1506 - Print statistics\n"));
133     WLAN_OS_REPORT(("1507 - Reset statistics\n"));
134     WLAN_OS_REPORT(("1508 - Print neighbor APs list\n"));
135     WLAN_OS_REPORT(("1509 - Print Scan Policy\n"));
136     WLAN_OS_REPORT(("1510 - Print scan manager object\n"));
137 }
138 
139 /**
140  * \\n
141  * \date 29-March-2005\n
142  * \brief Starts continuous scan process.\n
143  *
144  * Function Scope \e Public.\n
145  * \param hScanMngr - handle to the scan manager object.\n
146  * \param hSiteMgr - handle to the site manager object.\n\
147  * \param hCtrlData - handle to the data ctrl object.\n
148  */
startContScan(TI_HANDLE hScanMngr,TI_HANDLE hSiteMgr,TI_HANDLE hCtrlData)149 void startContScan( TI_HANDLE hScanMngr, TI_HANDLE hSiteMgr, TI_HANDLE hCtrlData )
150 {
151     paramInfo_t param;
152     ERadioBand  radioBand;
153 
154     /* get current band */
155     param.paramType = SITE_MGR_RADIO_BAND_PARAM;
156     siteMgr_getParam( hSiteMgr, &param );
157     radioBand = param.content.siteMgrRadioBand;
158 
159     /* get current BSSID */
160 	param.paramType = CTRL_DATA_CURRENT_BSSID_PARAM;
161 	ctrlData_getParam( hCtrlData, &param );
162 
163     /* start continuous scan */
164     scanMngr_startContScan( hScanMngr, &(param.content.ctrlDataCurrentBSSID), radioBand );
165 }
166 
167