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#ifndef __TIIOCTL_H__
37#define __TIIOCTL_H__
38
39/* OID Mode*/
40#define IOCTRL_SET    0
41#define IOCTRL_GET    1
42#define IOCTRL_SET_GET 2
43
44#ifndef FILE_DEVICE_UNKNOWN
45
46/**/
47/* Macro definition for defining IOCTL and FSCTL function control codes.  Note*/
48/* that function codes 0-2047 are reserved for Microsoft Corporation, and*/
49/* 2048-4095 are reserved for customers.*/
50/**/
51
52#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
53    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
54)
55
56#define FILE_DEVICE_UNKNOWN     0x00000022
57#define METHOD_BUFFERED         0
58#define FILE_ANY_ACCESS         0
59
60#endif     /* FILE_DEVICE_UNKNOWN */
61
62/* IOCTL info, needs to be visible for application. Should be in a custom range (0x800..)*/
63#define SHELLDRV_IOCTL_INDEX  0x00800
64
65/* Offsets for IOTCLS bases*/
66#define D11BASIC_IOCTLS_OFFSET          0x0
67#define D11PACKET_PARAMS_IOCTLS_OFFSET  0x100
68#define RATES_IOCTLS_OFFSET             0x200
69#define CHANNEL_IOCTLS_OFFSET           0x300
70#define POWER_IOCTLS_OFFSET             0x400
71#define SECURITY_IOCTLS_OFFSET          0x500
72#define MISC_IOCTLS_OFFSET              0x600
73#define DEBUG_IOCTLS_OFFSET             0x700
74#define SCAN_IOCTLS_OFFSET              0x800
75#define VOICE_QOS_IOCTLS_OFFSET         0x900
76#define ROAMING_IOCTLS_OFFSET           0xa00
77#define MEASUREMENT_IOCTLS_OFFSET       0xa80
78#define PLT_IOCTLS_OFFSET               0xb00
79
80#ifdef _WINDOWS // Windows Mobile specific IOCTL's
81#endif /* ifdef _WINDOWS */
82/********************************************/
83
84typedef struct tagDeviceInfo
85{
86char csKeyName[260];
87char csDriverKey[260];
88char csDescription[260];
89} TIWLNDEVINFO, *PTIWLNDEVINFO;
90
91
92/**********************  Basic dot11 Functionality ****************************************/
93
94#define TIWLN_802_11_BSSID_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
95                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 1, \
96                            METHOD_BUFFERED,          \
97                            FILE_ANY_ACCESS)
98
99#define TIWLN_802_11_BSSID_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
100                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 2, \
101                            METHOD_BUFFERED,          \
102                            FILE_ANY_ACCESS)
103
104#define TIWLN_802_11_BSSID_LIST CTL_CODE(FILE_DEVICE_UNKNOWN, \
105                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 3, \
106                            METHOD_BUFFERED,          \
107                            FILE_ANY_ACCESS)
108
109#define TIWLN_802_11_SSID_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
110                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 4, \
111                            METHOD_BUFFERED,          \
112                            FILE_ANY_ACCESS)
113
114#define TIWLN_802_11_SSID_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
115                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 5, \
116                            METHOD_BUFFERED,          \
117                            FILE_ANY_ACCESS)
118
119#define TIWLN_802_11_DESIRED_SSID_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
120                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 6, \
121                            METHOD_BUFFERED,          \
122                            FILE_ANY_ACCESS)
123
124#define TIWLN_802_11_DISASSOCIATE CTL_CODE(FILE_DEVICE_UNKNOWN, \
125                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 7, \
126                            METHOD_BUFFERED,          \
127                            FILE_ANY_ACCESS)
128
129#define TIWLN_802_11_ASSOCIATION_INFORMATION CTL_CODE(FILE_DEVICE_UNKNOWN, \
130                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 8, \
131                            METHOD_BUFFERED,          \
132                            FILE_ANY_ACCESS)
133
134#define TIWLN_802_11_NETWORK_TYPES_SUPPORTED CTL_CODE(FILE_DEVICE_UNKNOWN, \
135                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 9, \
136                            METHOD_BUFFERED,          \
137                            FILE_ANY_ACCESS)
138
139#define TIWLN_802_11_NETWORK_TYPE_IN_USE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
140                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 10, \
141                            METHOD_BUFFERED,          \
142                            FILE_ANY_ACCESS)
143
144#define TIWLN_802_11_NETWORK_TYPE_IN_USE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
145                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 11, \
146                            METHOD_BUFFERED,          \
147                            FILE_ANY_ACCESS)
148
149#define TIWLN_802_11_INFRASTRUCTURE_MODE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
150                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 12, \
151                            METHOD_BUFFERED,          \
152                            FILE_ANY_ACCESS)
153
154#define TIWLN_802_11_INFRASTRUCTURE_MODE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
155                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 13, \
156                            METHOD_BUFFERED,          \
157                            FILE_ANY_ACCESS)
158
159#define TIWLN_802_11_DESIRED_INFRASTRUCTURE_MODE CTL_CODE(FILE_DEVICE_UNKNOWN, \
160                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 14, \
161                            METHOD_BUFFERED,          \
162                            FILE_ANY_ACCESS)
163
164#define TIWLN_802_11_AUTHENTICATION_MODE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
165                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 15, \
166                            METHOD_BUFFERED,          \
167                            FILE_ANY_ACCESS)
168
169#define TIWLN_802_11_AUTHENTICATION_MODE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
170                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 16, \
171                            METHOD_BUFFERED,          \
172                            FILE_ANY_ACCESS)
173
174#define TIWLN_802_11_CONFIGURATION_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
175                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 17, \
176                            METHOD_BUFFERED,          \
177                            FILE_ANY_ACCESS)
178
179#define TIWLN_802_11_CONFIGURATION_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
180                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 18, \
181                            METHOD_BUFFERED,          \
182                            FILE_ANY_ACCESS)
183
184#define TIWLN_802_11_FULL_BSSID_LIST  CTL_CODE(FILE_DEVICE_UNKNOWN, \
185                            SHELLDRV_IOCTL_INDEX + D11BASIC_IOCTLS_OFFSET + 19, \
186                            METHOD_BUFFERED,          \
187                            FILE_ANY_ACCESS)
188
189
190/**********************  Rates Functionality  ****************************************/
191
192#define TIWLN_802_11_SUPPORTED_RATES CTL_CODE(FILE_DEVICE_UNKNOWN, \
193                            SHELLDRV_IOCTL_INDEX + RATES_IOCTLS_OFFSET + 1, \
194                            METHOD_BUFFERED,          \
195                            FILE_ANY_ACCESS)
196
197#define TIWLN_802_11_DESIRED_RATES_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
198                            SHELLDRV_IOCTL_INDEX + RATES_IOCTLS_OFFSET + 2, \
199                            METHOD_BUFFERED,          \
200                            FILE_ANY_ACCESS)
201
202#define TIWLN_802_11_SUPPORTED_RATES_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
203                            SHELLDRV_IOCTL_INDEX + RATES_IOCTLS_OFFSET + 3, \
204                            METHOD_BUFFERED,          \
205                            FILE_ANY_ACCESS)
206
207#define TIWLN_802_11_CURRENT_RATES_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
208                            SHELLDRV_IOCTL_INDEX + RATES_IOCTLS_OFFSET + 4, \
209                            METHOD_BUFFERED,          \
210                            FILE_ANY_ACCESS)
211
212#define TIWLN_EXT_RATES_IE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
213                            SHELLDRV_IOCTL_INDEX + RATES_IOCTLS_OFFSET + 5, \
214                            METHOD_BUFFERED,          \
215                            FILE_ANY_ACCESS)
216
217#define TIWLN_EXT_RATES_IE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
218                            SHELLDRV_IOCTL_INDEX + RATES_IOCTLS_OFFSET + 6, \
219                            METHOD_BUFFERED,          \
220                            FILE_ANY_ACCESS)
221
222
223/**********************  Channel Functionality  ****************************************/
224
225#define TIWLN_802_11_DESIRED_CHANNEL_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
226                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 1, \
227                            METHOD_BUFFERED,          \
228                            FILE_ANY_ACCESS)
229
230#define TIWLN_802_11_DESIRED_CHANNEL_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
231                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 2, \
232                            METHOD_BUFFERED,          \
233                            FILE_ANY_ACCESS)
234
235#define TIWLN_802_11_CHANNEL_GET   CTL_CODE(FILE_DEVICE_UNKNOWN, \
236                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 3, \
237                            METHOD_BUFFERED,          \
238                            FILE_ANY_ACCESS)
239
240#define TIWLN_CURRENT_REGDOMAIN_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
241                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 4, \
242                            METHOD_BUFFERED,          \
243                            FILE_ANY_ACCESS)
244
245#define TIWLN_CURRENT_REGDOMAIN_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
246                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 5, \
247                            METHOD_BUFFERED,          \
248                            FILE_ANY_ACCESS)
249
250#define TIWLN_REGDOMAIN_TABLE   CTL_CODE(FILE_DEVICE_UNKNOWN, \
251                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 6, \
252                            METHOD_BUFFERED,          \
253                            FILE_ANY_ACCESS)
254
255#define TIWLN_ROAM_PROFILE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
256                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 7, \
257                            METHOD_BUFFERED,          \
258                            FILE_ANY_ACCESS)
259
260#define TIWLN_ROAM_PROFILE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
261                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 8, \
262                            METHOD_BUFFERED,          \
263                            FILE_ANY_ACCESS)
264
265#define TIWLN_REG_DOMAIN_ENABLE_DISABLE_802_11D CTL_CODE(FILE_DEVICE_UNKNOWN, \
266                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 9, \
267                            METHOD_BUFFERED,          \
268                            FILE_ANY_ACCESS)
269
270#define TIWLN_REG_DOMAIN_ENABLE_DISABLE_802_11H CTL_CODE(FILE_DEVICE_UNKNOWN, \
271                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 10, \
272                            METHOD_BUFFERED,          \
273                            FILE_ANY_ACCESS)
274
275#define TIWLN_REG_DOMAIN_GET_802_11D CTL_CODE(FILE_DEVICE_UNKNOWN, \
276                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 11, \
277                            METHOD_BUFFERED,          \
278                            FILE_ANY_ACCESS)
279
280#define TIWLN_REG_DOMAIN_GET_802_11H CTL_CODE(FILE_DEVICE_UNKNOWN, \
281                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 12, \
282                            METHOD_BUFFERED,          \
283                            FILE_ANY_ACCESS)
284
285#define TIWLN_REG_DOMAIN_GET_COUNTRY_2_4 CTL_CODE(FILE_DEVICE_UNKNOWN, \
286                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 13, \
287                            METHOD_BUFFERED,          \
288                            FILE_ANY_ACCESS)
289
290#define TIWLN_REG_DOMAIN_SET_COUNTRY_2_4 CTL_CODE(FILE_DEVICE_UNKNOWN, \
291                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 14, \
292                            METHOD_BUFFERED,          \
293                            FILE_ANY_ACCESS)
294
295#define TIWLN_REG_DOMAIN_GET_COUNTRY_5 CTL_CODE(FILE_DEVICE_UNKNOWN, \
296                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 15, \
297                            METHOD_BUFFERED,          \
298                            FILE_ANY_ACCESS)
299
300#define TIWLN_REG_DOMAIN_SET_COUNTRY_5 CTL_CODE(FILE_DEVICE_UNKNOWN, \
301                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 16, \
302                            METHOD_BUFFERED,          \
303                            FILE_ANY_ACCESS)
304
305#define TIWLN_REG_DOMAIN_SET_DFS_RANGE CTL_CODE(FILE_DEVICE_UNKNOWN, \
306                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 17, \
307                            METHOD_BUFFERED,          \
308                            FILE_ANY_ACCESS)
309
310#define TIWLN_REG_DOMAIN_GET_DFS_RANGE CTL_CODE(FILE_DEVICE_UNKNOWN, \
311                            SHELLDRV_IOCTL_INDEX + CHANNEL_IOCTLS_OFFSET + 18, \
312                            METHOD_BUFFERED,          \
313                            FILE_ANY_ACCESS)
314
315/**********************  Power Functionality  ****************************************/
316
317#define TIWLN_802_11_POWER_MODE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
318                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 1, \
319                            METHOD_BUFFERED,          \
320                            FILE_ANY_ACCESS)
321
322#define TIWLN_802_11_POWER_MODE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
323                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 2, \
324                            METHOD_BUFFERED,          \
325                            FILE_ANY_ACCESS)
326
327#define TIWLN_802_11_TX_POWER_LEVEL_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
328                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 3, \
329                            METHOD_BUFFERED,          \
330                            FILE_ANY_ACCESS)
331
332#define TIWLN_802_11_TX_POWER_DBM_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
333                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 4, \
334                            METHOD_BUFFERED,          \
335                            FILE_ANY_ACCESS)
336
337#define TIWLN_802_11_NUMBER_OF_ANTENNAS CTL_CODE(FILE_DEVICE_UNKNOWN, \
338                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 5, \
339                            METHOD_BUFFERED,          \
340                            FILE_ANY_ACCESS)
341
342#define TIWLN_802_11_RX_ANTENNA_SELECTED_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
343                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 6, \
344                            METHOD_BUFFERED,          \
345                            FILE_ANY_ACCESS)
346
347#define TIWLN_802_11_RX_ANTENNA_SELECTED_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
348                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 7, \
349                            METHOD_BUFFERED,          \
350                            FILE_ANY_ACCESS)
351
352#define TIWLN_802_11_TX_ANTENNA_SELECTED_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
353                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 8, \
354                            METHOD_BUFFERED,          \
355                            FILE_ANY_ACCESS)
356
357#define TIWLN_802_11_TX_ANTENNA_SELECTED_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
358                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 9, \
359                            METHOD_BUFFERED,          \
360                            FILE_ANY_ACCESS)
361
362#define TIWLAN_802_11_ANTENNA_DIVERSITY_PARAM_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
363                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 10, \
364                            METHOD_BUFFERED,          \
365                            FILE_ANY_ACCESS)
366
367#define TIWLN_802_11_RSSI CTL_CODE(FILE_DEVICE_UNKNOWN, \
368                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 11, \
369                            METHOD_BUFFERED,          \
370                            FILE_ANY_ACCESS)
371
372#define TIWLN_802_11_RSSI_TRIGGER_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
373                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 12, \
374                            METHOD_BUFFERED,          \
375                            FILE_ANY_ACCESS)
376
377#define TIWLN_802_11_RSSI_TRIGGER_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
378                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 13, \
379                            METHOD_BUFFERED,          \
380                            FILE_ANY_ACCESS)
381
382#define TIWLN_SLEEP_CMD CTL_CODE(FILE_DEVICE_UNKNOWN, \
383                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 14, \
384                            METHOD_BUFFERED,          \
385                            FILE_ANY_ACCESS)
386
387#define TIWLN_802_11_TX_POWER_DBM_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
388                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 15, \
389                            METHOD_BUFFERED,          \
390                            FILE_ANY_ACCESS)
391
392#define TIWLN_802_11_POWER_MGR_PROFILE CTL_CODE(FILE_DEVICE_UNKNOWN, \
393                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 16, \
394                                       METHOD_BUFFERED,          \
395                                       FILE_ANY_ACCESS)
396
397#define TIWLN_802_11_POWER_LEVEL_BOUNDARY CTL_CODE(FILE_DEVICE_UNKNOWN, \
398                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 17, \
399                                       METHOD_BUFFERED,          \
400                                       FILE_ANY_ACCESS)
401
402
403#define TIWLN_802_11_PERODIC_WAKEUP_MODE CTL_CODE(FILE_DEVICE_UNKNOWN, \
404                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 18, \
405                                       METHOD_BUFFERED,          \
406                                       FILE_ANY_ACCESS)
407
408#define TIWLN_802_11_PERODIC_WAKEUP_TIMEOUT CTL_CODE(FILE_DEVICE_UNKNOWN, \
409                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 19, \
410                                       METHOD_BUFFERED,          \
411                                       FILE_ANY_ACCESS)
412
413#define TIWLN_802_11_POWER_LEVEL_DEFAULT_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
414                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 20, \
415                                       METHOD_BUFFERED,          \
416                                       FILE_ANY_ACCESS)
417
418#define TIWLN_802_11_POWER_LEVEL_DEFAULT_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
419                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 21, \
420                                       METHOD_BUFFERED,          \
421                                       FILE_ANY_ACCESS)
422
423#define TIWLN_802_11_POWER_LEVEL_PS_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
424                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 22, \
425                                       METHOD_BUFFERED,          \
426                                       FILE_ANY_ACCESS)
427
428#define TIWLN_802_11_POWER_LEVEL_PS_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
429                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 23, \
430                                       METHOD_BUFFERED,          \
431                                       FILE_ANY_ACCESS)
432
433#define TIWLN_802_11_BEACON_FILTER_DESIRED_STATE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
434                                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 24, \
435                                            METHOD_BUFFERED,          \
436                                            FILE_ANY_ACCESS)
437
438
439
440#define TIWLN_802_11_SNR CTL_CODE(FILE_DEVICE_UNKNOWN, \
441                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 25, \
442                            METHOD_BUFFERED,          \
443                            FILE_ANY_ACCESS)
444
445#define TIWLN_802_11_BEACON_FILTER_DESIRED_STATE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
446                                            SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 26, \
447                                            METHOD_BUFFERED,          \
448                                            FILE_ANY_ACCESS)
449
450#define TIWLN_802_11_POWER_LEVEL_DOZE_MODE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
451                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 27, \
452                                       METHOD_BUFFERED,          \
453                                       FILE_ANY_ACCESS)
454
455#define TIWLN_802_11_POWER_LEVEL_DOZE_MODE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
456                                       SHELLDRV_IOCTL_INDEX + POWER_IOCTLS_OFFSET + 28, \
457                                       METHOD_BUFFERED,          \
458                                       FILE_ANY_ACCESS)
459
460
461/**********************  dot11 Network Packet Parameters ****************************************/
462
463#define TIWLN_802_11_FRAGMENTATION_THRESHOLD_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
464                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 1, \
465                            METHOD_BUFFERED,          \
466                            FILE_ANY_ACCESS)
467
468#define TIWLN_802_11_FRAGMENTATION_THRESHOLD_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
469                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 2, \
470                            METHOD_BUFFERED,          \
471                            FILE_ANY_ACCESS)
472
473#define TIWLN_802_11_RTS_THRESHOLD_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
474                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 3, \
475                            METHOD_BUFFERED,          \
476                            FILE_ANY_ACCESS)
477
478#define TIWLN_802_11_RTS_THRESHOLD_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
479                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 4, \
480                            METHOD_BUFFERED,          \
481                            FILE_ANY_ACCESS)
482
483#define TIWLN_802_11_SHORT_PREAMBLE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
484                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 5, \
485                            METHOD_BUFFERED,          \
486                            FILE_ANY_ACCESS)
487
488#define TIWLN_802_11_SHORT_PREAMBLE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
489                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 6, \
490                            METHOD_BUFFERED,          \
491                            FILE_ANY_ACCESS)
492
493#define TIWLN_802_11_SHORT_RETRY_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
494                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 7, \
495                            METHOD_BUFFERED,          \
496                            FILE_ANY_ACCESS)
497
498#define TIWLN_802_11_SHORT_RETRY_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
499                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 8, \
500                            METHOD_BUFFERED,          \
501                            FILE_ANY_ACCESS)
502
503#define TIWLN_802_11_LONG_RETRY_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
504                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 9, \
505                            METHOD_BUFFERED,          \
506                            FILE_ANY_ACCESS)
507
508#define TIWLN_802_11_LONG_RETRY_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
509                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 11, \
510                            METHOD_BUFFERED,          \
511                            FILE_ANY_ACCESS)
512
513#define TIWLN_SHORT_SLOT_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
514                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 12, \
515                            METHOD_BUFFERED,          \
516                            FILE_ANY_ACCESS)
517
518#define TIWLN_SHORT_SLOT_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
519                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 13, \
520                            METHOD_BUFFERED,          \
521                            FILE_ANY_ACCESS)
522
523#define TIWLN_IBSS_PROTECTION_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
524                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 14, \
525                            METHOD_BUFFERED,          \
526                            FILE_ANY_ACCESS)
527
528#define TIWLN_IBSS_PROTECTION_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
529                            SHELLDRV_IOCTL_INDEX + D11PACKET_PARAMS_IOCTLS_OFFSET + 15, \
530                            METHOD_BUFFERED,          \
531                            FILE_ANY_ACCESS)
532
533
534/************************** Security **************************************/
535
536#define TIWLN_802_11_ADD_WEP CTL_CODE(FILE_DEVICE_UNKNOWN, \
537                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 1, \
538                            METHOD_BUFFERED,          \
539                            FILE_ANY_ACCESS)
540
541#define TIWLN_802_11_REMOVE_WEP CTL_CODE(FILE_DEVICE_UNKNOWN, \
542                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 2, \
543                            METHOD_BUFFERED,          \
544                            FILE_ANY_ACCESS)
545
546#define TIWLN_802_11_WEP_STATUS_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
547                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 3, \
548                            METHOD_BUFFERED,          \
549                            FILE_ANY_ACCESS)
550
551#define TIWLN_802_11_WEP_STATUS_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
552                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 4, \
553                            METHOD_BUFFERED,          \
554                            FILE_ANY_ACCESS)
555
556#define TIWLN_802_11_PRIVACY_FILTER_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
557                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 5, \
558                            METHOD_BUFFERED,          \
559                            FILE_ANY_ACCESS)
560
561#define TIWLN_802_11_PRIVACY_FILTER_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
562                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 6, \
563                            METHOD_BUFFERED,          \
564                            FILE_ANY_ACCESS)
565
566
567#define TIWLN_802_11_ADD_KEY CTL_CODE(FILE_DEVICE_UNKNOWN, \
568                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 13, \
569                            METHOD_BUFFERED,          \
570                            FILE_ANY_ACCESS)
571
572#define TIWLN_802_11_REMOVE_KEY CTL_CODE(FILE_DEVICE_UNKNOWN, \
573                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 14, \
574                            METHOD_BUFFERED,          \
575                            FILE_ANY_ACCESS)
576
577#define TIWLN_OPEN_EAPOL_INTERFACE CTL_CODE(FILE_DEVICE_UNKNOWN, \
578                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 15, \
579                            METHOD_BUFFERED,          \
580                            FILE_ANY_ACCESS)
581
582#define TIWLN_CLOSE_EAPOL_INTERFACE CTL_CODE(FILE_DEVICE_UNKNOWN, \
583                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 16, \
584                            METHOD_BUFFERED,          \
585                            FILE_ANY_ACCESS)
586
587#define TIWLN_SEND_EAPOL_PACKET CTL_CODE(FILE_DEVICE_UNKNOWN, \
588                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 17, \
589                            METHOD_BUFFERED,          \
590                            FILE_ANY_ACCESS)
591
592#define TIWLN_802_11_MIXED_MODE_SET CTL_CODE(FILE_DEVICE_UNKNOWN,   \
593                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 18, \
594                            METHOD_BUFFERED,          \
595                            FILE_ANY_ACCESS)
596
597#define TIWLN_802_11_MIXED_MODE_GET  CTL_CODE(FILE_DEVICE_UNKNOWN,  \
598                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 19, \
599                            METHOD_BUFFERED,          \
600                            FILE_ANY_ACCESS)
601
602#define TIWLN_802_11_EXC_SECURITY_TYPE_SET  CTL_CODE(FILE_DEVICE_UNKNOWN,   \
603                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 20, \
604                            METHOD_BUFFERED,          \
605                            FILE_ANY_ACCESS)
606
607#define TIWLN_802_11_EXC_SECURITY_TYPE_GET  CTL_CODE(FILE_DEVICE_UNKNOWN,   \
608                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 21, \
609                            METHOD_BUFFERED,          \
610                            FILE_ANY_ACCESS)
611
612/* Supplicant use only*/
613#define TIWLN_SUPPL_INIT CTL_CODE(FILE_DEVICE_UNKNOWN, \
614                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 22, \
615                            METHOD_BUFFERED,          \
616                            FILE_ANY_ACCESS)
617/* Supplicant use only*/
618#define TIWLN_SUPPL_TERMINATE CTL_CODE(FILE_DEVICE_UNKNOWN, \
619                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 23, \
620                            METHOD_BUFFERED,          \
621                            FILE_ANY_ACCESS)
622/* Supplicant use only*/
623#define TIWLN_802_11_PSK_SET         CTL_CODE(FILE_DEVICE_UNKNOWN, \
624                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 24, \
625                            METHOD_BUFFERED,          \
626                            FILE_ANY_ACCESS)
627/* Supplicant use only*/
628#define TIWLN_802_11_EAP_TYPE_SET      CTL_CODE(FILE_DEVICE_UNKNOWN, \
629                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 25, \
630                            METHOD_BUFFERED,          \
631                            FILE_ANY_ACCESS)
632/* Supplicant use only*/
633#define TIWLN_802_11_USER_ID_SET        CTL_CODE(FILE_DEVICE_UNKNOWN, \
634                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 26, \
635                            METHOD_BUFFERED,          \
636                            FILE_ANY_ACCESS)
637/* Supplicant use only*/
638#define TIWLN_802_11_USER_PASSWORD_SET        CTL_CODE(FILE_DEVICE_UNKNOWN, \
639                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 27, \
640                            METHOD_BUFFERED,          \
641                            FILE_ANY_ACCESS)
642/* Supplicant use only*/
643#define TIWLN_802_11_CERT_PARAMS_SHA1_SET    CTL_CODE(FILE_DEVICE_UNKNOWN, \
644                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 28, \
645                            METHOD_BUFFERED,          \
646                            FILE_ANY_ACCESS)
647
648#define TIWLN_802_11_EXC_ROGUE_AP_DETECTED    CTL_CODE(FILE_DEVICE_UNKNOWN, \
649                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 29, \
650                            METHOD_BUFFERED,          \
651                            FILE_ANY_ACCESS)
652
653#define TIWLN_802_11_EXC_REPORT_ROGUE_APS    CTL_CODE(FILE_DEVICE_UNKNOWN, \
654                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 30, \
655                            METHOD_BUFFERED,          \
656                            FILE_ANY_ACCESS)
657
658#define TIWLN_802_11_EXC_CCKM_REQUEST    CTL_CODE(FILE_DEVICE_UNKNOWN, \
659                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 31, \
660                            METHOD_BUFFERED,          \
661                            FILE_ANY_ACCESS)
662
663#define TIWLN_802_11_EXC_CCKM_RESULT    CTL_CODE(FILE_DEVICE_UNKNOWN, \
664                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 32, \
665                            METHOD_BUFFERED,          \
666                            FILE_ANY_ACCESS)
667
668#define TIWLN_802_11_PMKID_GET    CTL_CODE(FILE_DEVICE_UNKNOWN, \
669                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 33, \
670                            METHOD_BUFFERED,          \
671                            FILE_ANY_ACCESS)
672/* Supplicant use only*/
673#define TIWLN_802_11_KEY_TYPE_SET    CTL_CODE(FILE_DEVICE_UNKNOWN, \
674                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 34, \
675                            METHOD_BUFFERED,          \
676                            FILE_ANY_ACCESS)
677
678#define TIWLN_802_11_EXC_CONFIGURATION_SET   CTL_CODE(FILE_DEVICE_UNKNOWN, \
679                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 35, \
680                            METHOD_BUFFERED,          \
681                            FILE_ANY_ACCESS)
682
683#define TIWLN_802_11_EXC_CONFIGURATION_GET   CTL_CODE(FILE_DEVICE_UNKNOWN, \
684                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 36, \
685                            METHOD_BUFFERED,          \
686                            FILE_ANY_ACCESS)
687
688#define TIWLN_802_11_EXC_NETWORK_EAP_SET   CTL_CODE(FILE_DEVICE_UNKNOWN, \
689                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 37, \
690                            METHOD_BUFFERED,          \
691                            FILE_ANY_ACCESS)
692
693#define TIWLN_802_11_EXC_NETWORK_EAP_GET   CTL_CODE(FILE_DEVICE_UNKNOWN, \
694                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 38, \
695                            METHOD_BUFFERED,          \
696                            FILE_ANY_ACCESS)
697/* Supplicant use only*/
698#define TIWLN_802_11_CERT_PARAMS_FILE_NAME_SET   CTL_CODE(FILE_DEVICE_UNKNOWN, \
699                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 39, \
700                            METHOD_BUFFERED,          \
701                            FILE_ANY_ACCESS)
702
703#define TIWLN_802_11_EXC_AUTH_SUCCESS        CTL_CODE(FILE_DEVICE_UNKNOWN, \
704                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 40, \
705                            METHOD_BUFFERED,          \
706                            FILE_ANY_ACCESS)
707
708#define TIWLN_802_11_PMKID_SET    CTL_CODE(FILE_DEVICE_UNKNOWN, \
709                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 41, \
710                            METHOD_BUFFERED,          \
711                            FILE_ANY_ACCESS)
712
713#define TIWLN_802_11_WPA_OPTIONS_GET            CTL_CODE(FILE_DEVICE_UNKNOWN, \
714                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 42, \
715                            METHOD_BUFFERED,          \
716                            FILE_ANY_ACCESS)
717
718#define TIWLN_802_11_WPA_OPTIONS_SET            CTL_CODE(FILE_DEVICE_UNKNOWN, \
719                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 43, \
720                            METHOD_BUFFERED,          \
721                            FILE_ANY_ACCESS)
722
723#define TIWLN_802_11_CAPABILITY_GET            CTL_CODE(FILE_DEVICE_UNKNOWN, \
724                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 44, \
725                            METHOD_BUFFERED,          \
726                            FILE_ANY_ACCESS)
727
728#define TIWLN_802_11_AVAILABLE_OPTIONS_GET            CTL_CODE(FILE_DEVICE_UNKNOWN, \
729                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 45, \
730                            METHOD_BUFFERED,          \
731                            FILE_ANY_ACCESS)
732
733
734#define TIWLN_802_11_EAP_TYPE_GET      CTL_CODE(FILE_DEVICE_UNKNOWN, \
735                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 46, \
736                            METHOD_BUFFERED,          \
737                            FILE_ANY_ACCESS)
738
739#define TIWLN_802_11_EAP_TYPE_DRIVER_SET      CTL_CODE(FILE_DEVICE_UNKNOWN, \
740                            SHELLDRV_IOCTL_INDEX + SECURITY_IOCTLS_OFFSET + 47, \
741                            METHOD_BUFFERED,          \
742                            FILE_ANY_ACCESS)
743
744/************************** Misc **************************************/
745
746#define TIWLN_IOCTL_OID_QUERY_INFORMATION CTL_CODE(FILE_DEVICE_UNKNOWN, \
747                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 1, \
748                            METHOD_BUFFERED,          \
749                            FILE_ANY_ACCESS)
750
751#define TIWLN_IOCTL_OID_SET_INFORMATION CTL_CODE(FILE_DEVICE_UNKNOWN, \
752                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 2, \
753                            METHOD_BUFFERED,          \
754                            FILE_ANY_ACCESS)
755
756#define TIWLN_MEDIUMUSAGE CTL_CODE(FILE_DEVICE_UNKNOWN, \
757                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 3, \
758                            METHOD_BUFFERED,          \
759                            FILE_ANY_ACCESS)
760
761#define TIWLN_802_11_STATISTICS CTL_CODE(FILE_DEVICE_UNKNOWN, \
762                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 4, \
763                            METHOD_BUFFERED,          \
764                            FILE_ANY_ACCESS)
765
766#define TIWLN_802_11_RELOAD_DEFAULTS CTL_CODE(FILE_DEVICE_UNKNOWN, \
767                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 5, \
768                            METHOD_BUFFERED,          \
769                            FILE_ANY_ACCESS)
770
771#define TIWLN_DRIVER_STATUS_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
772                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 6, \
773                            METHOD_BUFFERED,          \
774                            FILE_ANY_ACCESS)
775
776#define TIWLN_DRIVER_STATUS_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
777                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 7, \
778                            METHOD_BUFFERED,          \
779                            FILE_ANY_ACCESS)
780
781#define TIWLN_HW_READ_REGISTER CTL_CODE(FILE_DEVICE_UNKNOWN, \
782                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 8, \
783                            METHOD_BUFFERED,          \
784                            FILE_ANY_ACCESS)
785
786#define TIWLN_HW_WRITE_REGISTER CTL_CODE(FILE_DEVICE_UNKNOWN, \
787                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 9, \
788                            METHOD_BUFFERED,          \
789                            FILE_ANY_ACCESS)
790
791#define TIWLN_HW_RESET_HW CTL_CODE(FILE_DEVICE_UNKNOWN, \
792                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 10, \
793                            METHOD_BUFFERED,          \
794                            FILE_ANY_ACCESS)
795
796#define TIWLN_802_11_ENABLE_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN, \
797                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 11, \
798                            METHOD_BUFFERED,          \
799                            FILE_ANY_ACCESS)
800
801#define TIWLN_802_11_DISABLE_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN, \
802                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 12, \
803                            METHOD_BUFFERED,          \
804                            FILE_ANY_ACCESS)
805
806#define TIWLN_SET_INIT_INFO CTL_CODE(FILE_DEVICE_UNKNOWN, \
807                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 13, \
808                            METHOD_BUFFERED,          \
809                            FILE_ANY_ACCESS)
810
811#define TIWLN_802_3_CURRENT_ADDRESS CTL_CODE(FILE_DEVICE_UNKNOWN, \
812                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 14, \
813                            METHOD_BUFFERED,          \
814                            FILE_ANY_ACCESS)
815
816#define TIWLN_APIP_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
817                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 15, \
818                            METHOD_BUFFERED,          \
819                            FILE_ANY_ACCESS)
820
821#define TIWLN_4XACTIVESTATE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
822                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 16, \
823                            METHOD_BUFFERED,          \
824                            FILE_ANY_ACCESS)
825
826#define TIWLN_GET_SW_VERSION CTL_CODE(FILE_DEVICE_UNKNOWN, \
827                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 17, \
828                            METHOD_BUFFERED,          \
829                            FILE_ANY_ACCESS)
830
831#define TIWLN_GET_EVENT_DATA CTL_CODE(FILE_DEVICE_UNKNOWN,    \
832                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 18, \
833                            METHOD_BUFFERED,          \
834                            FILE_ANY_ACCESS)
835
836#define TIWLN_DRIVER_SUSPEND CTL_CODE(FILE_DEVICE_UNKNOWN,    \
837                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 19, \
838                            METHOD_BUFFERED,          \
839                            FILE_ANY_ACCESS)
840
841#define SET_IPC_EVENT_HANDLE CTL_CODE(FILE_DEVICE_UNKNOWN,    \
842                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 20, \
843                            METHOD_BUFFERED,          \
844                            FILE_ANY_ACCESS)
845
846#define DESTROY_IPC_EVENT_HANDLE CTL_CODE(FILE_DEVICE_UNKNOWN,    \
847                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 21, \
848                            METHOD_BUFFERED,          \
849                            FILE_ANY_ACCESS)
850
851#define TIWLN_802_11_CONFIG_EVENTS_RSSI     CTL_CODE(FILE_DEVICE_UNKNOWN, \
852                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 22, \
853                                       METHOD_BUFFERED,          \
854                                       FILE_ANY_ACCESS)
855
856#define TIWLN_802_11_GET_DRIVERS_CAPABILITIES     CTL_CODE(FILE_DEVICE_UNKNOWN, \
857                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 23, \
858                                       METHOD_BUFFERED,          \
859                                       FILE_ANY_ACCESS)
860
861#define TIWLN_802_11_GET_SELECTED_BSSID_INFO     CTL_CODE(FILE_DEVICE_UNKNOWN, \
862                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 24, \
863                                       METHOD_BUFFERED,          \
864                                       FILE_ANY_ACCESS)
865
866#define TIWLN_802_11_GET_DRIVER_STATE CTL_CODE(FILE_DEVICE_UNKNOWN, \
867                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 25, \
868                                       METHOD_BUFFERED,          \
869                                       FILE_ANY_ACCESS)
870
871#define BT_COEXSISTANCE_SET_ENABLE CTL_CODE(FILE_DEVICE_UNKNOWN,    \
872                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 26, \
873                            METHOD_BUFFERED,          \
874                            FILE_ANY_ACCESS)
875
876#define BT_COEXSISTANCE_SET_RATE   CTL_CODE(FILE_DEVICE_UNKNOWN,    \
877                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 27, \
878                            METHOD_BUFFERED,          \
879                            FILE_ANY_ACCESS)
880
881#define BT_COEXSISTANCE_SET_CONFIG CTL_CODE(FILE_DEVICE_UNKNOWN,    \
882                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 28, \
883                            METHOD_BUFFERED,          \
884                            FILE_ANY_ACCESS)
885
886#define BT_COEXSISTANCE_GET_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN,    \
887                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 29, \
888                            METHOD_BUFFERED,          \
889                            FILE_ANY_ACCESS)
890
891
892#define TIWLN_802_11_TX_STATISTICS CTL_CODE(FILE_DEVICE_UNKNOWN, \
893                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 30, \
894                            METHOD_BUFFERED,          \
895                            FILE_ANY_ACCESS)
896
897#define GWSI_DISPATCH_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN,    \
898                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 31, \
899                            METHOD_BUFFERED,          \
900                            FILE_ANY_ACCESS)
901
902#define GWSI_GET_INIT_TABLE_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN,    \
903                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 32, \
904                            METHOD_BUFFERED,          \
905                            FILE_ANY_ACCESS)
906
907#define GWSI_INITIALIZE_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN,    \
908                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 33, \
909                            METHOD_BUFFERED,          \
910                            FILE_ANY_ACCESS)
911
912#define GWSI_CONFIGURE_TABLE_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN,    \
913                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 34, \
914                            METHOD_BUFFERED,          \
915                            FILE_ANY_ACCESS)
916
917#define GWSI_RELEASE_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN,    \
918                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 36, \
919                            METHOD_BUFFERED,          \
920                            FILE_ANY_ACCESS)
921
922#define GWSI_DISPATCH_GET_CMD_LEN(_p_cmd)   (*((tiUINT16 *)_p_cmd + 1))
923
924#define TIWLN_802_11_SET_TRAFFIC_INTENSITY_THRESHOLDS CTL_CODE(FILE_DEVICE_UNKNOWN, \
925                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 37, \
926                            METHOD_BUFFERED,          \
927                            FILE_ANY_ACCESS)
928
929#define TIWLN_802_11_GET_TRAFFIC_INTENSITY_THRESHOLDS CTL_CODE(FILE_DEVICE_UNKNOWN, \
930                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 38, \
931                            METHOD_BUFFERED,          \
932                            FILE_ANY_ACCESS)
933
934#define TIWLN_802_11_TOGGLE_TRAFFIC_INTENSITY_EVENTS CTL_CODE(FILE_DEVICE_UNKNOWN, \
935                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 39, \
936                            METHOD_BUFFERED,          \
937                            FILE_ANY_ACCESS)
938
939#define TIWLN_802_11_GET_PRIMARY_BSSID_INFO CTL_CODE(FILE_DEVICE_UNKNOWN, \
940                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 40, \
941                            METHOD_BUFFERED,          \
942                            FILE_ANY_ACCESS)
943
944#define TIWLN_EARLY_WAKEUP_IE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
945                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 41, \
946                            METHOD_BUFFERED,          \
947                            FILE_ANY_ACCESS)
948
949#define TIWLN_EARLY_WAKEUP_IE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
950                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 42, \
951                            METHOD_BUFFERED,          \
952                            FILE_ANY_ACCESS)
953
954#define TIWLN_ENABLE_DISABLE_RX_DATA_FILTERS CTL_CODE(FILE_DEVICE_UNKNOWN, \
955                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 43, \
956                            METHOD_BUFFERED,          \
957                            FILE_ANY_ACCESS)
958
959#define TIWLN_ADD_RX_DATA_FILTER CTL_CODE(FILE_DEVICE_UNKNOWN, \
960                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 44, \
961                            METHOD_BUFFERED,          \
962                            FILE_ANY_ACCESS)
963
964#define TIWLN_REMOVE_RX_DATA_FILTER CTL_CODE(FILE_DEVICE_UNKNOWN, \
965                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 45, \
966                            METHOD_BUFFERED,          \
967                            FILE_ANY_ACCESS)
968
969#define TIWLN_GET_RX_DATA_FILTERS_STATISTICS CTL_CODE(FILE_DEVICE_UNKNOWN, \
970                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 46, \
971                            METHOD_BUFFERED,          \
972                            FILE_ANY_ACCESS)
973
974#define TIWLN_GET_POWER_CONSUMPTION_STATISTICS CTL_CODE(FILE_DEVICE_UNKNOWN, \
975                            SHELLDRV_IOCTL_INDEX + MISC_IOCTLS_OFFSET + 47, \
976                            METHOD_BUFFERED,          \
977                            FILE_ANY_ACCESS)
978
979
980/************************** Debug **************************************/
981
982#ifdef TI_DBG
983
984
985#define TIWLN_GET_DBG_BUFFER CTL_CODE(FILE_DEVICE_UNKNOWN,   \
986                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 2, \
987                            METHOD_BUFFERED,          \
988                            FILE_ANY_ACCESS)
989
990#define TIWLN_SET_MODULE CTL_CODE(FILE_DEVICE_UNKNOWN,  \
991                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 3, \
992                            METHOD_BUFFERED,          \
993                            FILE_ANY_ACCESS)
994
995#define TIWLN_GET_MODULE CTL_CODE(FILE_DEVICE_UNKNOWN,  \
996                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 4, \
997                            METHOD_BUFFERED,          \
998                            FILE_ANY_ACCESS)
999
1000#define TIWLN_SET_DEBUG_FLAG CTL_CODE(FILE_DEVICE_UNKNOWN,  \
1001                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 5, \
1002                            METHOD_BUFFERED,          \
1003                            FILE_ANY_ACCESS)
1004
1005#define TIWLN_GET_DEBUG_FLAG CTL_CODE(FILE_DEVICE_UNKNOWN,  \
1006                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 6, \
1007                            METHOD_BUFFERED,          \
1008                            FILE_ANY_ACCESS)
1009
1010#define TIWLN_DISPLAY_STATS CTL_CODE(FILE_DEVICE_UNKNOWN,   \
1011                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 7, \
1012                            METHOD_BUFFERED,          \
1013                            FILE_ANY_ACCESS)
1014
1015#define TIWLN_SET_SEVERITY CTL_CODE(FILE_DEVICE_UNKNOWN,    \
1016                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 8, \
1017                            METHOD_BUFFERED,          \
1018                            FILE_ANY_ACCESS)
1019
1020#define TIWLN_GET_SEVERITY CTL_CODE(FILE_DEVICE_UNKNOWN,    \
1021                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 9, \
1022                            METHOD_BUFFERED,          \
1023                            FILE_ANY_ACCESS)
1024
1025#define TIWLN_REPORT_MODULE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1026                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 10, \
1027                            METHOD_BUFFERED,          \
1028                            FILE_ANY_ACCESS)
1029
1030#define TIWLN_REPORT_MODULE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1031                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 11, \
1032                            METHOD_BUFFERED,          \
1033                            FILE_ANY_ACCESS)
1034
1035#define TIWLN_REPORT_SEVERITY_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1036                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 12, \
1037                            METHOD_BUFFERED,          \
1038                            FILE_ANY_ACCESS)
1039
1040#define TIWLN_REPORT_SEVERITY_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1041                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 13, \
1042                            METHOD_BUFFERED,          \
1043                            FILE_ANY_ACCESS)
1044#define TIWLN_DRIVER_DEBUG_PRINT CTL_CODE(FILE_DEVICE_UNKNOWN, \
1045                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 14, \
1046                            METHOD_BUFFERED,          \
1047                            FILE_ANY_ACCESS)
1048
1049#define TIWLN_REPORT_PPMODE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1050                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 15, \
1051                            METHOD_BUFFERED,          \
1052                            FILE_ANY_ACCESS)
1053
1054#define TIWLN_OS_DBG_STATE_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1055                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 16, \
1056                            METHOD_BUFFERED,          \
1057                            FILE_ANY_ACCESS)
1058
1059#define TIWLN_OS_DBG_STATE_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1060                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 17, \
1061                            METHOD_BUFFERED,          \
1062                            FILE_ANY_ACCESS)
1063
1064#ifdef DRIVER_PROFILING
1065
1066#define TIWLAN_PROFILING_REPORT CTL_CODE(FILE_DEVICE_UNKNOWN, \
1067                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 18, \
1068                            METHOD_BUFFERED,          \
1069                            FILE_ANY_ACCESS)
1070
1071#define TIWLAN_PROFILING_CPU_ESTIMATOR_CMD CTL_CODE(FILE_DEVICE_UNKNOWN, \
1072                            SHELLDRV_IOCTL_INDEX + DEBUG_IOCTLS_OFFSET + 19, \
1073                            METHOD_BUFFERED,          \
1074                            FILE_ANY_ACCESS)
1075
1076#define TIWLAN_PROFILING_CPU_ESTIMATOR_CMD_START    0x01
1077#define TIWLAN_PROFILING_CPU_ESTIMATOR_CMD_STOP     0x02
1078#define TIWLAN_PROFILING_CPU_ESTIMATOR_CMD_RESET    0x03
1079
1080#endif /* DRIVER_PROFILING */
1081
1082#endif  /* TI_DBG*/
1083
1084
1085/************************************** Scan ********************************************/
1086
1087#define TIWLN_802_11_START_APP_SCAN_SET     CTL_CODE(FILE_DEVICE_UNKNOWN, \
1088                            SHELLDRV_IOCTL_INDEX + SCAN_IOCTLS_OFFSET + 1,\
1089                            METHOD_BUFFERED,                              \
1090                            FILE_ANY_ACCESS)
1091
1092#define TIWLN_802_11_STOP_APP_SCAN_SET     CTL_CODE(FILE_DEVICE_UNKNOWN,  \
1093                            SHELLDRV_IOCTL_INDEX + SCAN_IOCTLS_OFFSET + 2,\
1094                            METHOD_BUFFERED,                              \
1095                            FILE_ANY_ACCESS)
1096
1097#define TIWLN_802_11_SCAN_POLICY_PARAM_SET  CTL_CODE(FILE_DEVICE_UNKNOWN, \
1098                            SHELLDRV_IOCTL_INDEX + SCAN_IOCTLS_OFFSET + 3,\
1099                            METHOD_BUFFERED,                              \
1100                            FILE_ANY_ACCESS)
1101
1102#define TIWLN_802_11_SCAN_BSS_LIST_GET      CTL_CODE(FILE_DEVICE_UNKNOWN, \
1103                            SHELLDRV_IOCTL_INDEX + SCAN_IOCTLS_OFFSET + 4,\
1104                            METHOD_BUFFERED,                              \
1105                            FILE_ANY_ACCESS)
1106
1107/*************************************** Voice & QOS ********************************************/
1108
1109#define TIWLN_802_11_SET_QOS_PARAMS     CTL_CODE(FILE_DEVICE_UNKNOWN, \
1110                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 2, \
1111                                        METHOD_BUFFERED,          \
1112                                        FILE_ANY_ACCESS)
1113
1114#define TIWLN_802_11_POLL_AP_PACKETS   CTL_CODE(FILE_DEVICE_UNKNOWN, \
1115                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 3, \
1116                                       METHOD_BUFFERED,          \
1117                                       FILE_ANY_ACCESS)
1118
1119#define TIWLN_802_11_CONFIG_TX_CLASS   CTL_CODE(FILE_DEVICE_UNKNOWN, \
1120                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 4, \
1121                                       METHOD_BUFFERED,          \
1122                                       FILE_ANY_ACCESS)
1123
1124#define TIWLN_802_11_REMOVE_CLSFR_ENTRY   CTL_CODE(FILE_DEVICE_UNKNOWN, \
1125                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 5, \
1126                                       METHOD_BUFFERED,          \
1127                                       FILE_ANY_ACCESS)
1128
1129#define TIWLN_802_11_GET_CLSFR_TYPE CTL_CODE(FILE_DEVICE_UNKNOWN, \
1130                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 6, \
1131                                       METHOD_BUFFERED,          \
1132                                       FILE_ANY_ACCESS)
1133
1134#define TIWLN_802_11_GET_AP_QOS_PARAMS CTL_CODE(FILE_DEVICE_UNKNOWN, \
1135                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 7, \
1136                                       METHOD_BUFFERED,          \
1137                                       FILE_ANY_ACCESS)
1138
1139#define TIWLN_802_11_GET_AP_QOS_CAPABILITIES CTL_CODE(FILE_DEVICE_UNKNOWN, \
1140                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 8, \
1141                                       METHOD_BUFFERED,          \
1142                                       FILE_ANY_ACCESS)
1143
1144#define TIWLN_802_11_ADD_TSPEC CTL_CODE(FILE_DEVICE_UNKNOWN, \
1145                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 9, \
1146                                       METHOD_BUFFERED,          \
1147                                       FILE_ANY_ACCESS)
1148
1149#define TIWLN_802_11_GET_TSPEC_PARAMS CTL_CODE(FILE_DEVICE_UNKNOWN, \
1150                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 10, \
1151                                       METHOD_BUFFERED,          \
1152                                       FILE_ANY_ACCESS)
1153
1154#define TIWLN_802_11_DELETE_TSPEC CTL_CODE(FILE_DEVICE_UNKNOWN, \
1155                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 11, \
1156                            METHOD_BUFFERED,          \
1157                            FILE_ANY_ACCESS)
1158
1159#define TIWLN_802_11_GET_CURRENT_AC_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN, \
1160                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 12, \
1161                            METHOD_BUFFERED,          \
1162                            FILE_ANY_ACCESS)
1163
1164#define TIWLN_802_11_SET_MEDIUM_USAGE_THRESHOLD CTL_CODE(FILE_DEVICE_UNKNOWN, \
1165                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 13, \
1166                            METHOD_BUFFERED,          \
1167                            FILE_ANY_ACCESS)
1168
1169#define TIWLN_802_11_SET_PHY_RATE_THRESHOLD CTL_CODE(FILE_DEVICE_UNKNOWN, \
1170                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 14, \
1171                            METHOD_BUFFERED,          \
1172                            FILE_ANY_ACCESS)
1173
1174#define TIWLN_802_11_GET_MEDIUM_USAGE_THRESHOLD CTL_CODE(FILE_DEVICE_UNKNOWN, \
1175                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 15, \
1176                            METHOD_BUFFERED,          \
1177                            FILE_ANY_ACCESS)
1178
1179#define TIWLN_802_11_GET_PHY_RATE_THRESHOLD CTL_CODE(FILE_DEVICE_UNKNOWN, \
1180                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 16, \
1181                            METHOD_BUFFERED,          \
1182                            FILE_ANY_ACCESS)
1183
1184
1185#define TIWLN_802_11_GET_USER_PRIORITY_OF_STREAM CTL_CODE(FILE_DEVICE_UNKNOWN, \
1186                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 17, \
1187                            METHOD_BUFFERED,          \
1188                            FILE_ANY_ACCESS)
1189
1190#define TIWLN_802_11_POLL_AP_PACKETS_FROM_AC   CTL_CODE(FILE_DEVICE_UNKNOWN, \
1191                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 18, \
1192                                       METHOD_BUFFERED,          \
1193                                       FILE_ANY_ACCESS)
1194
1195#define TIWLN_802_11_GET_DESIRED_PS_MODE CTL_CODE(FILE_DEVICE_UNKNOWN, \
1196                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 19, \
1197                            METHOD_BUFFERED,          \
1198                            FILE_ANY_ACCESS)
1199
1200#define TIWLN_802_11_SET_RX_TIMEOUT     CTL_CODE(FILE_DEVICE_UNKNOWN, \
1201                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 20, \
1202                                        METHOD_BUFFERED,          \
1203                                        FILE_ANY_ACCESS)
1204
1205#define TIWLN_802_11_SET_DTAG_TO_AC_MAPPING_TABLE     CTL_CODE(FILE_DEVICE_UNKNOWN, \
1206                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 21, \
1207                                        METHOD_BUFFERED,          \
1208                                        FILE_ANY_ACCESS)
1209
1210#define TIWLN_802_11_SET_VAD     CTL_CODE(FILE_DEVICE_UNKNOWN, \
1211                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 22, \
1212                                        METHOD_BUFFERED,          \
1213                                        FILE_ANY_ACCESS)
1214
1215#define TIWLN_802_11_GET_VAD     CTL_CODE(FILE_DEVICE_UNKNOWN, \
1216                            SHELLDRV_IOCTL_INDEX + VOICE_QOS_IOCTLS_OFFSET + 23, \
1217                                        METHOD_BUFFERED,          \
1218                                        FILE_ANY_ACCESS)
1219
1220/*****************************************************************************************************/
1221/***  Roaming Manager Configuration Parameters  ***/
1222
1223#define TIWLN_802_11_ROAMING_CONFIG_PARAMS_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1224                            SHELLDRV_IOCTL_INDEX + ROAMING_IOCTLS_OFFSET + 1, \
1225                                       METHOD_BUFFERED,          \
1226                                       FILE_ANY_ACCESS)
1227
1228#define TIWLN_802_11_ROAMING_CONFIG_PARAMS_GET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1229                            SHELLDRV_IOCTL_INDEX + ROAMING_IOCTLS_OFFSET + 2, \
1230                                       METHOD_BUFFERED,          \
1231                                       FILE_ANY_ACCESS)
1232
1233
1234/*****************************************************************************************************/
1235/***  measurement Manager Configuration Parameters  ***/
1236
1237#define TIWLN_802_11_MEASUREMENT_ENABLE_DISABLE_PARAMS_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1238                            SHELLDRV_IOCTL_INDEX + MEASUREMENT_IOCTLS_OFFSET + 1, \
1239                                       METHOD_BUFFERED,          \
1240                                       FILE_ANY_ACCESS)
1241
1242
1243#define TIWLN_802_11_MEASUREMENT_MAX_DURATION_PARAMS_SET CTL_CODE(FILE_DEVICE_UNKNOWN, \
1244                            SHELLDRV_IOCTL_INDEX + MEASUREMENT_IOCTLS_OFFSET + 2, \
1245                                       METHOD_BUFFERED,          \
1246                                       FILE_ANY_ACCESS)
1247
1248
1249
1250
1251
1252/*************************************** PLT ********************************************/
1253
1254#define TIWLN_PLT_WRITE_REGISTER CTL_CODE(FILE_DEVICE_UNKNOWN, \
1255                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 1, \
1256                                       METHOD_BUFFERED,          \
1257                                       FILE_ANY_ACCESS)
1258
1259#define TIWLN_PLT_READ_REGISTER CTL_CODE(FILE_DEVICE_UNKNOWN, \
1260                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 2, \
1261                                       METHOD_BUFFERED,          \
1262                                       FILE_ANY_ACCESS)
1263
1264#define TIWLN_PLT_RX_PER_START CTL_CODE(FILE_DEVICE_UNKNOWN, \
1265                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 3, \
1266                                       METHOD_BUFFERED,          \
1267                                       FILE_ANY_ACCESS)
1268
1269#define TIWLN_PLT_RX_PER_STOP CTL_CODE(FILE_DEVICE_UNKNOWN, \
1270                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 4, \
1271                                       METHOD_BUFFERED,          \
1272                                       FILE_ANY_ACCESS)
1273
1274#define TIWLN_PLT_RX_PER_CLEAR CTL_CODE(FILE_DEVICE_UNKNOWN, \
1275                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 5, \
1276                                       METHOD_BUFFERED,          \
1277                                       FILE_ANY_ACCESS)
1278
1279#define TIWLN_PLT_RX_PER_GET_RESULTS CTL_CODE(FILE_DEVICE_UNKNOWN, \
1280                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 6, \
1281                                       METHOD_BUFFERED,          \
1282                                       FILE_ANY_ACCESS)
1283
1284#define TIWLN_PLT_TX_CW CTL_CODE(FILE_DEVICE_UNKNOWN, \
1285                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 7, \
1286                                       METHOD_BUFFERED,          \
1287                                       FILE_ANY_ACCESS)
1288
1289#define TIWLN_PLT_TX_CONTINUES CTL_CODE(FILE_DEVICE_UNKNOWN, \
1290                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 8, \
1291                                       METHOD_BUFFERED,          \
1292                                       FILE_ANY_ACCESS)
1293
1294#define TIWLN_PLT_TX_STOP CTL_CODE(FILE_DEVICE_UNKNOWN, \
1295                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 9, \
1296                                       METHOD_BUFFERED,          \
1297                                       FILE_ANY_ACCESS)
1298
1299#define TIWLN_PLT_MIB_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN, \
1300                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 10, \
1301                                       METHOD_BUFFERED,          \
1302                                       FILE_ANY_ACCESS)
1303
1304#define TIWLN_PLT_MIB_READ CTL_CODE(FILE_DEVICE_UNKNOWN, \
1305                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 11, \
1306                                       METHOD_BUFFERED,          \
1307                                       FILE_ANY_ACCESS)
1308
1309#define TIWLN_PLT_RX_TX_CAL CTL_CODE(FILE_DEVICE_UNKNOWN, \
1310                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 12, \
1311                                       METHOD_BUFFERED,          \
1312                                       FILE_ANY_ACCESS)
1313
1314#define TIWLN_PLT_RX_CAL CTL_CODE(FILE_DEVICE_UNKNOWN, \
1315                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 13, \
1316                                       METHOD_BUFFERED,          \
1317                                       FILE_ANY_ACCESS)
1318
1319#define TIWLN_PLT_RX_CAL_RESULT CTL_CODE(FILE_DEVICE_UNKNOWN, \
1320                            SHELLDRV_IOCTL_INDEX + PLT_IOCTLS_OFFSET + 14, \
1321                                       METHOD_BUFFERED,          \
1322                                       FILE_ANY_ACCESS)
1323
1324#ifdef _WINDOWS
1325#endif /* ifdef _WINDOWS */
1326
1327#endif
1328
1329
1330
1331
1332