PageRenderTime 43ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/common/inc/tiioctl.h

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