1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **| |**
4 **| Copyright(c) 1998 - 2008 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 ****************************************************************************/
35
36 #undef BINARY_COMPATIBLE
37 #define BINARY_COMPATIBLE 0
38
39 #ifdef _WINDOWS
40 #endif
41
42 #include "osAdapter.h"
43 #include "tiioctl.h"
44 #include "paramOut.h"
45 #include "osUtil.h"
46 #include "srcApi.h"
47 #include "configMgr.h"
48 #include "TNETW_Driver_api.h"
49
50 #ifdef GWSI_DRIVER
51 #include "gwsi_tester_parser.h"
52 #endif
53
54 #include "IPCKernelApi.h"
55
56 #ifdef TI_DBG
57 #ifndef TIWLAN_MSM7000
58 #include "debug.h"
59 #endif
60 #endif
61
62 TI_STATUS report_setParam(TI_HANDLE hReport, whalParamInfo_t *pParam );
63 TI_STATUS report_getParam(TI_HANDLE hReport, whalParamInfo_t *pParam );
64
65 NTSTATUS
DispatchCommand(PTIWLN_ADAPTER_T pAdapter,ULONG ioControlCode,PULONG outBufLen,ULONG inBufLen,PVOID ioBuffer,PUINT8 pIoCompleteFlag)66 DispatchCommand(
67 PTIWLN_ADAPTER_T pAdapter,
68 ULONG ioControlCode,
69 PULONG outBufLen,
70 ULONG inBufLen,
71 PVOID ioBuffer,
72 PUINT8 pIoCompleteFlag
73 )
74 {
75 NTSTATUS ntStatus = STATUS_SUCCESS;
76
77 #ifdef TI_DBG
78 whalParamInfo_t param;
79 #endif
80
81 /*BOOL builtInStatus;*/
82 /**/
83 /* Block entrance from utility to the driver when the recovery is in progress */
84 /* UtilDriverBuiltInTestStsGet(pAdapter, &builtInStatus, sizeof(builtInStatus));*/
85 /* if(builtInStatus)*/
86 /* return STATUS_INVALID_PARAMETER;*/
87
88 // os_protectLock(pAdapter, pAdapter->SystemProtect); /* Bug. Replaced with the line below -- MCS00035801 */
89 /* Dm: os_protectLock(( (configMgr_t *)(pAdapter->CoreHalCtx) )->hOs, pAdapter->SystemProtect); */
90
91
92 /* Initialiaze to TRUE all IOCTL's : Only in few cases there will be IOCTL that will
93 be implemented ar REALread from FW and then will have their completion callback later called */
94 *pIoCompleteFlag = TRUE;
95
96 switch(ioControlCode) {
97 case TIWLN_802_11_ENABLE_EVENT:
98 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ENABLE_EVENT.\n");
99 ntStatus = configMgr_RegisterEvent(pAdapter->CoreHalCtx, ioBuffer, inBufLen);
100 break;
101
102 case TIWLN_802_11_DISABLE_EVENT:
103
104 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DISABLE_EVENT.\n");
105 #ifdef _WINDOWS
106 #else
107 ntStatus = configMgr_UnRegisterEvent(pAdapter->CoreHalCtx, *(TI_HANDLE*)ioBuffer);
108 #endif
109 break;
110
111 #ifdef _WINDOWS
112 #endif
113 case TIWLN_GET_SW_VERSION:
114 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_GET_SW_VERSION.\n");
115 ntStatus = UtilGetSwVersion(pAdapter, ioBuffer, outBufLen);
116 break;
117
118 case TIWLN_802_11_BSSID_GET:
119 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_BSSID_GET.\n");
120 ntStatus = UtilGetBSSID(pAdapter, ioBuffer, outBufLen);
121 break;
122
123 case TIWLN_802_11_BSSID_SET:
124 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_BSSID_SET.\n");
125 ntStatus = UtilSetBSSID(pAdapter, ioBuffer, inBufLen);
126 break;
127
128 case TIWLN_802_11_SSID_GET:
129 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SSID_GET.\n");
130 ntStatus = UtilGetSSID(pAdapter, ioBuffer, outBufLen);
131 break;
132
133 case TIWLN_802_11_SSID_SET:
134 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SSID_SET.\n");
135 ntStatus = UtilSetSSID(pAdapter, ioBuffer, inBufLen);
136 break;
137
138 case TIWLN_802_11_DISASSOCIATE:
139 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DISASSOCIATE.\n");
140 ntStatus = UtilDisassociate(pAdapter, ioBuffer, inBufLen);
141 break;
142
143 case TIWLN_802_11_NETWORK_TYPES_SUPPORTED:
144 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_NETWORK_TYPES_SUPPORTED.\n");
145 ntStatus = UtilNetworkTypesSupported(pAdapter, ioBuffer, outBufLen);
146 break;
147
148 case TIWLN_802_11_NETWORK_TYPE_IN_USE_GET:
149 PRINT(DBG_IOCTL, "...IOCTL TIWLN_802_11_NETWORK_TYPE_IN_USE_GET.\n");
150 ntStatus = UtilNetworkTypeInUseGet(pAdapter, ioBuffer, outBufLen);
151 break;
152
153 case TIWLN_802_11_NETWORK_TYPE_IN_USE_SET:
154 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_NETWORK_TYPE_IN_USE_SET.\n");
155 break;
156
157 case TIWLN_802_11_POWER_MODE_SET:
158 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_MODE_SET.\n");
159 ntStatus = UtilPowerModeSet(pAdapter, ioBuffer, inBufLen);
160 break;
161
162 case TIWLN_802_11_POWER_MODE_GET:
163 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_MODE_GET.\n");
164 ntStatus = UtilPowerModeGet(pAdapter, ioBuffer, outBufLen);
165 break;
166
167 case TIWLN_802_11_POWER_LEVEL_PS_GET:
168 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_LEVEL_PS_GET.\n");
169 ntStatus = UtilPowerLevelPSGet(pAdapter, ioBuffer, outBufLen);
170 break;
171
172 case TIWLN_802_11_POWER_LEVEL_PS_SET:
173 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_LEVEL_PS_SET.\n");
174 ntStatus = UtilPowerLevelPSSet(pAdapter, ioBuffer, outBufLen);
175 break;
176
177 case TIWLN_802_11_POWER_LEVEL_DEFAULT_GET:
178 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_LEVEL_DEFAULT_GET.\n");
179 ntStatus = UtilPowerLevelDefaultGet(pAdapter, ioBuffer, outBufLen);
180 break;
181
182 case TIWLN_802_11_POWER_LEVEL_DEFAULT_SET:
183 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_LEVEL_DEFAULT_SET.\n");
184 ntStatus = UtilPowerLevelDefaultSet(pAdapter, ioBuffer, outBufLen);
185 break;
186
187 case TIWLN_802_11_POWER_LEVEL_DOZE_MODE_GET:
188 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_LEVEL_DOZE_MODE_GET.\n");
189 ntStatus = UtilPowerLevelDozeModeGet(pAdapter, ioBuffer, outBufLen);
190 break;
191
192 case TIWLN_802_11_POWER_LEVEL_DOZE_MODE_SET:
193 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_LEVEL_DOZE_MODE_SET.\n");
194 ntStatus = UtilPowerLevelDozeModeSet(pAdapter, ioBuffer, outBufLen);
195 break;
196
197 case TIWLN_802_11_BEACON_FILTER_DESIRED_STATE_SET:
198 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_BEACON_FILTER_DESIRED_STATE_SET.\n");
199 ntStatus = UtilBeaconFilterDesiredStateSet(pAdapter, ioBuffer, outBufLen);
200 break;
201
202 case TIWLN_802_11_BEACON_FILTER_DESIRED_STATE_GET:
203 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_BEACON_FILTER_DESIRED_STATE_GET.\n");
204 ntStatus = UtilBeaconFilterDesiredStateGet(pAdapter, ioBuffer, outBufLen);
205 break;
206
207 case TIWLN_802_11_SET_TRAFFIC_INTENSITY_THRESHOLDS:
208 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_TRAFFIC_INTENSITY_THRESHOLDS.\n");
209 ntStatus = UtilSetTrafficIntensityThresholds(pAdapter, ioBuffer, inBufLen);
210 break;
211 case TIWLN_802_11_GET_TRAFFIC_INTENSITY_THRESHOLDS:
212 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_TRAFFIC_INTENSITY_THRESHOLDS.\n");
213 ntStatus = UtilGetTrafficIntensityThresholds(pAdapter, ioBuffer, outBufLen);
214 break;
215
216 case TIWLN_802_11_TOGGLE_TRAFFIC_INTENSITY_EVENTS:
217 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_TOGGLE_TRAFFIC_INTENSITY_EVENTS.\n");
218 ntStatus = UtilToggleTrafficIntensityEvents(pAdapter, ioBuffer, inBufLen);
219 break;
220
221 /* TBD: CAN BE REMOVED ??? */
222 case TIWLN_802_11_POWER_MGR_PROFILE:
223 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POWER_MGR_PROFILE.\n");
224 ntStatus = UtilPowerModeSet(pAdapter, ioBuffer, inBufLen);
225 break;
226
227 case TIWLN_802_11_TX_POWER_LEVEL_GET:
228 PRINT(DBG_IOCTL, "...IOCTL TIWLN_802_11_TX_POWER_LEVEL_GET.\n");
229 ntStatus = UtilGetTxPowerLevel (pAdapter, ioBuffer, outBufLen);
230 break;
231
232 case TIWLN_802_11_TX_POWER_DBM_GET:
233 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_TX_POWER_DBM_GET.\n");
234 ntStatus = UtilTxPowerLevelDbmGet (pAdapter, ioBuffer, outBufLen);
235 break;
236
237 case TIWLN_802_11_TX_POWER_DBM_SET:
238 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_TX_POWER_DBM_SET.\n");
239 ntStatus = UtilSetTxPowerDbm (pAdapter, ioBuffer, inBufLen);
240 break;
241
242 /*************************************************************************
243 **** RSSI :Real Read from FW asynchronous then init the flag to False ***
244 ***** The completion will happen when the Completion ***
245 ***** Callback IoctlCompleteCB function is called ***
246 *************************************************************************/
247 case TIWLN_802_11_RSSI:
248 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_RSSI.\n");
249 *pIoCompleteFlag = FALSE;
250 ntStatus = UtilGetAsyncCurrentRssiLevel (pAdapter, ioBuffer, outBufLen);
251
252 /* ntStatus = UtilGetCurrentRssiLevel (pAdapter, ioBuffer, outBufLen);*/
253 break;
254
255 case TIWLN_802_11_SNR:
256 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SNR.\n");
257 *pIoCompleteFlag = FALSE;
258 ntStatus = UtilGetAsyncCurrentSnrRatio (pAdapter, ioBuffer, outBufLen);
259 break;
260
261 /* TBD: REMOVE ???? */
262 case TIWLN_802_11_RSSI_TRIGGER_GET:
263 PRINT(DBG_IOCTL, "...IOCTL TIWLN_802_11_RSSI_TRIGGER_GET.\n");
264 *outBufLen = 4;
265 break;
266
267 /* TBD: REMOVE ???? */
268 case TIWLN_802_11_RSSI_TRIGGER_SET:
269 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_RSSI_TRIGGER_SET.\n");
270 *outBufLen = 4;
271 break;
272
273 case TIWLN_802_11_BSSID_LIST:
274 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_BSSID_LIST.\n");
275 ntStatus = UtilBssidListGet(pAdapter, ioBuffer, outBufLen, TRUE, FALSE);
276 break;
277
278 case TIWLN_802_11_FULL_BSSID_LIST:
279 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_FULL_BSSID_LIST.\n");
280 ntStatus = UtilBssidListGet(pAdapter, ioBuffer, outBufLen, TRUE, TRUE);
281 break;
282
283 case TIWLN_802_11_INFRASTRUCTURE_MODE_GET:
284 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_INFRASTRUCTURE_MODE_GET.\n");
285 ntStatus = UtilInfrastructureModeGet(pAdapter, ioBuffer, outBufLen);
286 break;
287
288 case TIWLN_802_11_INFRASTRUCTURE_MODE_SET:
289 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_INFRASTRUCTURE_MODE_SET.\n");
290 ntStatus = UtilInfrastructureModeSet(pAdapter, ioBuffer, inBufLen);
291 break;
292
293 case TIWLN_802_11_FRAGMENTATION_THRESHOLD_GET:
294 PRINT(DBG_IOCTL, "...IOCTL TIWLN_802_11_FRAGMENTATION_THRESHOLD_GET.\n");
295 ntStatus = UtilFragmentationThresholdGet(pAdapter, ioBuffer, outBufLen);
296 break;
297
298 case TIWLN_802_11_FRAGMENTATION_THRESHOLD_SET:
299 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_FRAGMENTATION_THRESHOLD_SET.\n");
300 ntStatus = UtilFragmentationThresholdSet(pAdapter, ioBuffer, inBufLen);
301 break;
302
303 case TIWLN_802_11_RTS_THRESHOLD_GET:
304 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_FRAGMENTATION_THRESHOLD_GET.\n");
305 ntStatus = UtilRtsThresholdGet(pAdapter, ioBuffer, outBufLen);
306 break;
307
308 case TIWLN_802_11_RTS_THRESHOLD_SET:
309 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_FRAGMENTATION_THRESHOLD_SET.\n");
310 ntStatus = UtilRtsThresholdSet(pAdapter, ioBuffer, inBufLen);
311 break;
312
313 case TIWLN_802_11_SUPPORTED_RATES:
314 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SUPPORTED_RATES.\n");
315 ntStatus = UtilSupportedRates(pAdapter, ioBuffer, outBufLen);
316 break;
317
318 case TIWLN_802_11_SUPPORTED_RATES_SET:
319 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SUPPORTED_RATES_SET.\n");
320 ntStatus = UtilSupportedRatesSet(pAdapter, ioBuffer, inBufLen);
321 break;
322
323 case TIWLN_802_11_DESIRED_RATES_GET:
324 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DESIRED_RATES_GET.\n");
325 ntStatus = UtilDesiredRatesGet(pAdapter, ioBuffer, outBufLen);
326 break;
327
328 case TIWLN_802_11_CURRENT_RATES_GET:
329 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DESIRED_RATES_GET.\n");
330 ntStatus = UtilCurrentRatesGet(pAdapter, ioBuffer, outBufLen);
331 break;
332
333 case TIWLN_802_11_STATISTICS:
334 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_STATISTICS.\n");
335 ntStatus = UtilStatistics(pAdapter, ioBuffer, outBufLen);
336 break;
337
338 case TIWLN_802_11_TX_STATISTICS:
339 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_TX_STATISTICS.\n");
340 ntStatus = UtilTxStatistics(pAdapter, ioBuffer, inBufLen, outBufLen);
341 break;
342
343 case TIWLN_802_11_ADD_WEP:
344 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ADD_WEP.\n");
345 ntStatus = UtilAddWep(pAdapter, ioBuffer, inBufLen, TRUE);
346 break;
347
348 case TIWLN_802_11_REMOVE_WEP:
349 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_REMOVE_WEP.\n");
350 ntStatus = UtilRemoveWep(pAdapter, ioBuffer, inBufLen);
351 break;
352
353 case TIWLN_802_11_WEP_STATUS_GET:
354 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_WEP_STATUS_GET.\n");
355 ntStatus = UtilWepStatusGet(pAdapter, ioBuffer, outBufLen);
356
357 switch (*(cipherSuite_e*)ioBuffer)
358 {
359 case RSN_CIPHER_NONE:
360 *(NDIS_802_11_WEP_STATUS*)ioBuffer = (NDIS_802_11_WEP_STATUS)os802_11WEPDisabled;
361 break;
362 case RSN_CIPHER_WEP:
363 *(NDIS_802_11_WEP_STATUS*)ioBuffer = (NDIS_802_11_WEP_STATUS)os802_11WEPEnabled;
364 break;
365 case RSN_CIPHER_TKIP:
366 *(NDIS_802_11_WEP_STATUS*)ioBuffer = (NDIS_802_11_WEP_STATUS)os802_11Encryption2Enabled;
367 break;
368 case RSN_CIPHER_AES_CCMP:
369 *(NDIS_802_11_WEP_STATUS*)ioBuffer = (NDIS_802_11_WEP_STATUS)os802_11Encryption3Enabled;
370 break;
371 default:
372 break;
373 }
374
375 break;
376
377 case TIWLN_802_11_WEP_STATUS_SET:
378 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_WEP_STATUS_SET.\n");
379
380 /* Convert from cipher suite to encryption status */
381
382 switch (*(NDIS_802_11_WEP_STATUS*)ioBuffer)
383 {
384 case os802_11WEPDisabled:
385 *(cipherSuite_e*)ioBuffer = RSN_CIPHER_NONE;
386 break;
387 case os802_11WEPEnabled:
388 *(cipherSuite_e*)ioBuffer = RSN_CIPHER_WEP;
389 break;
390 case os802_11Encryption2Enabled:
391 *(cipherSuite_e*)ioBuffer = RSN_CIPHER_TKIP;
392 break;
393 case os802_11Encryption3Enabled:
394 *(cipherSuite_e*)ioBuffer = RSN_CIPHER_AES_CCMP;
395 break;
396 default:
397 break;
398 }
399
400 ntStatus = UtilWepStatusSet(pAdapter, ioBuffer, inBufLen);
401 break;
402
403 case TIWLN_802_11_EAP_TYPE_GET:
404 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: TIWLN_802_11_EAP_TYPE_GET\n");
405 ntStatus = Util802EapTypeGet(pAdapter, ioBuffer, outBufLen);
406 break;
407
408 case TIWLN_802_11_EAP_TYPE_DRIVER_SET:
409 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: TIWLN_802_11_EAP_TYPE_DRIVER_SET\n");
410 ntStatus = Util802EapTypeSet(pAdapter, ioBuffer, inBufLen);
411 break;
412
413 /* WPA2 start */
414
415 case TIWLN_802_11_PMKID_GET:
416 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: OID_802_11_PMKID GET\n");
417 ntStatus = Util802PmkidGet(pAdapter, ioBuffer, outBufLen);
418 break;
419
420 case TIWLN_802_11_PMKID_SET:
421 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: OID_802_11_PMKID SET\n");
422 ntStatus = Util802PmkidSet(pAdapter, ioBuffer, inBufLen);
423 break;
424
425 case TIWLN_802_11_CAPABILITY_GET:
426 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: TIWLN_802_11_CAPABILITY_GET \n");
427 ntStatus = Util802CapabilityGet(pAdapter, ioBuffer, outBufLen);
428 break;
429
430 case TIWLN_802_11_AVAILABLE_OPTIONS_GET:
431 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: TIWLN_802_11_AVAILABLE_OPTIONS_GET \n");
432 ntStatus = Util802FSWAvailableOptionsGet(pAdapter, ioBuffer, outBufLen);
433 break;
434
435 case TIWLN_802_11_WPA_OPTIONS_GET:
436 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: TIWLN_802_11_WPA_OPTIONS_GET\n");
437 ntStatus = Util802FSWOptionsGet(pAdapter, ioBuffer, outBufLen);
438 break;
439
440 case TIWLN_802_11_WPA_OPTIONS_SET:
441 PRINT(DBG_NDIS_OIDS_LOUD, "TIWL: TIWLN_802_11_WPA_OPTIONS_SET\n");
442 ntStatus = Util802FSWOptionsSet(pAdapter, ioBuffer, inBufLen);
443 break;
444
445 /* wpa2 - end */
446
447 case TIWLN_802_11_AUTHENTICATION_MODE_GET:
448 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_AUTHENTICATION_MODE_GET.\n");
449 ntStatus = UtilExtAuthenticationModeGet(pAdapter, ioBuffer, outBufLen);
450 break;
451
452 case TIWLN_802_11_AUTHENTICATION_MODE_SET:
453 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_AUTHENTICATION_MODE_SET.\n");
454 ntStatus = UtilExtAuthenticationModeSet(pAdapter, ioBuffer, inBufLen);
455 break;
456
457 case TIWLN_802_11_NUMBER_OF_ANTENNAS:
458 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_NUMBER_OF_ANTENNAS.\n");
459 ntStatus = UtilNumberOfAntennas(pAdapter, ioBuffer, outBufLen);
460 break;
461
462 case TIWLN_802_11_RX_ANTENNA_SELECTED_GET:
463 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_RX_ANTENNA_SELECTED_GET.\n");
464 ntStatus = UtilRxAntennaGet(pAdapter, ioBuffer, outBufLen);
465 break;
466
467 case TIWLN_802_11_RX_ANTENNA_SELECTED_SET:
468 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_RX_ANTENNA_SELECTED_SET.\n");
469 ntStatus = UtilRxAntennaSet(pAdapter, ioBuffer, inBufLen);
470 break;
471
472 case TIWLN_802_11_TX_ANTENNA_SELECTED_GET:
473 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_TX_ANTENNA_SELECTED_GET.\n");
474 ntStatus = UtilTxAntennaGet(pAdapter, ioBuffer, outBufLen);
475 break;
476
477 case TIWLN_802_11_TX_ANTENNA_SELECTED_SET:
478 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_TX_ANTENNA_SELECTED_SET.\n");
479 ntStatus = UtilTxAntennaSet(pAdapter, ioBuffer, inBufLen);
480 break;
481
482 case TIWLAN_802_11_ANTENNA_DIVERSITY_PARAM_SET:
483 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLAN_802_11_ANTENNA_DIVERSITY_PARAM_SET.\n");
484 ntStatus = UtilAntennaDivresitySet(pAdapter, ioBuffer, inBufLen);
485 break;
486
487 case TIWLN_802_11_DESIRED_CHANNEL_GET:
488 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DESIRED_CHANNEL_GET.\n");
489 ntStatus = UtilDesiredChannelGet(pAdapter, ioBuffer, outBufLen);
490 break;
491
492 case TIWLN_802_11_DESIRED_CHANNEL_SET:
493 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DESIRED_CHANNEL_SET.\n");
494 ntStatus = UtilDesiredChannelSet(pAdapter, ioBuffer, inBufLen);
495 break;
496
497 case TIWLN_802_11_SHORT_PREAMBLE_GET:
498 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SHORT_PREAMBLE_GET.\n");
499 ntStatus = UtilShortPreambleGet(pAdapter, ioBuffer, outBufLen);
500 break;
501
502 case TIWLN_802_11_SHORT_PREAMBLE_SET:
503 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SHORT_PREAMBLE_SET.\n");
504 ntStatus = UtilShortPreambleSet(pAdapter, ioBuffer, inBufLen);
505 break;
506
507 case TIWLN_CURRENT_REGDOMAIN_GET:
508 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_CURRENT_REGDOMAIN_GET.\n");
509 ntStatus = UtilCurrentRegDomainGet(pAdapter, ioBuffer, outBufLen);
510 break;
511
512 case TIWLN_REG_DOMAIN_ENABLE_DISABLE_802_11D:
513 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_ENABLE_DISABLE_802_11D.\n");
514 ntStatus = UtilRegulatoryDomain_enableDisable_802_11d(pAdapter, ioBuffer, inBufLen);
515 break;
516
517 case TIWLN_REG_DOMAIN_ENABLE_DISABLE_802_11H:
518 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_ENABLE_DISABLE_802_11H.\n");
519 ntStatus = UtilRegulatoryDomain_enableDisable_802_11h(pAdapter, ioBuffer, inBufLen);
520 break;
521
522 case TIWLN_REG_DOMAIN_GET_802_11D:
523 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_GET_802_11D.\n");
524 ntStatus = UtilRegulatoryDomain_Get_802_11d(pAdapter, ioBuffer, outBufLen);
525 break;
526
527 case TIWLN_REG_DOMAIN_GET_802_11H:
528 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_GET_802_11D.\n");
529 ntStatus = UtilRegulatoryDomain_Get_802_11h(pAdapter, ioBuffer, outBufLen);
530 break;
531
532 case TIWLN_REG_DOMAIN_SET_COUNTRY_2_4:
533 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_SET_COUNTRY_2_4.\n");
534 ntStatus = UtilRegulatoryDomain_setCountryIE_2_4(pAdapter, ioBuffer, inBufLen);
535 break;
536
537 case TIWLN_REG_DOMAIN_GET_COUNTRY_2_4:
538 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_GET_COUNTRY_2_4.\n");
539 ntStatus = UtilRegulatoryDomain_getCountryIE_2_4(pAdapter, ioBuffer, outBufLen);
540 break;
541
542 case TIWLN_REG_DOMAIN_SET_COUNTRY_5:
543 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_SET_COUNTRY_5.\n");
544 ntStatus = UtilRegulatoryDomain_setCountryIE_5(pAdapter, ioBuffer, inBufLen);
545 break;
546
547 case TIWLN_REG_DOMAIN_GET_COUNTRY_5:
548 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_GET_COUNTRY_5.\n");
549 ntStatus = UtilRegulatoryDomain_getCountryIE_5(pAdapter, ioBuffer, outBufLen);
550 break;
551
552 case TIWLN_REG_DOMAIN_SET_DFS_RANGE:
553 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_SET_DFS_RANGE.\n");
554 ntStatus = UtilRegulatoryDomain_setMinMaxDfsChannels(pAdapter, ioBuffer, inBufLen);
555 break;
556
557 case TIWLN_REG_DOMAIN_GET_DFS_RANGE:
558 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REG_DOMAIN_GET_DFS_RANGE.\n");
559 ntStatus = UtilRegulatoryDomain_getMinMaxDfsChannels(pAdapter, ioBuffer, outBufLen);
560 break;
561
562 case TIWLN_802_11_SHORT_RETRY_GET:
563 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SHORT_RETRY_GET.\n");
564 ntStatus = UtilShortRetryGet(pAdapter, ioBuffer, outBufLen);
565 break;
566
567 case TIWLN_802_11_SHORT_RETRY_SET:
568 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SHORT_RETRY_SET.\n");
569 ntStatus = UtilShortRetrySet(pAdapter, ioBuffer, inBufLen);
570 break;
571
572 case TIWLN_802_11_LONG_RETRY_GET:
573 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_LONG_RETRY_GET.\n");
574 ntStatus = UtilLongRetryGet(pAdapter, ioBuffer, outBufLen);
575 break;
576
577 case TIWLN_802_11_LONG_RETRY_SET:
578 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_LONG_RETRY_SET.\n");
579 ntStatus = UtilLongRetrySet(pAdapter, ioBuffer, inBufLen);
580 break;
581
582 case TIWLN_4XACTIVESTATE_GET:
583 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_4XACTIVESTATE_GET.\n");
584 ntStatus = Util4xActiveStateGet(pAdapter, ioBuffer, outBufLen);
585 break;
586
587 case TIWLN_802_11_DESIRED_SSID_GET:
588 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DESIRED_SSID_GET.\n");
589 ntStatus = UtilGetDesiredSSID(pAdapter, ioBuffer, outBufLen);
590 break;
591
592 case TIWLN_802_11_CHANNEL_GET:
593 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_CHANNEL_GET.\n");
594 ntStatus = UtilChannelGet(pAdapter, ioBuffer, outBufLen);
595 break;
596
597 case TIWLN_802_11_DESIRED_INFRASTRUCTURE_MODE:
598 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DESIRED_INFRASTRUCTURE_MODE.\n");
599 ntStatus = UtilDesiredInfrastructureModeGet(pAdapter, ioBuffer, outBufLen);
600 break;
601
602 case TIWLN_DRIVER_STATUS_GET:
603 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_DRIVER_STATUS_GET.\n");
604 ntStatus = UtilDriverStatusGet(pAdapter, ioBuffer, outBufLen);
605 break;
606
607 case TIWLN_DRIVER_STATUS_SET:
608 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_DRIVER_STATUS_SET.\n");
609 ntStatus = UtilDriverStatusSet(pAdapter, ioBuffer, inBufLen);
610 break;
611
612 case TIWLN_DRIVER_SUSPEND:
613 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_DRIVER_STATUS_SET.\n");
614 UtilDriverSuspend(pAdapter, ioBuffer, inBufLen);
615 break;
616
617 case TIWLN_IBSS_PROTECTION_GET:
618 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_IBSS_PROTECTION_GET.\n");
619 ntStatus = UtilIbssProtectionGet(pAdapter, ioBuffer, outBufLen);
620 break;
621
622 case TIWLN_IBSS_PROTECTION_SET:
623 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_IBSS_PROTECTION_GET.\n");
624 ntStatus = UtilIbssProtectionSet(pAdapter, ioBuffer, inBufLen);
625 break;
626
627 case TIWLN_SHORT_SLOT_GET:
628 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_SHORT_SLOT_GET.\n");
629 ntStatus = UtilShortSlotGet(pAdapter, ioBuffer, outBufLen);
630 break;
631
632 case TIWLN_SHORT_SLOT_SET:
633 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_SHORT_SLOT_SET.\n");
634 ntStatus = UtilShortSlotSet(pAdapter, ioBuffer, inBufLen);
635 break;
636
637 case TIWLN_EXT_RATES_IE_GET:
638 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_EXT_RATES_IE_GET.\n");
639 ntStatus = UtilExtRatesIeGet(pAdapter, ioBuffer, outBufLen);
640 break;
641
642 case TIWLN_EXT_RATES_IE_SET:
643 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_EXT_RATES_IE_SET.\n");
644 ntStatus = UtilExtRatesIeSet(pAdapter, ioBuffer, inBufLen);
645 break;
646
647 case TIWLN_802_11_REMOVE_KEY:
648 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_REMOVE_KEY\n");
649 ntStatus = UtilRemoveKey(pAdapter, ioBuffer, inBufLen);
650 break;
651
652 case TIWLN_802_11_ADD_KEY:
653 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ADD_KEY\n");
654 ntStatus = UtilAddKey(pAdapter, ioBuffer, inBufLen);
655 break;
656
657 case TIWLN_802_11_MIXED_MODE_SET:
658 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_MIXED_MODE_SET\n");
659 ntStatus = UtilSetMixedMode(pAdapter, ioBuffer, inBufLen);
660 break;
661
662 case TIWLN_802_11_MIXED_MODE_GET:
663 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_MIXED_MODE_GET\n");
664 ntStatus = UtilGetMixedMode(pAdapter, RSN_MIXED_MODE, ioBuffer, outBufLen);
665
666 break;
667 #ifdef EXC_MODULE_INCLUDED
668 case TIWLN_802_11_EXC_CONFIGURATION_SET:
669 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_CONFIGURATION_SET\n");
670 ntStatus = UtilExcConfigurationSet(pAdapter, ioBuffer, inBufLen);
671 break;
672
673 case TIWLN_802_11_EXC_CONFIGURATION_GET:
674 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_CONFIGURATION_GET\n");
675 ntStatus = UtilExcConfigurationGet(pAdapter, ioBuffer, outBufLen);
676 break;
677
678 case TIWLN_802_11_EXC_ROGUE_AP_DETECTED:
679 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_ROGUE_AP_DETECTED\n");
680 ntStatus = UtilExcRogueApDetectedSet(pAdapter, ioBuffer, inBufLen);
681 break;
682
683 case TIWLN_802_11_EXC_REPORT_ROGUE_APS:
684 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_REPORT_ROGUE_APS\n");
685 ntStatus = UtilExcReportRogueApSet(pAdapter, ioBuffer, inBufLen);
686 break;
687
688 case TIWLN_802_11_EXC_CCKM_REQUEST:
689 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_CCKM_REQUEST\n");
690 ntStatus = UtilExcCckmRequestSet(pAdapter, ioBuffer, inBufLen);
691 break;
692
693 case TIWLN_802_11_EXC_CCKM_RESULT:
694 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_CCKM_RESULT\n");
695 ntStatus = UtilExcCckmResultSet(pAdapter, ioBuffer, inBufLen);
696 break;
697
698 case TIWLN_802_11_EXC_NETWORK_EAP_SET:
699 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_NETWORK_EAP_SET\n");
700 ntStatus = UtilExcNetworkEapSet(pAdapter, ioBuffer, inBufLen);
701 break;
702
703 case TIWLN_802_11_EXC_NETWORK_EAP_GET:
704 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_NETWORK_EAP_GET\n");
705 ntStatus = UtilExcNetworkEapGet(pAdapter, ioBuffer, outBufLen);
706 break;
707 case TIWLN_802_11_EXC_AUTH_SUCCESS:
708 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_EXC_AUTH_SUCCESS\n");
709
710 *outBufLen = UtilExcAuthSuccessSet(pAdapter, ioBuffer, inBufLen);
711
712 break;
713 /******************** measurement *********************/
714
715 case TIWLN_802_11_MEASUREMENT_ENABLE_DISABLE_PARAMS_SET:
716 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_MEASUREMENT_MAX_DURATION_PARAMS_SET.\n");
717 ntStatus = UtilMeasurementEnableDisableParamsSet(pAdapter, ioBuffer, inBufLen);
718 break;
719
720 case TIWLN_802_11_MEASUREMENT_MAX_DURATION_PARAMS_SET:
721 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_MEASUREMENT_MAX_DURATION_PARAMS_SET.\n");
722 ntStatus = UtilMeasurementMaxDurationParamsSet(pAdapter, ioBuffer, inBufLen);
723 break;
724
725 #else
726
727 case TIWLN_802_11_EXC_CONFIGURATION_SET:
728 case TIWLN_802_11_EXC_CONFIGURATION_GET:
729 case TIWLN_802_11_EXC_ROGUE_AP_DETECTED:
730 case TIWLN_802_11_EXC_REPORT_ROGUE_APS:
731 case TIWLN_802_11_EXC_CCKM_REQUEST:
732 case TIWLN_802_11_EXC_CCKM_RESULT:
733 case TIWLN_802_11_EXC_NETWORK_EAP_SET:
734 case TIWLN_802_11_EXC_NETWORK_EAP_GET:
735 case TIWLN_802_11_EXC_AUTH_SUCCESS:
736 case TIWLN_802_11_MEASUREMENT_ENABLE_DISABLE_PARAMS_SET:
737 case TIWLN_802_11_MEASUREMENT_MAX_DURATION_PARAMS_SET:
738 PRINT(DBG_IOCTL_LOUD, "...EXC IOCTL NOT Supported.\n");
739 break;
740
741 #endif /* EXC_MODULE_INCLUDED */
742
743 /******************** QOS **********************/
744
745 case TIWLN_802_11_SET_QOS_PARAMS:
746 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_QOS_PARAMS.\n");
747 ntStatus = UtilQosSetParams(pAdapter, ioBuffer, inBufLen);
748 break;
749
750 case TIWLN_802_11_CONFIG_TX_CLASS:
751 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_CONFIG_TX_CLASS.\n");
752 ntStatus = UtilConfigTxClassifier(pAdapter,ioBuffer,inBufLen);
753 break;
754
755 case TIWLN_802_11_REMOVE_CLSFR_ENTRY:
756 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_REMOVE_CLSFR_ENTRY.\n");
757 ntStatus = UtilRemoveClassifierEntry(pAdapter,ioBuffer,inBufLen);
758 break;
759
760 case TIWLN_802_11_GET_CLSFR_TYPE:
761 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_CLSFR_TYPE.\n");
762 ntStatus = UtilGetClsfrType(pAdapter, ioBuffer, outBufLen);
763 break;
764
765 case TIWLN_802_11_GET_AP_QOS_PARAMS:
766 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_AP_QOS_PARAMS.\n");
767 ntStatus = UtilGetAPQosParams(pAdapter, ioBuffer, outBufLen);
768 break;
769
770 case TIWLN_802_11_GET_AP_QOS_CAPABILITIES:
771 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_AP_QOS_CAPABILITIES.\n");
772 ntStatus = UtilGetAPQosCapabilities(pAdapter, ioBuffer, outBufLen);
773 break;
774
775 case TIWLN_802_11_ADD_TSPEC:
776 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ADD_TSPEC.\n");
777 ntStatus = UtilAddTspec(pAdapter, ioBuffer, inBufLen);
778 break;
779
780 case TIWLN_802_11_GET_TSPEC_PARAMS:
781 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_TSPEC_PARAMS.\n");
782 ntStatus = UtilGetTspecParams(pAdapter, ioBuffer, outBufLen);
783 break;
784
785 case TIWLN_802_11_DELETE_TSPEC:
786 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_DELETE_TSPEC.\n");
787 ntStatus = UtilDeleteTspec(pAdapter, ioBuffer, inBufLen);
788 break;
789
790 case TIWLN_802_11_GET_CURRENT_AC_STATUS:
791 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_CURRENT_AC_STATUS.\n");
792 ntStatus = UtilGetCurrentAcStatus(pAdapter, ioBuffer, outBufLen);
793 break;
794
795 case TIWLN_802_11_SET_MEDIUM_USAGE_THRESHOLD:
796 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_MEDIUM_USAGE_THRESHOLD.\n");
797 ntStatus = UtilSetMediumUsageThreshold(pAdapter, ioBuffer, inBufLen);
798 break;
799
800 case TIWLN_802_11_SET_PHY_RATE_THRESHOLD:
801 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_PHY_RATE_THRESHOLD.\n");
802 ntStatus = UtilSetPhyRateThreshold(pAdapter, ioBuffer, inBufLen);
803 break;
804
805 case TIWLN_802_11_GET_MEDIUM_USAGE_THRESHOLD:
806 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_MEDIUM_USAGE_THRESHOLD.\n");
807 ntStatus = UtilGetMediumUsageThreshold(pAdapter, ioBuffer, outBufLen);
808 break;
809
810 case TIWLN_802_11_GET_PHY_RATE_THRESHOLD:
811 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_PHY_RATE_THRESHOLD.\n");
812 ntStatus = UtilGetPhyRateThreshold(pAdapter, ioBuffer, outBufLen);
813 break;
814
815 case TIWLN_802_11_GET_USER_PRIORITY_OF_STREAM:
816 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_USER_PRIORITY_OF_STREAM.\n");
817 ntStatus = UtilGetUserPriorityOfStream(pAdapter, ioBuffer, outBufLen);
818 break;
819
820 case TIWLN_802_11_GET_DESIRED_PS_MODE:
821 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_DESIRED_PS_MODE.\n");
822 ntStatus = UtilGetDesiredPsMode(pAdapter, ioBuffer, outBufLen);
823 break;
824
825 case TIWLN_802_11_POLL_AP_PACKETS:
826 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POLL_AP_PACKETS.\n");
827 ntStatus = UtilPollApPackets(pAdapter, ioBuffer, inBufLen);
828 break;
829
830 case TIWLN_802_11_POLL_AP_PACKETS_FROM_AC:
831 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_POLL_AP_PACKETS_FROM_AC.\n");
832 ntStatus = UtilPollApPacketsFromAC(pAdapter, ioBuffer, inBufLen);
833 break;
834
835 case TIWLN_802_11_CONFIG_EVENTS_RSSI:
836 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_CONFIG_EVENTS.\n");
837 ntStatus = UtilConfigRSSI(pAdapter, (UINT32) ioBuffer, inBufLen);
838 break;
839
840 case TIWLN_802_11_GET_DRIVERS_CAPABILITIES:
841 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_DRIVERS_CAPABILITIES.\n");
842 ntStatus = UtilGetDrvCapabilities(pAdapter, ioBuffer, outBufLen);
843 break;
844
845 case TIWLN_802_11_GET_SELECTED_BSSID_INFO:
846 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_SELECTED_BSSID_INFO.\n");
847 ntStatus = UtilGetSelectedBSSIDInfo(pAdapter, ioBuffer, outBufLen);
848 break;
849
850 case TIWLN_802_11_GET_PRIMARY_BSSID_INFO:
851 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_PRIMARY_BSSID_INFO.\n");
852 ntStatus = UtilGetPrimaryBSSIDInfo(pAdapter, ioBuffer, outBufLen);
853 break;
854
855 case TIWLN_802_11_GET_DRIVER_STATE:
856 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_DRIVER_STATE.\n");
857 ntStatus = UtilGetDriverState(pAdapter, ioBuffer, outBufLen);
858 break;
859
860 case TIWLN_802_11_SET_RX_TIMEOUT:
861 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_RX_TIMEOUT.\n");
862 ntStatus = UtilQosSetRxTimeOut(pAdapter, ioBuffer, inBufLen);
863 break;
864
865 case TIWLN_802_11_SET_DTAG_TO_AC_MAPPING_TABLE:
866 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_DTAG_TO_AC_MAPPING_TABLE.\n");
867 ntStatus = UtilSetDTagToAcMappingTable(pAdapter, ioBuffer, inBufLen);
868 break;
869
870 case TIWLN_802_11_SET_VAD:
871 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SET_VAD.\n");
872 ntStatus = UtilSetVAD(pAdapter, ioBuffer, inBufLen);
873 break;
874
875 case TIWLN_802_11_GET_VAD:
876 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_GET_VAD.\n");
877 ntStatus = UtilGetVAD(pAdapter, ioBuffer, outBufLen);
878 break;
879
880 /******************** scan *********************/
881
882 case TIWLN_802_11_START_APP_SCAN_SET:
883 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_START_APP_SCAN_SET.\n");
884 ntStatus = UtilStartAppScanSet(pAdapter, ioBuffer, inBufLen);
885 break;
886
887 case TIWLN_802_11_STOP_APP_SCAN_SET:
888 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_STOP_APP_SCAN_SET.\n");
889 ntStatus = UtilStopAppScanSet(pAdapter, ioBuffer, inBufLen);
890 break;
891
892 case TIWLN_802_11_SCAN_POLICY_PARAM_SET:
893 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_SCAN_POLICY_PARAM_SET.\n");
894 ntStatus = UtilScanPolicyParamSet(pAdapter, ioBuffer, inBufLen);
895 break;
896
897 case TIWLN_802_11_SCAN_BSS_LIST_GET:
898 PRINT(DBG_IOCTL_LOUD, "...TIWLN_802_11_SCAN_BSS_LIST_GET.\n");
899 ntStatus = UtilScanBssListGet(pAdapter, ioBuffer, outBufLen);
900 break;
901
902 /******************** Roaming *********************/
903
904 case TIWLN_802_11_ROAMING_CONFIG_PARAMS_SET:
905 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ROAMING_CONFIG_PARAMS_SET.\n");
906 ntStatus = UtilConfigRoamingParamsSet(pAdapter, ioBuffer, inBufLen);
907 break;
908
909 case TIWLN_802_11_ROAMING_CONFIG_PARAMS_GET:
910 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ROAMING_CONFIG_PARAMS_GET.\n");
911 ntStatus = UtilConfigRoamingParamsGet(pAdapter, ioBuffer, outBufLen);
912 break;
913
914 /******************** misc *********************/
915
916 case TIWLN_HW_READ_REGISTER:
917 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_HW_READ_REGISTER.\n");
918 ntStatus = UtilReadReg(pAdapter, ioBuffer, outBufLen);
919 break;
920
921 case TIWLN_HW_WRITE_REGISTER:
922 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_HW_WRITE_REGISTER.\n");
923 ntStatus = UtilWriteReg(pAdapter, ioBuffer, inBufLen);
924 break;
925
926 case TIWLN_802_3_CURRENT_ADDRESS:
927 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_3_CURRENT_ADDRESS.\n");
928 ntStatus = UtilGetMACAddress(pAdapter, ioBuffer, outBufLen);
929 break;
930
931 case TIWLN_802_11_ASSOCIATION_INFORMATION:
932 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_802_11_ASSOCIATION_INFORMATION.\n");
933 ntStatus = UtilAssociationInfoGet(pAdapter, ioBuffer, outBufLen);
934 break;
935
936 case TIWLN_IOCTL_OID_QUERY_INFORMATION:
937 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_IOCTL_OID_QUERY_INFORMATION.\n");
938 ntStatus = UtilInfoCodeQueryInformation(pAdapter, (PUCHAR)ioBuffer, outBufLen);
939 break;
940
941 case TIWLN_IOCTL_OID_SET_INFORMATION:
942 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_IOCTL_OID_SET_INFORMATION.\n");
943 ntStatus = UtilInfoCodeSetInformation(pAdapter, (PUCHAR)ioBuffer, inBufLen);
944 break;
945
946 case GWSI_GET_INIT_TABLE_COMMAND:
947 PRINT(DBG_IOCTL_LOUD, "...IOCTL GWSI_GET_INIT_TABLE_COMMAND.\n");
948 configMgr_GetInitParams (pAdapter->CoreHalCtx, (UINT8 *) ioBuffer, (UINT16 *) outBufLen);
949 break;
950
951 case BT_COEXSISTANCE_SET_ENABLE:
952 PRINT(DBG_IOCTL_LOUD, "...IOCTL BT_COEXSISTANCE_SET_ENABLE.\n");
953 ntStatus = UtilBthWlanCoeEnable(pAdapter, (PUCHAR)ioBuffer, inBufLen);
954 break;
955
956 case BT_COEXSISTANCE_SET_RATE:
957 PRINT(DBG_IOCTL_LOUD, "...IOCTL BT_COEXSISTANCE_SET_RATE.\n");
958 ntStatus = UtilBthWlanCoeRate(pAdapter, (PUCHAR)ioBuffer, inBufLen);
959 break;
960
961 case BT_COEXSISTANCE_SET_CONFIG:
962 PRINT(DBG_IOCTL_LOUD, "...IOCTL BT_COEXSISTANCE_SET_CONFIG.\n");
963 ntStatus = UtilBthWlanCoeConfig(pAdapter, (PUCHAR)ioBuffer, inBufLen);
964 break;
965
966 case BT_COEXSISTANCE_GET_STATUS:
967 PRINT(DBG_IOCTL_LOUD, "...IOCTL BT_COEXSISTANCE_GET_STATUS.\n");
968 ntStatus = UtilBthWlanCoeGetStatus(pAdapter, (PUCHAR)ioBuffer, outBufLen);
969 break;
970
971 case TIWLN_EARLY_WAKEUP_IE_SET:
972 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_EARLY_WAKEUP_IE_SET.\n");
973 ntStatus = UtilEarlyWakeupIeSet(pAdapter, (PUCHAR)ioBuffer, inBufLen);
974 break;
975
976 case TIWLN_EARLY_WAKEUP_IE_GET:
977 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_EARLY_WAKEUP_IE_GET.\n");
978 ntStatus = UtilEarlyWakeupIeGet(pAdapter, (PUCHAR)ioBuffer, outBufLen);
979 break;
980
981 #ifdef TI_DBG
982
983 case TIWLN_GET_DEBUG_FLAG:
984 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_GET_DEBUG_FLAG.\n");
985 *(PULONG)ioBuffer = TiDebugFlag;
986 break;
987
988 case TIWLN_SET_DEBUG_FLAG:
989 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_SET_DEBUG_FLAG - %#lX.\n", *(PULONG)ioBuffer));
990 TiDebugFlag = *(PULONG)ioBuffer;
991 break;
992
993 case TIWLN_DISPLAY_STATS:
994 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_DISPLAY_STATS. Code:%lu Data:%lu\n", *(PULONG)ioBuffer, *(PULONG)((PUCHAR)ioBuffer+4)));
995 debugFunction(pAdapter->CoreHalCtx, *(PULONG)ioBuffer, ((PUCHAR)ioBuffer+4));
996 break;
997
998 case TIWLN_REPORT_MODULE_GET:
999 case TIWLN_GET_MODULE:
1000 PRINT(DBG_IOCTL_LOUD, "...TIWLN_GET_MODULE\n");
1001 param.paramType = REPORT_MODULE_TABLE_PARAM;
1002 report_getParam(((configMgr_t *)pAdapter->CoreHalCtx)->hReport, ¶m);
1003
1004 os_memoryCopy(NULL, ioBuffer, param.content.ModuleTable, sizeof(param.content.ModuleTable));
1005 *outBufLen = sizeof(param.content.ModuleTable);
1006 break;
1007
1008 case TIWLN_REPORT_MODULE_SET:
1009 case TIWLN_SET_MODULE:
1010 PRINTF(DBG_IOCTL_LOUD, ("...TIWLN_SET_MODULE\n"));
1011 param.paramType = REPORT_MODULE_TABLE_PARAM;
1012 os_memoryCopy(NULL, param.content.ModuleTable, ioBuffer, sizeof(param.content.ModuleTable));
1013
1014 report_setParam(((configMgr_t *)pAdapter->CoreHalCtx)->hReport, ¶m);
1015 *outBufLen = 0;
1016 break;
1017
1018 case TIWLN_REPORT_SEVERITY_SET:
1019 case TIWLN_SET_SEVERITY:
1020 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_SET_SEVERITY - %#lX\n", *(PULONG)ioBuffer));
1021 param.paramType = REPORT_SEVERITY_TABLE_PARAM;
1022 os_memoryCopy(NULL, param.content.SeverityTable, ioBuffer, sizeof(param.content.SeverityTable));
1023
1024 report_setParam(((configMgr_t *)pAdapter->CoreHalCtx)->hReport, ¶m);
1025 *outBufLen = 0;
1026 break;
1027
1028 case TIWLN_REPORT_SEVERITY_GET:
1029 case TIWLN_GET_SEVERITY:
1030 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_GET_SEVERITY (%X)\n",
1031 TIWLN_GET_SEVERITY));
1032 param.paramType = REPORT_SEVERITY_TABLE_PARAM;
1033 report_getParam(((configMgr_t *)pAdapter->CoreHalCtx)->hReport, ¶m);
1034 os_memoryCopy(NULL, ioBuffer, param.content.SeverityTable, sizeof(param.content.SeverityTable));
1035
1036 *outBufLen = sizeof(param.content.SeverityTable);
1037 break;
1038
1039 case TIWLN_REPORT_PPMODE_SET:
1040 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_SET_PPMODE - %#lX\n", *(PULONG)ioBuffer));
1041 param.paramType = REPORT_PPMODE_VALUE_PARAM;
1042 *(PULONG)¶m.content = *(PULONG)ioBuffer;
1043 report_setParam(((configMgr_t *)pAdapter->CoreHalCtx)->hReport, ¶m);
1044 *outBufLen = 0;
1045 break;
1046
1047 case TIWLN_OS_DBG_STATE_GET:
1048 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_OS_DBG_STATE_GET - %#lX\n", *(PULONG)ioBuffer));
1049 param.paramType = REPORT_OS_DBG_STATE_VALUE_PARAM;
1050 param.content.osDbgState = TiDebugFlag;
1051 *outBufLen = sizeof(param.content.osDbgState);
1052 break;
1053
1054 case TIWLN_OS_DBG_STATE_SET:
1055 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_OS_DBG_STATE_SET - %#lX\n", *(PULONG)ioBuffer));
1056 param.paramType = REPORT_OS_DBG_STATE_VALUE_PARAM;
1057 *(PULONG)¶m.content = *(PULONG)ioBuffer;
1058 TiDebugFlag = param.content.osDbgState;
1059 *outBufLen = 0;
1060 break;
1061
1062
1063 #endif
1064 case SET_IPC_EVENT_HANDLE:
1065 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL SET_IPC_EVENT_HANDLE (%X).\n",SET_IPC_EVENT_HANDLE));
1066 *outBufLen = 0;
1067 ntStatus = IPCKernelInit(pAdapter,ioBuffer);
1068
1069 break;
1070
1071 case DESTROY_IPC_EVENT_HANDLE:
1072 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL DESTROY_IPC_EVENT_HANDLE (%X).\n",DESTROY_IPC_EVENT_HANDLE));
1073 *outBufLen = 0;
1074
1075 IPCKernelDeInit(pAdapter);
1076
1077 /*KeSetEvent (pAdapter->IPC.pRxIPCEvent, 0, FALSE) ;*/
1078 /* KeClearEvent (pAdapter->pRxIPCEvent) ;*/
1079 break;
1080
1081 case TIWLN_ENABLE_DISABLE_RX_DATA_FILTERS:
1082 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_ENABLE_DISABLE_RX_DATA_FILTERS.\n");
1083 ntStatus = UtilEnableDisableRxDataFilters(pAdapter, ioBuffer, inBufLen);
1084 break;
1085
1086 case TIWLN_GET_RX_DATA_FILTERS_STATISTICS:
1087 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_GET_RX_DATA_FILTERS_STATISTICS.\n");
1088 *pIoCompleteFlag = FALSE;
1089 ntStatus = UtilGetRxDataFiltersStatistics(pAdapter, ioBuffer, outBufLen);
1090 break;
1091
1092 case TIWLN_ADD_RX_DATA_FILTER:
1093 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_ADD_RX_DATA_FILTER.\n");
1094 ntStatus = UtilAddRxDataFilter(pAdapter, ioBuffer, inBufLen);
1095 break;
1096
1097 case TIWLN_REMOVE_RX_DATA_FILTER:
1098 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_REMOVE_RX_DATA_FILTER.\n");
1099 ntStatus = UtilRemoveRxDataFilter(pAdapter, ioBuffer, inBufLen);
1100 break;
1101
1102 case TIWLN_GET_POWER_CONSUMPTION_STATISTICS:
1103 PRINT(DBG_IOCTL_LOUD, "...IOCTL TIWLN_GET_POWER_CONSUMPTION_STATISTICS.\n");
1104 *pIoCompleteFlag = FALSE;
1105 ntStatus = UtilGetPowerConsumptionStatistics(pAdapter, ioBuffer, outBufLen);
1106 break;
1107
1108 /* PLT*/
1109 case TIWLN_PLT_WRITE_REGISTER:
1110 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_WRITE_REGISTER (%X).\n", TIWLN_PLT_WRITE_REGISTER));
1111 ntStatus = UtilPltWriteRegister(pAdapter, ioBuffer, inBufLen);
1112 break;
1113
1114 case TIWLN_PLT_READ_REGISTER:
1115 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_READ_REGISTER (%X).\n", TIWLN_PLT_READ_REGISTER));
1116 *pIoCompleteFlag = FALSE;
1117 ntStatus = UtilPltReadRegister(pAdapter, ioBuffer, outBufLen);
1118 break;
1119
1120 case TIWLN_PLT_RX_PER_START:
1121 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_PER_START (%X).\n", TIWLN_PLT_RX_PER_START));
1122 ntStatus = UtilPltRxPerStart(pAdapter, ioBuffer, inBufLen);
1123 break;
1124
1125 case TIWLN_PLT_RX_PER_STOP:
1126 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_PER_STOP (%X).\n", TIWLN_PLT_RX_PER_STOP));
1127 ntStatus = UtilPltRxPerStop(pAdapter, ioBuffer, inBufLen);
1128 break;
1129
1130 case TIWLN_PLT_RX_PER_CLEAR:
1131 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_PER_CLEAR (%X).\n", TIWLN_PLT_RX_PER_CLEAR));
1132 ntStatus = UtilPltRxPerClear(pAdapter, ioBuffer, inBufLen);
1133 break;
1134
1135 case TIWLN_PLT_RX_PER_GET_RESULTS:
1136 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_PER_GET_RESULTS (%X).\n", TIWLN_PLT_RX_PER_GET_RESULTS));
1137 *pIoCompleteFlag = FALSE;
1138 ntStatus = UtilPltRxPerGetResults(pAdapter, ioBuffer, outBufLen);
1139 break;
1140
1141 case TIWLN_PLT_TX_CW:
1142 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_TX_CW (%X).\n", TIWLN_PLT_TX_CW));
1143 ntStatus = UtilPltTxCW(pAdapter, ioBuffer, inBufLen);
1144 break;
1145
1146 case TIWLN_PLT_TX_CONTINUES:
1147 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_TX_CONTINUES (%X).\n", TIWLN_PLT_TX_CONTINUES));
1148 ntStatus = UtilPltTxContinues(pAdapter, ioBuffer, inBufLen);
1149 break;
1150
1151 case TIWLN_PLT_TX_STOP:
1152 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_TX_STOP (%X).\n", TIWLN_PLT_TX_STOP));
1153 ntStatus = UtilPltTxStop(pAdapter, ioBuffer, inBufLen);
1154 break;
1155
1156 case TIWLN_PLT_MIB_WRITE:
1157 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_MIB_WRITE (%X).\n", TIWLN_PLT_MIB_WRITE));
1158 ntStatus = UtilPltWriteMib(pAdapter, ioBuffer, inBufLen);
1159 break;
1160
1161 case TIWLN_PLT_MIB_READ:
1162 {
1163 PLT_MIB_t* pMib = (PLT_MIB_t*)ioBuffer;
1164 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_MIB_READ (%X).\n", TIWLN_PLT_MIB_READ));
1165 /* find which MIBs return in the same contects*/
1166 switch(pMib->aMib)
1167 {
1168 /*Sync mode MIBs - reads the MIBs data from the driver and not from the FW */
1169 case PLT_MIB_dot11MaxReceiveLifetime:
1170 case PLT_MIB_ctsToSelf:
1171 case PLT_MIB_arpIpAddressesTable:
1172 case PLT_MIB_dot11GroupAddressesTable:
1173 case PLT_MIB_rxFilter:
1174 case PLT_MIB_templateFrame:
1175 case PLT_MIB_beaconFilterIETable:
1176 case PLT_MIB_txRatePolicy:
1177 break;
1178
1179 /*all other MIBs are Async mode MIBs - reads the MIBs data from the FW */
1180 default:
1181 *pIoCompleteFlag = FALSE;
1182 }
1183 ntStatus = UtilPltReadMib(pAdapter, ioBuffer, outBufLen, inBufLen);
1184
1185 }
1186 break;
1187
1188 case TIWLN_PLT_RX_TX_CAL:
1189 *pIoCompleteFlag = FALSE;
1190 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_TX_CAL (%#lX).\n", ioControlCode));
1191 ntStatus = UtilPltRxTxCal(pAdapter, ioBuffer, outBufLen, inBufLen);
1192 break;
1193
1194 case TIWLN_PLT_RX_CAL:
1195 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_CAL (%#lX).\n", ioControlCode));
1196 ntStatus = UtilPltRxCal(pAdapter, ioBuffer, outBufLen, inBufLen);
1197 break;
1198
1199 case TIWLN_PLT_RX_CAL_RESULT:
1200 PRINTF(DBG_IOCTL_LOUD, ("...IOCTL TIWLN_PLT_RX_CAL_RESULT (%#lX).\n", ioControlCode));
1201 ntStatus = utilRxCalibrationStatus(pAdapter, ioBuffer,outBufLen, inBufLen);
1202 break;
1203
1204 #ifdef _WINDOWS
1205 #endif
1206
1207 default:
1208 PRINTF(DBG_IOCTL_ERROR, ("...UNKNOWN IOCTL: %#lX\n", ioControlCode));
1209 ntStatus = (NTSTATUS)STATUS_SUCCESS;
1210
1211 }
1212
1213 // os_protectUnlock(pAdapter, pAdapter->SystemProtect); /* Bug. Replaced with the line below. -- MCS00035801 */
1214 /* Dm: os_protectUnlock( ((configMgr_t *)(pAdapter->CoreHalCtx))->hOs, pAdapter->SystemProtect); */
1215
1216 return ntStatus;
1217 }
1218