wlan_oid.h 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780
  1. /*
  2. ** Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/wlan_oid.h#4
  3. */
  4. /*! \file "wlan_oid.h"
  5. \brief This file contains the declairation file of the WLAN OID processing routines
  6. of Windows driver for MediaTek Inc. 802.11 Wireless LAN Adapters.
  7. */
  8. /*
  9. ** Log: wlan_oid.h
  10. **
  11. ** 08 23 2013 wh.su
  12. ** [BORA00002446] [MT6630] [Wi-Fi] [Driver] Update the security function code
  13. ** Add GTK re-key driver handle function
  14. **
  15. ** 08 15 2013 cp.wu
  16. ** [BORA00002253] [MT6630 Wi-Fi][Driver][Firmware] Add NLO and timeout mechanism to SCN module
  17. ** enlarge match_ssid_num to 16 for PNO support
  18. **
  19. ** 08 09 2013 eason.tsai
  20. ** [BORA00002255] [MT6630 Wi-Fi][Driver] develop
  21. ** update ICAP support code
  22. **
  23. ** 08 09 2013 cp.wu
  24. ** [BORA00002253] [MT6630 Wi-Fi][Driver][Firmware] Add NLO and timeout mechanism to SCN module
  25. ** 1. integrate scheduled scan functionality
  26. ** 2. condition compilation for linux-3.4 & linux-3.8 compatibility
  27. ** 3. correct CMD queue access to reduce lock scope
  28. **
  29. ** 07 23 2013 wh.su
  30. ** [BORA00002446] [MT6630] [Wi-Fi] [Driver] Update the security function code
  31. ** Modify some security code for 11w and p2p
  32. **
  33. ** 07 01 2013 wh.su
  34. ** [BORA00002446] [MT6630] [Wi-Fi] [Driver] Update the security function code
  35. ** Add some debug code, fixed some compiling warning
  36. **
  37. ** 03 20 2013 wh.su
  38. ** [BORA00002446] [MT6630] [Wi-Fi] [Driver] Update the security function code
  39. ** Add the security code for wlan table assign operation
  40. **
  41. ** 03 07 2013 yuche.tsai
  42. ** [BORA00002398] [MT6630][Volunteer Patch] P2P Driver Re-Design for Multiple BSS support
  43. ** Add wlan_p2p.c, but still need to FIX many place.
  44. **
  45. ** 09 17 2012 cm.chang
  46. ** [BORA00002149] [MT6630 Wi-Fi] Initial software development
  47. ** Duplicate source from MT6620 v2.3 driver branch
  48. ** (Davinci label: MT6620_WIFI_Driver_V2_3_120913_1942_As_MT6630_Base)
  49. **
  50. ** 08 24 2012 cp.wu
  51. ** [WCXRP00001269] [MT6620 Wi-Fi][Driver] cfg80211 porting merge back to DaVinci
  52. ** .
  53. **
  54. ** 08 24 2012 cp.wu
  55. ** [WCXRP00001269] [MT6620 Wi-Fi][Driver] cfg80211 porting merge back to DaVinci
  56. ** cfg80211 support merge back from ALPS.JB to DaVinci - MT6620 Driver v2.3 branch.
  57. *
  58. * 03 02 2012 terry.wu
  59. * NULL
  60. * Sync CFG80211 modification from branch 2,2.
  61. *
  62. * 01 05 2012 wh.su
  63. * [WCXRP00001153] [MT6620 Wi-Fi][Driver] Adding the get_ch_list and set_tx_power proto type function
  64. * Adding the related ioctl / wlan oid function to set the Tx power cfg.
  65. *
  66. * 07 18 2011 chinghwa.yu
  67. * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
  68. * Add CMD/Event for RDD and BWCS.
  69. *
  70. * 03 22 2011 george.huang
  71. * [WCXRP00000504] [MT6620 Wi-Fi][FW] Support Sigma CAPI for power saving related command
  72. * link with supplicant commands
  73. *
  74. * 03 17 2011 chinglan.wang
  75. * [WCXRP00000570] [MT6620 Wi-Fi][Driver] Add Wi-Fi Protected Setup v2.0 feature
  76. * .
  77. *
  78. * 03 02 2011 george.huang
  79. * [WCXRP00000504] [MT6620 Wi-Fi][FW] Support Sigma CAPI for power saving related command
  80. * Support UAPSD/OppPS/NoA parameter setting
  81. *
  82. * 01 20 2011 eddie.chen
  83. * [WCXRP00000374] [MT6620 Wi-Fi][DRV] SW debug control
  84. * Add Oid for sw control debug command
  85. *
  86. * 12 07 2010 cm.chang
  87. * [WCXRP00000238] MT6620 Wi-Fi][Driver][FW] Support regulation domain setting from NVRAM and supplicant
  88. * 1. Country code is from NVRAM or supplicant
  89. * 2. Change band definition in CMD/EVENT.
  90. *
  91. * 10 18 2010 cp.wu
  92. * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
  93. * [WCXRP00000086] [MT6620 Wi-Fi][Driver] The mac address is all zero at android
  94. * complete implementation of Android NVRAM access
  95. *
  96. * 10 08 2010 cp.wu
  97. * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
  98. * adding fixed rate support for distance test. (from registry setting)
  99. *
  100. * 09 23 2010 cp.wu
  101. * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
  102. * add skeleton for NVRAM integration
  103. *
  104. * 09 08 2010 cp.wu
  105. * NULL
  106. * use static memory pool for storing IEs of scanning result.
  107. *
  108. * 09 03 2010 kevin.huang
  109. * NULL
  110. * Refine #include sequence and solve recursive/nested #include issue
  111. *
  112. * 08 29 2010 yuche.tsai
  113. * NULL
  114. * Finish SLT TX/RX & Rate Changing Support.
  115. *
  116. * 08 04 2010 cp.wu
  117. * NULL
  118. * revert changelist #15371, efuse read/write access will be done by RF test approach
  119. *
  120. * 08 04 2010 cp.wu
  121. * NULL
  122. * add OID definitions for EFUSE read/write access.
  123. *
  124. * 08 04 2010 yarco.yang
  125. * NULL
  126. * Add TX_AMPDU and ADDBA_REJECT command
  127. *
  128. * 08 02 2010 george.huang
  129. * NULL
  130. * add WMM-PS test related OID/ CMD handlers
  131. *
  132. * 07 08 2010 cp.wu
  133. *
  134. * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
  135. *
  136. * 06 22 2010 cp.wu
  137. * [WPD00003833][MT6620 and MT5931] Driver migration
  138. * 1) add command warpper for STA-REC/BSS-INFO sync.
  139. * 2) enhance command packet sending procedure for non-oid part
  140. * 3) add command packet definitions for STA-REC/BSS-INFO sync.
  141. *
  142. * 06 18 2010 wh.su
  143. * [WPD00003840][MT6620 5931] Security migration
  144. * migration from MT6620 firmware.
  145. *
  146. * 06 07 2010 cp.wu
  147. * [WPD00003833][MT6620 and MT5931] Driver migration
  148. * merge wlan_def.h.
  149. *
  150. * 06 07 2010 cp.wu
  151. * [WPD00003833][MT6620 and MT5931] Driver migration
  152. * merge wifi_var.h, precomp.h, cnm_timer.h (data type only)
  153. *
  154. * 06 06 2010 kevin.huang
  155. * [WPD00003832][MT6620 5931] Create driver base
  156. * [MT6620 5931] Create driver base
  157. *
  158. * 06 03 2010 cp.wu
  159. * [WPD00001943]Create WiFi test driver framework on WinXP
  160. * move timer callback to glue layer.
  161. *
  162. * 05 20 2010 cp.wu
  163. * [WPD00001943]Create WiFi test driver framework on WinXP
  164. * 1) integrate OID_GEN_NETWORK_LAYER_ADDRESSES with CMD_ID_SET_IP_ADDRESS
  165. * 2) buffer statistics data for 2 seconds
  166. * 3) use default value for adhoc parameters instead of 0
  167. *
  168. * 05 18 2010 cp.wu
  169. * [WPD00001943]Create WiFi test driver framework on WinXP
  170. * implement Wakeup-on-LAN except firmware integration part
  171. *
  172. * 05 17 2010 cp.wu
  173. * [WPD00001943]Create WiFi test driver framework on WinXP
  174. * MT6620 is not supporting NDIS_PACKET_TYPE_PROMISCUOUS.
  175. *
  176. *
  177. * 05 17 2010 cp.wu
  178. * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
  179. * 1) add timeout handler mechanism for pending command packets
  180. * 2) add p2p add/removal key
  181. *
  182. * 05 13 2010 cp.wu
  183. * [WPD00001943]Create WiFi test driver framework on WinXP
  184. * add NULL OID implementation for WOL-related OIDs.
  185. *
  186. * 04 22 2010 cp.wu
  187. * [WPD00003830]add OID_802_11_PRIVACY_FILTER support
  188. * enable RX filter OID
  189. *
  190. * 04 14 2010 cp.wu
  191. * [WPD00001943]Create WiFi test driver framework on WinXP
  192. * information buffer for query oid/ioctl is now buffered in prCmdInfo
  193. * * * * * instead of glue-layer variable to improve multiple oid/ioctl capability
  194. *
  195. * 03 31 2010 wh.su
  196. * [WPD00003816][MT6620 Wi-Fi] Adding the security support
  197. * modify the wapi related code for new driver's design.
  198. *
  199. * 03 26 2010 cp.wu
  200. * [WPD00001943]Create WiFi test driver framework on WinXP
  201. * indicate media stream mode after set is done
  202. *
  203. * 03 24 2010 jeffrey.chang
  204. * [WPD00003826]Initial import for Linux port
  205. * initial import for Linux port
  206. *
  207. * 03 03 2010 cp.wu
  208. * [WPD00001943]Create WiFi test driver framework on WinXP
  209. * implement custom OID: EEPROM read/write access
  210. *
  211. * 02 09 2010 cp.wu
  212. * [WPD00001943]Create WiFi test driver framework on WinXP
  213. * 1. Permanent and current MAC address are now retrieved by CMD/EVENT packets instead of hard-coded address
  214. * * * * * * 2. follow MSDN defined behavior when associates to another AP
  215. * * * * * * 3. for firmware download, packet size could be up to 2048 bytes
  216. *
  217. * 01 27 2010 cp.wu
  218. * [WPD00001943]Create WiFi test driver framework on WinXP
  219. * 1) implement timeout mechanism when OID is pending for longer than 1 second
  220. * * * 2) allow OID_802_11_CONFIGURATION to be executed when RF test mode is turned on
  221. *
  222. * 01 27 2010 wh.su
  223. * [WPD00003816][MT6620 Wi-Fi] Adding the security support
  224. * .
  225. *
  226. * 01 22 2010 cp.wu
  227. * [WPD00001943]Create WiFi test driver framework on WinXP
  228. * implement following 802.11 OIDs:
  229. * * * * OID_802_11_RSSI,
  230. * * * * OID_802_11_RSSI_TRIGGER,
  231. * * * * OID_802_11_STATISTICS,
  232. * * * * OID_802_11_DISASSOCIATE,
  233. * * * * OID_802_11_POWER_MODE
  234. *
  235. * 01 21 2010 cp.wu
  236. * [WPD00001943]Create WiFi test driver framework on WinXP
  237. * implement OID_802_11_MEDIA_STREAM_MODE
  238. *
  239. * 01 21 2010 cp.wu
  240. * [WPD00001943]Create WiFi test driver framework on WinXP
  241. * implement OID_802_11_SUPPORTED_RATES / OID_802_11_DESIRED_RATES
  242. ** \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-12-08 11:38:11 GMT mtk02752
  243. ** add declares for RF test related APIs
  244. ** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-11-24 22:41:53 GMT mtk02752
  245. ** remove u4SysTime, MSDN 10-second will be implemented in FW side
  246. ** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-11-23 20:30:13 GMT mtk02752
  247. ** add u4SysTime field in PARAM_BSSID_EX_T
  248. ** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-11-12 19:48:35 GMT mtk02752
  249. ** allow upper layer to set a packet filter with PROMISCUOUS mode
  250. ** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:12:12 GMT mtk01426
  251. ** Init for develop
  252. **
  253. */
  254. #ifndef _WLAN_OID_H
  255. #define _WLAN_OID_H
  256. /*******************************************************************************
  257. * C O M P I L E R F L A G S
  258. ********************************************************************************
  259. */
  260. /*******************************************************************************
  261. * E X T E R N A L R E F E R E N C E S
  262. ********************************************************************************
  263. */
  264. /*******************************************************************************
  265. * C O N S T A N T S
  266. ********************************************************************************
  267. */
  268. #define PARAM_MAX_LEN_SSID 32
  269. #define PARAM_MAC_ADDR_LEN 6
  270. #define ETHERNET_HEADER_SZ 14
  271. #define ETHERNET_MIN_PKT_SZ 60
  272. #define ETHERNET_MAX_PKT_SZ 1514
  273. #define PARAM_MAX_LEN_RATES 8
  274. #define PARAM_MAX_LEN_RATES_EX 16
  275. #define PARAM_AUTH_REQUEST_REAUTH 0x01
  276. #define PARAM_AUTH_REQUEST_KEYUPDATE 0x02
  277. #define PARAM_AUTH_REQUEST_PAIRWISE_ERROR 0x06
  278. #define PARAM_AUTH_REQUEST_GROUP_ERROR 0x0E
  279. #define PARAM_EEPROM_READ_METHOD_READ 1
  280. #define PARAM_EEPROM_READ_METHOD_GETSIZE 0
  281. #define PARAM_WHQL_RSSI_MAX_DBM (-10)
  282. #define PARAM_WHQL_RSSI_MIN_DBM (-200)
  283. #define PARAM_DEVICE_WAKE_UP_ENABLE 0x00000001
  284. #define PARAM_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
  285. #define PARAM_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
  286. #define PARAM_WAKE_UP_MAGIC_PACKET 0x00000001
  287. #define PARAM_WAKE_UP_PATTERN_MATCH 0x00000002
  288. #define PARAM_WAKE_UP_LINK_CHANGE 0x00000004
  289. /* Packet filter bit definitioin (UINT_32 bit-wise definition) */
  290. #define PARAM_PACKET_FILTER_DIRECTED 0x00000001
  291. #define PARAM_PACKET_FILTER_MULTICAST 0x00000002
  292. #define PARAM_PACKET_FILTER_ALL_MULTICAST 0x00000004
  293. #define PARAM_PACKET_FILTER_BROADCAST 0x00000008
  294. #define PARAM_PACKET_FILTER_PROMISCUOUS 0x00000020
  295. #define PARAM_PACKET_FILTER_ALL_LOCAL 0x00000080
  296. #if CFG_ENABLE_WIFI_DIRECT_CFG_80211
  297. #define PARAM_PACKET_FILTER_P2P_MASK 0xC0000000
  298. #define PARAM_PACKET_FILTER_PROBE_REQ 0x80000000
  299. #define PARAM_PACKET_FILTER_ACTION_FRAME 0x40000000
  300. #endif
  301. #if CFG_SLT_SUPPORT
  302. #define PARAM_PACKET_FILTER_SUPPORTED (PARAM_PACKET_FILTER_DIRECTED | \
  303. PARAM_PACKET_FILTER_MULTICAST | \
  304. PARAM_PACKET_FILTER_BROADCAST | \
  305. PARAM_PACKET_FILTER_ALL_MULTICAST)
  306. #else
  307. #define PARAM_PACKET_FILTER_SUPPORTED (PARAM_PACKET_FILTER_DIRECTED | \
  308. PARAM_PACKET_FILTER_MULTICAST | \
  309. PARAM_PACKET_FILTER_BROADCAST)
  310. #endif
  311. #define PARAM_MEM_DUMP_MAX_SIZE 2048
  312. #define BT_PROFILE_PARAM_LEN 8
  313. /*******************************************************************************
  314. * D A T A T Y P E S
  315. ********************************************************************************
  316. */
  317. /*----------------------------------------------------------------------------*/
  318. /* Parameters of User Configuration which match to NDIS5.1 */
  319. /*----------------------------------------------------------------------------*/
  320. /* NDIS_802_11_AUTHENTICATION_MODE */
  321. typedef enum _ENUM_PARAM_AUTH_MODE_T {
  322. AUTH_MODE_OPEN, /*!< Open system */
  323. AUTH_MODE_SHARED, /*!< Shared key */
  324. AUTH_MODE_AUTO_SWITCH, /*!< Either open system or shared key */
  325. AUTH_MODE_WPA,
  326. AUTH_MODE_WPA_PSK,
  327. AUTH_MODE_WPA_NONE, /*!< For Ad hoc */
  328. AUTH_MODE_WPA2,
  329. AUTH_MODE_WPA2_PSK,
  330. AUTH_MODE_NUM /*!< Upper bound, not real case */
  331. } ENUM_PARAM_AUTH_MODE_T, *P_ENUM_PARAM_AUTH_MODE_T;
  332. /* NDIS_802_11_ENCRYPTION_STATUS *//* Encryption types */
  333. typedef enum _ENUM_WEP_STATUS_T {
  334. ENUM_WEP_ENABLED,
  335. ENUM_ENCRYPTION1_ENABLED = ENUM_WEP_ENABLED,
  336. ENUM_WEP_DISABLED,
  337. ENUM_ENCRYPTION_DISABLED = ENUM_WEP_DISABLED,
  338. ENUM_WEP_KEY_ABSENT,
  339. ENUM_ENCRYPTION1_KEY_ABSENT = ENUM_WEP_KEY_ABSENT,
  340. ENUM_WEP_NOT_SUPPORTED,
  341. ENUM_ENCRYPTION_NOT_SUPPORTED = ENUM_WEP_NOT_SUPPORTED,
  342. ENUM_ENCRYPTION2_ENABLED,
  343. ENUM_ENCRYPTION2_KEY_ABSENT,
  344. ENUM_ENCRYPTION3_ENABLED,
  345. ENUM_ENCRYPTION3_KEY_ABSENT
  346. } ENUM_PARAM_ENCRYPTION_STATUS_T, *P_ENUM_PARAM_ENCRYPTION_STATUS_T;
  347. typedef UINT_8 PARAM_MAC_ADDRESS[PARAM_MAC_ADDR_LEN];
  348. typedef UINT_32 PARAM_KEY_INDEX;
  349. typedef UINT_64 PARAM_KEY_RSC;
  350. typedef INT_32 PARAM_RSSI;
  351. typedef UINT_32 PARAM_FRAGMENTATION_THRESHOLD;
  352. typedef UINT_32 PARAM_RTS_THRESHOLD;
  353. typedef UINT_8 PARAM_RATES[PARAM_MAX_LEN_RATES];
  354. typedef UINT_8 PARAM_RATES_EX[PARAM_MAX_LEN_RATES_EX];
  355. typedef enum _ENUM_PARAM_PHY_TYPE_T {
  356. PHY_TYPE_802_11ABG = 0, /*!< Can associated with 802.11abg AP,
  357. Scan dual band. */
  358. PHY_TYPE_802_11BG, /*!< Can associated with 802_11bg AP,
  359. Scan single band and not report 802_11a BSSs. */
  360. PHY_TYPE_802_11G, /*!< Can associated with 802_11g only AP,
  361. Scan single band and not report 802_11ab BSSs. */
  362. PHY_TYPE_802_11A, /*!< Can associated with 802_11a only AP,
  363. Scan single band and not report 802_11bg BSSs. */
  364. PHY_TYPE_802_11B, /*!< Can associated with 802_11b only AP,
  365. Scan single band and not report 802_11ag BSSs. */
  366. PHY_TYPE_NUM /* 5 */
  367. } ENUM_PARAM_PHY_TYPE_T, *P_ENUM_PARAM_PHY_TYPE_T;
  368. typedef enum _ENUM_PARAM_OP_MODE_T {
  369. NET_TYPE_IBSS = 0, /*!< Try to merge/establish an AdHoc, do periodic SCAN for merging. */
  370. NET_TYPE_INFRA, /*!< Try to join an Infrastructure, do periodic SCAN for joining. */
  371. NET_TYPE_AUTO_SWITCH, /*!< Try to join an Infrastructure, if fail then try to merge or
  372. establish an AdHoc, do periodic SCAN for joining or merging. */
  373. NET_TYPE_DEDICATED_IBSS, /*!< Try to merge an AdHoc first,
  374. if fail then establish AdHoc permanently, no more SCAN. */
  375. NET_TYPE_NUM /* 4 */
  376. } ENUM_PARAM_OP_MODE_T, *P_ENUM_PARAM_OP_MODE_T;
  377. typedef struct _PARAM_SSID_T {
  378. UINT_32 u4SsidLen; /*!< SSID length in bytes. Zero length is broadcast(any) SSID */
  379. UINT_8 aucSsid[PARAM_MAX_LEN_SSID];
  380. } PARAM_SSID_T, *P_PARAM_SSID_T;
  381. typedef struct _PARAM_CONNECT_T {
  382. UINT_32 u4SsidLen; /*!< SSID length in bytes. Zero length is broadcast(any) SSID */
  383. UINT_8 *pucSsid;
  384. UINT_8 *pucBssid;
  385. UINT_32 u4CenterFreq;
  386. } PARAM_CONNECT_T, *P_PARAM_CONNECT_T;
  387. /* This is enum defined for user to select an AdHoc Mode */
  388. typedef enum _ENUM_PARAM_AD_HOC_MODE_T {
  389. AD_HOC_MODE_11B = 0, /*!< Create 11b IBSS if we support 802.11abg/802.11bg. */
  390. AD_HOC_MODE_MIXED_11BG, /*!< Create 11bg mixed IBSS if we support 802.11abg/802.11bg/802.11g. */
  391. AD_HOC_MODE_11G, /*!< Create 11g only IBSS if we support 802.11abg/802.11bg/802.11g. */
  392. AD_HOC_MODE_11A, /*!< Create 11a only IBSS if we support 802.11abg. */
  393. AD_HOC_MODE_NUM /* 4 */
  394. } ENUM_PARAM_AD_HOC_MODE_T, *P_ENUM_PARAM_AD_HOC_MODE_T;
  395. typedef enum _ENUM_PARAM_MEDIA_STATE_T {
  396. PARAM_MEDIA_STATE_CONNECTED,
  397. PARAM_MEDIA_STATE_DISCONNECTED,
  398. PARAM_MEDIA_STATE_TO_BE_INDICATED /* for following MSDN re-association behavior */
  399. } ENUM_PARAM_MEDIA_STATE_T, *P_ENUM_PARAM_MEDIA_STATE_T;
  400. typedef enum _ENUM_PARAM_NETWORK_TYPE_T {
  401. PARAM_NETWORK_TYPE_FH,
  402. PARAM_NETWORK_TYPE_DS,
  403. PARAM_NETWORK_TYPE_OFDM5,
  404. PARAM_NETWORK_TYPE_OFDM24,
  405. PARAM_NETWORK_TYPE_AUTOMODE,
  406. PARAM_NETWORK_TYPE_NUM /*!< Upper bound, not real case */
  407. } ENUM_PARAM_NETWORK_TYPE_T, *P_ENUM_PARAM_NETWORK_TYPE_T;
  408. typedef struct _PARAM_NETWORK_TYPE_LIST {
  409. UINT_32 NumberOfItems; /*!< At least 1 */
  410. ENUM_PARAM_NETWORK_TYPE_T eNetworkType[1];
  411. } PARAM_NETWORK_TYPE_LIST, *PPARAM_NETWORK_TYPE_LIST;
  412. typedef enum _ENUM_PARAM_PRIVACY_FILTER_T {
  413. PRIVACY_FILTER_ACCEPT_ALL,
  414. PRIVACY_FILTER_8021xWEP,
  415. PRIVACY_FILTER_NUM
  416. } ENUM_PARAM_PRIVACY_FILTER_T, *P_ENUM_PARAM_PRIVACY_FILTER_T;
  417. typedef enum _ENUM_RELOAD_DEFAULTS {
  418. ENUM_RELOAD_WEP_KEYS
  419. } PARAM_RELOAD_DEFAULTS, *P_PARAM_RELOAD_DEFAULTS;
  420. typedef struct _PARAM_PM_PACKET_PATTERN {
  421. UINT_32 Priority; /* Importance of the given pattern. */
  422. UINT_32 Reserved; /* Context information for transports. */
  423. UINT_32 MaskSize; /* Size in bytes of the pattern mask. */
  424. UINT_32 PatternOffset; /* Offset from beginning of this */
  425. /* structure to the pattern bytes. */
  426. UINT_32 PatternSize; /* Size in bytes of the pattern. */
  427. UINT_32 PatternFlags; /* Flags (TBD). */
  428. } PARAM_PM_PACKET_PATTERN, *P_PARAM_PM_PACKET_PATTERN;
  429. /*--------------------------------------------------------------*/
  430. /*! \brief Struct definition to indicate specific event. */
  431. /*--------------------------------------------------------------*/
  432. typedef enum _ENUM_STATUS_TYPE_T {
  433. ENUM_STATUS_TYPE_AUTHENTICATION,
  434. ENUM_STATUS_TYPE_MEDIA_STREAM_MODE,
  435. ENUM_STATUS_TYPE_CANDIDATE_LIST,
  436. ENUM_STATUS_TYPE_NUM /*!< Upper bound, not real case */
  437. } ENUM_STATUS_TYPE_T, *P_ENUM_STATUS_TYPE_T;
  438. typedef struct _PARAM_802_11_CONFIG_FH_T {
  439. UINT_32 u4Length; /*!< Length of structure */
  440. UINT_32 u4HopPattern; /*!< Defined as 802.11 */
  441. UINT_32 u4HopSet; /*!< to one if non-802.11 */
  442. UINT_32 u4DwellTime; /*!< In unit of Kusec */
  443. } PARAM_802_11_CONFIG_FH_T, *P_PARAM_802_11_CONFIG_FH_T;
  444. typedef struct _PARAM_802_11_CONFIG_T {
  445. UINT_32 u4Length; /*!< Length of structure */
  446. UINT_32 u4BeaconPeriod; /*!< In unit of Kusec */
  447. UINT_32 u4ATIMWindow; /*!< In unit of Kusec */
  448. UINT_32 u4DSConfig; /*!< Channel frequency in unit of kHz */
  449. PARAM_802_11_CONFIG_FH_T rFHConfig;
  450. } PARAM_802_11_CONFIG_T, *P_PARAM_802_11_CONFIG_T;
  451. typedef struct _PARAM_STATUS_INDICATION_T {
  452. ENUM_STATUS_TYPE_T eStatusType;
  453. } PARAM_STATUS_INDICATION_T, *P_PARAM_STATUS_INDICATION_T;
  454. typedef struct _PARAM_AUTH_REQUEST_T {
  455. UINT_32 u4Length; /*!< Length of this struct */
  456. PARAM_MAC_ADDRESS arBssid;
  457. UINT_32 u4Flags; /*!< Definitions are as follows */
  458. } PARAM_AUTH_REQUEST_T, *P_PARAM_AUTH_REQUEST_T;
  459. typedef struct _PARAM_AUTH_EVENT_T {
  460. PARAM_STATUS_INDICATION_T rStatus;
  461. PARAM_AUTH_REQUEST_T arRequest[1];
  462. } PARAM_AUTH_EVENT_T, *P_PARAM_AUTH_EVENT_T;
  463. /*! \brief Capabilities, privacy, rssi and IEs of each BSSID */
  464. typedef struct _PARAM_BSSID_EX_T {
  465. UINT_32 u4Length; /*!< Length of structure */
  466. PARAM_MAC_ADDRESS arMacAddress; /*!< BSSID */
  467. UINT_8 Reserved[2];
  468. PARAM_SSID_T rSsid; /*!< SSID */
  469. UINT_32 u4Privacy; /*!< Need WEP encryption */
  470. PARAM_RSSI rRssi; /*!< in dBm */
  471. ENUM_PARAM_NETWORK_TYPE_T eNetworkTypeInUse;
  472. PARAM_802_11_CONFIG_T rConfiguration;
  473. ENUM_PARAM_OP_MODE_T eOpMode;
  474. PARAM_RATES_EX rSupportedRates;
  475. UINT_32 u4IELength;
  476. UINT_8 aucIEs[1];
  477. } PARAM_BSSID_EX_T, *P_PARAM_BSSID_EX_T;
  478. typedef struct _PARAM_BSSID_LIST_EX {
  479. UINT_32 u4NumberOfItems; /*!< at least 1 */
  480. PARAM_BSSID_EX_T arBssid[1];
  481. } PARAM_BSSID_LIST_EX_T, *P_PARAM_BSSID_LIST_EX_T;
  482. typedef struct _PARAM_WEP_T {
  483. UINT_32 u4Length; /*!< Length of structure */
  484. UINT_32 u4KeyIndex; /*!< 0: pairwise key, others group keys */
  485. UINT_32 u4KeyLength; /*!< Key length in bytes */
  486. UINT_8 aucKeyMaterial[32]; /*!< Key content by above setting */
  487. } PARAM_WEP_T, *P_PARAM_WEP_T;
  488. /*! \brief Key mapping of BSSID */
  489. typedef struct _PARAM_KEY_T {
  490. UINT_32 u4Length; /*!< Length of structure */
  491. UINT_32 u4KeyIndex; /*!< KeyID */
  492. UINT_32 u4KeyLength; /*!< Key length in bytes */
  493. PARAM_MAC_ADDRESS arBSSID; /*!< MAC address */
  494. PARAM_KEY_RSC rKeyRSC;
  495. UINT_8 aucKeyMaterial[32]; /*!< Key content by above setting */
  496. UINT_8 ucBssIdx;
  497. } PARAM_KEY_T, *P_PARAM_KEY_T;
  498. typedef struct _PARAM_REMOVE_KEY_T {
  499. UINT_32 u4Length; /*!< Length of structure */
  500. UINT_32 u4KeyIndex; /*!< KeyID */
  501. PARAM_MAC_ADDRESS arBSSID; /*!< MAC address */
  502. UINT_8 ucBssIdx;
  503. } PARAM_REMOVE_KEY_T, *P_PARAM_REMOVE_KEY_T;
  504. /*! \brief Default key */
  505. typedef struct _PARAM_DEFAULT_KEY_T {
  506. UINT_8 ucKeyID;
  507. UINT_8 ucUnicast;
  508. UINT_8 ucMulticast;
  509. UINT_8 ucBssIdx;
  510. } PARAM_DEFAULT_KEY_T, *P_PARAM_DEFAULT_KEY_T;
  511. #if CFG_SUPPORT_WAPI
  512. typedef enum _ENUM_KEY_TYPE {
  513. ENUM_WPI_PAIRWISE_KEY = 0,
  514. ENUM_WPI_GROUP_KEY
  515. } ENUM_KEY_TYPE;
  516. typedef enum _ENUM_WPI_PROTECT_TYPE {
  517. ENUM_WPI_NONE,
  518. ENUM_WPI_RX,
  519. ENUM_WPI_TX,
  520. ENUM_WPI_RX_TX
  521. } ENUM_WPI_PROTECT_TYPE;
  522. typedef struct _PARAM_WPI_KEY_T {
  523. ENUM_KEY_TYPE eKeyType;
  524. ENUM_WPI_PROTECT_TYPE eDirection;
  525. UINT_8 ucKeyID;
  526. UINT_8 aucRsv[3];
  527. UINT_8 aucAddrIndex[12];
  528. UINT_32 u4LenWPIEK;
  529. UINT_8 aucWPIEK[256];
  530. UINT_32 u4LenWPICK;
  531. UINT_8 aucWPICK[256];
  532. UINT_8 aucPN[16];
  533. } PARAM_WPI_KEY_T, *P_PARAM_WPI_KEY_T;
  534. #endif
  535. typedef enum _PARAM_POWER_MODE {
  536. Param_PowerModeCAM,
  537. Param_PowerModeMAX_PSP,
  538. Param_PowerModeFast_PSP,
  539. Param_PowerModeMax /* Upper bound, not real case */
  540. } PARAM_POWER_MODE, *PPARAM_POWER_MODE;
  541. typedef enum _PARAM_DEVICE_POWER_STATE {
  542. ParamDeviceStateUnspecified = 0,
  543. ParamDeviceStateD0,
  544. ParamDeviceStateD1,
  545. ParamDeviceStateD2,
  546. ParamDeviceStateD3,
  547. ParamDeviceStateMaximum
  548. } PARAM_DEVICE_POWER_STATE, *PPARAM_DEVICE_POWER_STATE;
  549. typedef struct _PARAM_POWER_MODE_T {
  550. UINT_8 ucBssIdx;
  551. PARAM_POWER_MODE ePowerMode;
  552. } PARAM_POWER_MODE_T, *P_PARAM_POWER_MODE_T;
  553. #if CFG_SUPPORT_802_11D
  554. /*! \brief The enumeration definitions for OID_IPN_MULTI_DOMAIN_CAPABILITY */
  555. typedef enum _PARAM_MULTI_DOMAIN_CAPABILITY {
  556. ParamMultiDomainCapDisabled,
  557. ParamMultiDomainCapEnabled
  558. } PARAM_MULTI_DOMAIN_CAPABILITY, *P_PARAM_MULTI_DOMAIN_CAPABILITY;
  559. #endif
  560. typedef struct _COUNTRY_STRING_ENTRY {
  561. UINT_8 aucCountryCode[2];
  562. UINT_8 aucEnvironmentCode[2];
  563. } COUNTRY_STRING_ENTRY, *P_COUNTRY_STRING_ENTRY;
  564. /* Power management related definition and enumerations */
  565. #define UAPSD_NONE 0
  566. #define UAPSD_AC0 (BIT(0) | BIT(4))
  567. #define UAPSD_AC1 (BIT(1) | BIT(5))
  568. #define UAPSD_AC2 (BIT(2) | BIT(6))
  569. #define UAPSD_AC3 (BIT(3) | BIT(7))
  570. #define UAPSD_ALL (UAPSD_AC0 | UAPSD_AC1 | UAPSD_AC2 | UAPSD_AC3)
  571. typedef enum _ENUM_POWER_SAVE_PROFILE_T {
  572. ENUM_PSP_CONTINUOUS_ACTIVE = 0,
  573. ENUM_PSP_CONTINUOUS_POWER_SAVE,
  574. ENUM_PSP_FAST_SWITCH,
  575. ENUM_PSP_NUM
  576. } ENUM_POWER_SAVE_PROFILE_T, *PENUM_POWER_SAVE_PROFILE_T;
  577. /*--------------------------------------------------------------*/
  578. /*! \brief Set/Query testing type. */
  579. /*--------------------------------------------------------------*/
  580. typedef struct _PARAM_802_11_TEST_T {
  581. UINT_32 u4Length;
  582. UINT_32 u4Type;
  583. union {
  584. PARAM_AUTH_EVENT_T AuthenticationEvent;
  585. PARAM_RSSI RssiTrigger;
  586. } u;
  587. } PARAM_802_11_TEST_T, *P_PARAM_802_11_TEST_T;
  588. /*--------------------------------------------------------------*/
  589. /*! \brief Set/Query authentication and encryption capability. */
  590. /*--------------------------------------------------------------*/
  591. typedef struct _PARAM_AUTH_ENCRYPTION_T {
  592. ENUM_PARAM_AUTH_MODE_T eAuthModeSupported;
  593. ENUM_PARAM_ENCRYPTION_STATUS_T eEncryptStatusSupported;
  594. } PARAM_AUTH_ENCRYPTION_T, *P_PARAM_AUTH_ENCRYPTION_T;
  595. typedef struct _PARAM_CAPABILITY_T {
  596. UINT_32 u4Length;
  597. UINT_32 u4Version;
  598. UINT_32 u4NoOfPMKIDs;
  599. UINT_32 u4NoOfAuthEncryptPairsSupported;
  600. PARAM_AUTH_ENCRYPTION_T arAuthenticationEncryptionSupported[1];
  601. } PARAM_CAPABILITY_T, *P_PARAM_CAPABILITY_T;
  602. typedef UINT_8 PARAM_PMKID_VALUE[16];
  603. typedef struct _PARAM_BSSID_INFO_T {
  604. PARAM_MAC_ADDRESS arBSSID;
  605. PARAM_PMKID_VALUE arPMKID;
  606. } PARAM_BSSID_INFO_T, *P_PARAM_BSSID_INFO_T;
  607. typedef struct _PARAM_PMKID_T {
  608. UINT_32 u4Length;
  609. UINT_32 u4BSSIDInfoCount;
  610. PARAM_BSSID_INFO_T arBSSIDInfo[1];
  611. } PARAM_PMKID_T, *P_PARAM_PMKID_T;
  612. /*! \brief PMKID candidate lists. */
  613. typedef struct _PARAM_PMKID_CANDIDATE_T {
  614. PARAM_MAC_ADDRESS arBSSID;
  615. UINT_32 u4Flags;
  616. } PARAM_PMKID_CANDIDATE_T, *P_PARAM_PMKID_CANDIDATE_T;
  617. /* #ifdef LINUX */
  618. typedef struct _PARAM_PMKID_CANDIDATE_LIST_T {
  619. UINT_32 u4Version; /*!< Version */
  620. UINT_32 u4NumCandidates; /*!< How many candidates follow */
  621. PARAM_PMKID_CANDIDATE_T arCandidateList[1];
  622. } PARAM_PMKID_CANDIDATE_LIST_T, *P_PARAM_PMKID_CANDIDATE_LIST_T;
  623. /* #endif */
  624. #define NL80211_KCK_LEN 16
  625. #define NL80211_KEK_LEN 16
  626. #define NL80211_REPLAY_CTR_LEN 8
  627. typedef struct _PARAM_GTK_REKEY_DATA {
  628. UINT_8 aucKek[NL80211_KEK_LEN];
  629. UINT_8 aucKck[NL80211_KCK_LEN];
  630. UINT_8 aucReplayCtr[NL80211_REPLAY_CTR_LEN];
  631. } PARAM_GTK_REKEY_DATA, *P_PARAM_GTK_REKEY_DATA;
  632. typedef struct _PARAM_CUSTOM_MCR_RW_STRUCT_T {
  633. UINT_32 u4McrOffset;
  634. UINT_32 u4McrData;
  635. } PARAM_CUSTOM_MCR_RW_STRUCT_T, *P_PARAM_CUSTOM_MCR_RW_STRUCT_T;
  636. typedef struct _PARAM_CUSTOM_MEM_DUMP_STRUCT_T {
  637. UINT_32 u4Address;
  638. UINT_32 u4Length;
  639. UINT_32 u4RemainLength;
  640. UINT_8 ucFragNum;
  641. } PARAM_CUSTOM_MEM_DUMP_STRUCT_T, *P_PARAM_CUSTOM_MEM_DUMP_STRUCT_T;
  642. typedef struct _PARAM_CUSTOM_SW_CTRL_STRUCT_T {
  643. UINT_32 u4Id;
  644. UINT_32 u4Data;
  645. } PARAM_CUSTOM_SW_CTRL_STRUCT_T, *P_PARAM_CUSTOM_SW_CTRL_STRUCT_T;
  646. typedef struct _PARAM_CUSTOM_CHIP_CONFIG_STRUCT_T {
  647. UINT_16 u2Id;
  648. UINT_8 ucType;
  649. UINT_8 ucRespType;
  650. UINT_16 u2MsgSize;
  651. UINT_8 aucReserved0[2];
  652. UINT_8 aucCmd[CHIP_CONFIG_RESP_SIZE];
  653. } PARAM_CUSTOM_CHIP_CONFIG_STRUCT_T, *P_PARAM_CUSTOM_CHIP_CONFIG_STRUCT_T;
  654. typedef struct _PARAM_CUSTOM_KEY_CFG_STRUCT_T {
  655. UINT_8 aucKey[WLAN_CFG_KEY_LEN_MAX];
  656. UINT_8 aucValue[WLAN_CFG_VALUE_LEN_MAX];
  657. } PARAM_CUSTOM_KEY_CFG_STRUCT_T, *P_PARAM_CUSTOM_KEY_CFG_STRUCT_T;
  658. typedef struct _PARAM_CUSTOM_EEPROM_RW_STRUCT_T {
  659. UINT_8 ucEepromMethod; /* For read only read: 1, query size: 0 */
  660. UINT_8 ucEepromIndex;
  661. UINT_8 reserved;
  662. UINT_16 u2EepromData;
  663. } PARAM_CUSTOM_EEPROM_RW_STRUCT_T, *P_PARAM_CUSTOM_EEPROM_RW_STRUCT_T,
  664. PARAM_CUSTOM_NVRAM_RW_STRUCT_T, *P_PARAM_CUSTOM_NVRAM_RW_STRUCT_T;
  665. typedef struct _PARAM_CUSTOM_WMM_PS_TEST_STRUCT_T {
  666. UINT_8 bmfgApsdEnAc; /* b0~3: trigger-en AC0~3. b4~7: delivery-en AC0~3 */
  667. UINT_8 ucIsEnterPsAtOnce; /* enter PS immediately without 5 second guard after connected */
  668. UINT_8 ucIsDisableUcTrigger; /* not to trigger UC on beacon TIM is matched (under U-APSD) */
  669. UINT_8 reserved;
  670. } PARAM_CUSTOM_WMM_PS_TEST_STRUCT_T, *P_PARAM_CUSTOM_WMM_PS_TEST_STRUCT_T;
  671. typedef struct _PARAM_CUSTOM_NOA_PARAM_STRUCT_T {
  672. UINT_32 u4NoaDurationMs;
  673. UINT_32 u4NoaIntervalMs;
  674. UINT_32 u4NoaCount;
  675. UINT_8 ucBssIdx;
  676. } PARAM_CUSTOM_NOA_PARAM_STRUCT_T, *P_PARAM_CUSTOM_NOA_PARAM_STRUCT_T;
  677. typedef struct _PARAM_CUSTOM_OPPPS_PARAM_STRUCT_T {
  678. UINT_32 u4CTwindowMs;
  679. UINT_8 ucBssIdx;
  680. } PARAM_CUSTOM_OPPPS_PARAM_STRUCT_T, *P_PARAM_CUSTOM_OPPPS_PARAM_STRUCT_T;
  681. typedef struct _PARAM_CUSTOM_UAPSD_PARAM_STRUCT_T {
  682. UINT_8 ucBssIdx;
  683. UINT_8 fgEnAPSD;
  684. UINT_8 fgEnAPSD_AcBe;
  685. UINT_8 fgEnAPSD_AcBk;
  686. UINT_8 fgEnAPSD_AcVo;
  687. UINT_8 fgEnAPSD_AcVi;
  688. UINT_8 ucMaxSpLen;
  689. UINT_8 aucResv[2];
  690. } PARAM_CUSTOM_UAPSD_PARAM_STRUCT_T, *P_PARAM_CUSTOM_UAPSD_PARAM_STRUCT_T;
  691. typedef struct _PARAM_CUSTOM_P2P_SET_STRUCT_T {
  692. UINT_32 u4Enable;
  693. UINT_32 u4Mode;
  694. } PARAM_CUSTOM_P2P_SET_STRUCT_T, *P_PARAM_CUSTOM_P2P_SET_STRUCT_T;
  695. typedef enum _ENUM_CFG_SRC_TYPE_T {
  696. CFG_SRC_TYPE_EEPROM,
  697. CFG_SRC_TYPE_NVRAM,
  698. CFG_SRC_TYPE_UNKNOWN,
  699. CFG_SRC_TYPE_NUM
  700. } ENUM_CFG_SRC_TYPE_T, *P_ENUM_CFG_SRC_TYPE_T;
  701. typedef enum _ENUM_EEPROM_TYPE_T {
  702. EEPROM_TYPE_NO,
  703. EEPROM_TYPE_PRESENT,
  704. EEPROM_TYPE_NUM
  705. } ENUM_EEPROM_TYPE_T, *P_ENUM_EEPROM_TYPE_T;
  706. typedef struct _PARAM_QOS_TSINFO {
  707. UINT_8 ucTrafficType; /* Traffic Type: 1 for isochronous 0 for asynchronous */
  708. UINT_8 ucTid; /* TSID: must be between 8 ~ 15 */
  709. UINT_8 ucDirection; /* direction */
  710. UINT_8 ucAccessPolicy; /* access policy */
  711. UINT_8 ucAggregation; /* aggregation */
  712. UINT_8 ucApsd; /* APSD */
  713. UINT_8 ucuserPriority; /* user priority */
  714. UINT_8 ucTsInfoAckPolicy; /* TSINFO ACK policy */
  715. UINT_8 ucSchedule; /* Schedule */
  716. } PARAM_QOS_TSINFO, *P_PARAM_QOS_TSINFO;
  717. typedef struct _PARAM_QOS_TSPEC {
  718. PARAM_QOS_TSINFO rTsInfo; /* TS info field */
  719. UINT_16 u2NominalMSDUSize; /* nominal MSDU size */
  720. UINT_16 u2MaxMSDUsize; /* maximum MSDU size */
  721. UINT_32 u4MinSvcIntv; /* minimum service interval */
  722. UINT_32 u4MaxSvcIntv; /* maximum service interval */
  723. UINT_32 u4InactIntv; /* inactivity interval */
  724. UINT_32 u4SpsIntv; /* suspension interval */
  725. UINT_32 u4SvcStartTime; /* service start time */
  726. UINT_32 u4MinDataRate; /* minimum Data rate */
  727. UINT_32 u4MeanDataRate; /* mean data rate */
  728. UINT_32 u4PeakDataRate; /* peak data rate */
  729. UINT_32 u4MaxBurstSize; /* maximum burst size */
  730. UINT_32 u4DelayBound; /* delay bound */
  731. UINT_32 u4MinPHYRate; /* minimum PHY rate */
  732. UINT_16 u2Sba; /* surplus bandwidth allowance */
  733. UINT_16 u2MediumTime; /* medium time */
  734. } PARAM_QOS_TSPEC, *P_PARAM_QOS_TSPEC;
  735. typedef struct _PARAM_QOS_ADDTS_REQ_INFO {
  736. PARAM_QOS_TSPEC rTspec;
  737. } PARAM_QOS_ADDTS_REQ_INFO, *P_PARAM_QOS_ADDTS_REQ_INFO;
  738. typedef struct _PARAM_VOIP_CONFIG {
  739. UINT_32 u4VoipTrafficInterval; /* 0: disable VOIP configuration */
  740. } PARAM_VOIP_CONFIG, *P_PARAM_VOIP_CONFIG;
  741. /*802.11 Statistics Struct*/
  742. typedef struct _PARAM_802_11_STATISTICS_STRUCT_T {
  743. UINT_32 u4Length; /* Length of structure */
  744. LARGE_INTEGER rTransmittedFragmentCount;
  745. LARGE_INTEGER rMulticastTransmittedFrameCount;
  746. LARGE_INTEGER rFailedCount;
  747. LARGE_INTEGER rRetryCount;
  748. LARGE_INTEGER rMultipleRetryCount;
  749. LARGE_INTEGER rRTSSuccessCount;
  750. LARGE_INTEGER rRTSFailureCount;
  751. LARGE_INTEGER rACKFailureCount;
  752. LARGE_INTEGER rFrameDuplicateCount;
  753. LARGE_INTEGER rReceivedFragmentCount;
  754. LARGE_INTEGER rMulticastReceivedFrameCount;
  755. LARGE_INTEGER rFCSErrorCount;
  756. LARGE_INTEGER rTKIPLocalMICFailures;
  757. LARGE_INTEGER rTKIPICVErrors;
  758. LARGE_INTEGER rTKIPCounterMeasuresInvoked;
  759. LARGE_INTEGER rTKIPReplays;
  760. LARGE_INTEGER rCCMPFormatErrors;
  761. LARGE_INTEGER rCCMPReplays;
  762. LARGE_INTEGER rCCMPDecryptErrors;
  763. LARGE_INTEGER rFourWayHandshakeFailures;
  764. LARGE_INTEGER rWEPUndecryptableCount;
  765. LARGE_INTEGER rWEPICVErrorCount;
  766. LARGE_INTEGER rDecryptSuccessCount;
  767. LARGE_INTEGER rDecryptFailureCount;
  768. } PARAM_802_11_STATISTICS_STRUCT_T, *P_PARAM_802_11_STATISTICS_STRUCT_T;
  769. /* Linux Network Device Statistics Struct */
  770. typedef struct _PARAM_LINUX_NETDEV_STATISTICS_T {
  771. UINT_32 u4RxPackets;
  772. UINT_32 u4TxPackets;
  773. UINT_32 u4RxBytes;
  774. UINT_32 u4TxBytes;
  775. UINT_32 u4RxErrors;
  776. UINT_32 u4TxErrors;
  777. UINT_32 u4Multicast;
  778. } PARAM_LINUX_NETDEV_STATISTICS_T, *P_PARAM_LINUX_NETDEV_STATISTICS_T;
  779. typedef struct _PARAM_MTK_WIFI_TEST_STRUCT_T {
  780. UINT_32 u4FuncIndex;
  781. UINT_32 u4FuncData;
  782. UINT_32 u4FuncData2; /*FW don't support*/
  783. } PARAM_MTK_WIFI_TEST_STRUCT_T, *P_PARAM_MTK_WIFI_TEST_STRUCT_T;
  784. /* 802.11 Media stream constraints */
  785. typedef enum _ENUM_MEDIA_STREAM_MODE {
  786. ENUM_MEDIA_STREAM_OFF,
  787. ENUM_MEDIA_STREAM_ON
  788. } ENUM_MEDIA_STREAM_MODE, *P_ENUM_MEDIA_STREAM_MODE;
  789. /* for NDIS 5.1 Media Streaming Change */
  790. typedef struct _PARAM_MEDIA_STREAMING_INDICATION {
  791. PARAM_STATUS_INDICATION_T rStatus;
  792. ENUM_MEDIA_STREAM_MODE eMediaStreamMode;
  793. } PARAM_MEDIA_STREAMING_INDICATION, *P_PARAM_MEDIA_STREAMING_INDICATION;
  794. #define PARAM_PROTOCOL_ID_DEFAULT 0x00
  795. #define PARAM_PROTOCOL_ID_TCP_IP 0x02
  796. #define PARAM_PROTOCOL_ID_IPX 0x06
  797. #define PARAM_PROTOCOL_ID_NBF 0x07
  798. #define PARAM_PROTOCOL_ID_MAX 0x0F
  799. #define PARAM_PROTOCOL_ID_MASK 0x0F
  800. /* for NDIS OID_GEN_NETWORK_LAYER_ADDRESSES */
  801. typedef struct _PARAM_NETWORK_ADDRESS_IP {
  802. UINT_16 sin_port;
  803. UINT_32 in_addr;
  804. UINT_8 sin_zero[8];
  805. } PARAM_NETWORK_ADDRESS_IP, *P_PARAM_NETWORK_ADDRESS_IP;
  806. typedef struct _PARAM_NETWORK_ADDRESS {
  807. UINT_16 u2AddressLength; /* length in bytes of Address[] in this */
  808. UINT_16 u2AddressType; /* type of this address (PARAM_PROTOCOL_ID_XXX above) */
  809. UINT_8 aucAddress[1]; /* actually AddressLength bytes long */
  810. } PARAM_NETWORK_ADDRESS, *P_PARAM_NETWORK_ADDRESS;
  811. /* The following is used with OID_GEN_NETWORK_LAYER_ADDRESSES to set network layer addresses on an interface */
  812. typedef struct _PARAM_NETWORK_ADDRESS_LIST {
  813. UINT_8 ucBssIdx;
  814. UINT_32 u4AddressCount; /* number of addresses following */
  815. UINT_16 u2AddressType; /* type of this address (NDIS_PROTOCOL_ID_XXX above) */
  816. PARAM_NETWORK_ADDRESS arAddress[1]; /* actually AddressCount elements long */
  817. } PARAM_NETWORK_ADDRESS_LIST, *P_PARAM_NETWORK_ADDRESS_LIST;
  818. #if CFG_SLT_SUPPORT
  819. #define FIXED_BW_LG20 0x0000
  820. #define FIXED_BW_UL20 0x2000
  821. #define FIXED_BW_DL40 0x3000
  822. #define FIXED_EXT_CHNL_U20 0x4000 /* For AGG register. */
  823. #define FIXED_EXT_CHNL_L20 0xC000 /* For AGG regsiter. */
  824. typedef enum _ENUM_MTK_LP_TEST_MODE_T {
  825. ENUM_MTK_LP_TEST_NORMAL,
  826. ENUM_MTK_LP_TEST_GOLDEN_SAMPLE,
  827. ENUM_MTK_LP_TEST_DUT,
  828. ENUM_MTK_LP_TEST_MODE_NUM
  829. } ENUM_MTK_LP_TEST_MODE_T, *P_ENUM_MTK_LP_TEST_MODE_T;
  830. typedef enum _ENUM_MTK_SLT_FUNC_IDX_T {
  831. ENUM_MTK_SLT_FUNC_DO_NOTHING,
  832. ENUM_MTK_SLT_FUNC_INITIAL,
  833. ENUM_MTK_SLT_FUNC_RATE_SET,
  834. ENUM_MTK_SLT_FUNC_LP_SET,
  835. ENUM_MTK_SLT_FUNC_NUM
  836. } ENUM_MTK_SLT_FUNC_IDX_T, *P_ENUM_MTK_SLT_FUNC_IDX_T;
  837. typedef struct _PARAM_MTK_SLT_LP_TEST_STRUCT_T {
  838. ENUM_MTK_LP_TEST_MODE_T rLpTestMode;
  839. UINT_32 u4BcnRcvNum;
  840. } PARAM_MTK_SLT_LP_TEST_STRUCT_T, *P_PARAM_MTK_SLT_LP_TEST_STRUCT_T;
  841. typedef struct _PARAM_MTK_SLT_TR_TEST_STRUCT_T {
  842. ENUM_PARAM_NETWORK_TYPE_T rNetworkType; /* Network Type OFDM5G or OFDM2.4G */
  843. UINT_32 u4FixedRate; /* Fixed Rate including BW */
  844. } PARAM_MTK_SLT_TR_TEST_STRUCT_T, *P_PARAM_MTK_SLT_TR_TEST_STRUCT_T;
  845. typedef struct _PARAM_MTK_SLT_INITIAL_STRUCT_T {
  846. UINT_8 aucTargetMacAddr[PARAM_MAC_ADDR_LEN];
  847. UINT_16 u2SiteID;
  848. } PARAM_MTK_SLT_INITIAL_STRUCT_T, *P_PARAM_MTK_SLT_INITIAL_STRUCT_T;
  849. typedef struct _PARAM_MTK_SLT_TEST_STRUCT_T {
  850. ENUM_MTK_SLT_FUNC_IDX_T rSltFuncIdx;
  851. UINT_32 u4Length; /* Length of structure,
  852. including myself */
  853. UINT_32 u4FuncInfoLen; /* Include following content
  854. field and myself */
  855. union {
  856. PARAM_MTK_SLT_INITIAL_STRUCT_T rMtkInitTest;
  857. PARAM_MTK_SLT_LP_TEST_STRUCT_T rMtkLpTest;
  858. PARAM_MTK_SLT_TR_TEST_STRUCT_T rMtkTRTest;
  859. } unFuncInfoContent;
  860. } PARAM_MTK_SLT_TEST_STRUCT_T, *P_PARAM_MTK_SLT_TEST_STRUCT_T;
  861. #endif
  862. /*--------------------------------------------------------------*/
  863. /*! \brief For Fixed Rate Configuration (Registry) */
  864. /*--------------------------------------------------------------*/
  865. typedef enum _ENUM_REGISTRY_FIXED_RATE_T {
  866. FIXED_RATE_NONE,
  867. FIXED_RATE_1M,
  868. FIXED_RATE_2M,
  869. FIXED_RATE_5_5M,
  870. FIXED_RATE_11M,
  871. FIXED_RATE_6M,
  872. FIXED_RATE_9M,
  873. FIXED_RATE_12M,
  874. FIXED_RATE_18M,
  875. FIXED_RATE_24M,
  876. FIXED_RATE_36M,
  877. FIXED_RATE_48M,
  878. FIXED_RATE_54M,
  879. FIXED_RATE_MCS0_20M_800NS,
  880. FIXED_RATE_MCS1_20M_800NS,
  881. FIXED_RATE_MCS2_20M_800NS,
  882. FIXED_RATE_MCS3_20M_800NS,
  883. FIXED_RATE_MCS4_20M_800NS,
  884. FIXED_RATE_MCS5_20M_800NS,
  885. FIXED_RATE_MCS6_20M_800NS,
  886. FIXED_RATE_MCS7_20M_800NS,
  887. FIXED_RATE_MCS0_20M_400NS,
  888. FIXED_RATE_MCS1_20M_400NS,
  889. FIXED_RATE_MCS2_20M_400NS,
  890. FIXED_RATE_MCS3_20M_400NS,
  891. FIXED_RATE_MCS4_20M_400NS,
  892. FIXED_RATE_MCS5_20M_400NS,
  893. FIXED_RATE_MCS6_20M_400NS,
  894. FIXED_RATE_MCS7_20M_400NS,
  895. FIXED_RATE_MCS0_40M_800NS,
  896. FIXED_RATE_MCS1_40M_800NS,
  897. FIXED_RATE_MCS2_40M_800NS,
  898. FIXED_RATE_MCS3_40M_800NS,
  899. FIXED_RATE_MCS4_40M_800NS,
  900. FIXED_RATE_MCS5_40M_800NS,
  901. FIXED_RATE_MCS6_40M_800NS,
  902. FIXED_RATE_MCS7_40M_800NS,
  903. FIXED_RATE_MCS32_800NS,
  904. FIXED_RATE_MCS0_40M_400NS,
  905. FIXED_RATE_MCS1_40M_400NS,
  906. FIXED_RATE_MCS2_40M_400NS,
  907. FIXED_RATE_MCS3_40M_400NS,
  908. FIXED_RATE_MCS4_40M_400NS,
  909. FIXED_RATE_MCS5_40M_400NS,
  910. FIXED_RATE_MCS6_40M_400NS,
  911. FIXED_RATE_MCS7_40M_400NS,
  912. FIXED_RATE_MCS32_400NS,
  913. FIXED_RATE_NUM
  914. } ENUM_REGISTRY_FIXED_RATE_T, *P_ENUM_REGISTRY_FIXED_RATE_T;
  915. typedef enum _ENUM_BT_CMD_T {
  916. BT_CMD_PROFILE = 0,
  917. BT_CMD_UPDATE,
  918. BT_CMD_NUM
  919. } ENUM_BT_CMD_T;
  920. typedef enum _ENUM_BT_PROFILE_T {
  921. BT_PROFILE_CUSTOM = 0,
  922. BT_PROFILE_SCO,
  923. BT_PROFILE_ACL,
  924. BT_PROFILE_MIXED,
  925. BT_PROFILE_NO_CONNECTION,
  926. BT_PROFILE_NUM
  927. } ENUM_BT_PROFILE_T;
  928. typedef struct _PTA_PROFILE_T {
  929. ENUM_BT_PROFILE_T eBtProfile;
  930. union {
  931. UINT_8 aucBTPParams[BT_PROFILE_PARAM_LEN];
  932. /* 0: sco reserved slot time,
  933. 1: sco idle slot time,
  934. 2: acl throughput,
  935. 3: bt tx power,
  936. 4: bt rssi
  937. 5: VoIP interval
  938. 6: BIT(0) Use this field, BIT(1) 0 apply single/ 1 dual PTA setting.
  939. */
  940. UINT_32 au4Btcr[4];
  941. } u;
  942. } PTA_PROFILE_T, *P_PTA_PROFILE_T;
  943. typedef struct _PTA_IPC_T {
  944. UINT_8 ucCmd;
  945. UINT_8 ucLen;
  946. union {
  947. PTA_PROFILE_T rProfile;
  948. UINT_8 aucBTPParams[BT_PROFILE_PARAM_LEN];
  949. } u;
  950. } PARAM_PTA_IPC_T, *P_PARAM_PTA_IPC_T, PTA_IPC_T, *P_PTA_IPC_T;
  951. /*--------------------------------------------------------------*/
  952. /*! \brief CFG80211 Scan Request Container */
  953. /*--------------------------------------------------------------*/
  954. typedef struct _PARAM_SCAN_REQUEST_EXT_T {
  955. PARAM_SSID_T rSsid;
  956. UINT_32 u4IELength;
  957. PUINT_8 pucIE;
  958. } PARAM_SCAN_REQUEST_EXT_T, *P_PARAM_SCAN_REQUEST_EXT_T;
  959. typedef struct _PARAM_SCAN_REQUEST_ADV_T {
  960. UINT_32 u4SsidNum;
  961. PARAM_SSID_T rSsid[CFG_SCAN_SSID_MAX_NUM];
  962. UINT_32 u4IELength;
  963. PUINT_8 pucIE;
  964. } PARAM_SCAN_REQUEST_ADV_T, *P_PARAM_SCAN_REQUEST_ADV_T;
  965. /*--------------------------------------------------------------*/
  966. /*! \brief CFG80211 Scheduled Scan Request Container */
  967. /*--------------------------------------------------------------*/
  968. typedef struct _PARAM_SCHED_SCAN_REQUEST_T {
  969. UINT_32 u4SsidNum;
  970. PARAM_SSID_T arSsid[CFG_SCAN_SSID_MATCH_MAX_NUM];
  971. UINT_32 u4IELength;
  972. PUINT_8 pucIE;
  973. UINT_16 u2ScanInterval; /* in milliseconds */
  974. } PARAM_SCHED_SCAN_REQUEST, *P_PARAM_SCHED_SCAN_REQUEST;
  975. #if CFG_SUPPORT_PASSPOINT
  976. typedef struct _PARAM_HS20_SET_BSSID_POOL {
  977. BOOLEAN fgIsEnable;
  978. UINT_8 ucNumBssidPool;
  979. PARAM_MAC_ADDRESS arBSSID[8];
  980. } PARAM_HS20_SET_BSSID_POOL, *P_PARAM_HS20_SET_BSSID_POOL;
  981. #endif /* CFG_SUPPORT_PASSPOINT */
  982. #if CFG_SUPPORT_SNIFFER
  983. typedef struct _PARAM_CUSTOM_MONITOR_SET_STRUCT_T {
  984. UINT_8 ucEnable;
  985. UINT_8 ucBand;
  986. UINT_8 ucPriChannel;
  987. UINT_8 ucSco;
  988. UINT_8 ucChannelWidth;
  989. UINT_8 ucChannelS1;
  990. UINT_8 ucChannelS2;
  991. UINT_8 aucResv[9];
  992. } PARAM_CUSTOM_MONITOR_SET_STRUCT_T, *P_PARAM_CUSTOM_MONITOR_SET_STRUCT_T;
  993. #endif
  994. /*--------------------------------------------------------------*/
  995. /*! \brief PSCN Scan Request Container */
  996. /*--------------------------------------------------------------*/
  997. typedef struct _CMD_GET_PSCAN_CAPABILITY {
  998. /*TBD*/} CMD_GET_GSCAN_CAPABILITY, *P_CMD_GET_GSCAN_CAPABILITY;
  999. typedef struct _CMD_SET_PSCAN_ENABLE {
  1000. UINT_8 ucPscanAct;
  1001. UINT_8 aucReserved[3];
  1002. } CMD_SET_PSCAN_ENABLE, *P_CMD_SET_PSCAN_ENABLE;
  1003. typedef enum _ENUM_PSCAN_ACT_T {
  1004. ENABLE = 1,
  1005. DISABLE,
  1006. SUSPEND,
  1007. CLEAR
  1008. } ENUM_PSCAN_ACT_T, *P_ENUM_PSCAN_ACT_T;
  1009. /*******************************************************************************
  1010. * P U B L I C D A T A
  1011. ********************************************************************************
  1012. */
  1013. /*******************************************************************************
  1014. * P R I V A T E D A T A
  1015. ********************************************************************************
  1016. */
  1017. /*******************************************************************************
  1018. * M A C R O S
  1019. ********************************************************************************
  1020. */
  1021. /*******************************************************************************
  1022. * F U N C T I O N D E C L A R A T I O N S
  1023. ********************************************************************************
  1024. */
  1025. /*--------------------------------------------------------------*/
  1026. /* Routines to set parameters or query information. */
  1027. /*--------------------------------------------------------------*/
  1028. /***** Routines in wlan_oid.c *****/
  1029. WLAN_STATUS
  1030. wlanoidQueryNetworkTypesSupported(IN P_ADAPTER_T prAdapter,
  1031. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1032. WLAN_STATUS
  1033. wlanoidQueryNetworkTypeInUse(IN P_ADAPTER_T prAdapter,
  1034. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1035. WLAN_STATUS
  1036. wlanoidSetNetworkTypeInUse(IN P_ADAPTER_T prAdapter,
  1037. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1038. WLAN_STATUS
  1039. wlanoidQueryBssid(IN P_ADAPTER_T prAdapter,
  1040. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1041. WLAN_STATUS
  1042. wlanoidSetBssidListScan(IN P_ADAPTER_T prAdapter,
  1043. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1044. WLAN_STATUS
  1045. wlanoidSetBssidListScanExt(IN P_ADAPTER_T prAdapter,
  1046. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1047. WLAN_STATUS
  1048. wlanoidSetBssidListScanAdv(IN P_ADAPTER_T prAdapter,
  1049. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1050. WLAN_STATUS
  1051. wlanoidQueryBssidList(IN P_ADAPTER_T prAdapter,
  1052. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1053. WLAN_STATUS
  1054. wlanoidSetBssid(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1055. WLAN_STATUS
  1056. wlanoidSetConnect(IN P_ADAPTER_T prAdapter,
  1057. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1058. WLAN_STATUS
  1059. wlanoidSetSsid(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1060. WLAN_STATUS
  1061. wlanoidQuerySsid(IN P_ADAPTER_T prAdapter,
  1062. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1063. WLAN_STATUS
  1064. wlanoidQueryInfrastructureMode(IN P_ADAPTER_T prAdapter,
  1065. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1066. WLAN_STATUS
  1067. wlanoidSetInfrastructureMode(IN P_ADAPTER_T prAdapter,
  1068. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1069. WLAN_STATUS
  1070. wlanoidQueryAuthMode(IN P_ADAPTER_T prAdapter,
  1071. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1072. WLAN_STATUS
  1073. wlanoidSetAuthMode(IN P_ADAPTER_T prAdapter,
  1074. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1075. #if 0
  1076. WLAN_STATUS
  1077. wlanoidQueryPrivacyFilter(IN P_ADAPTER_T prAdapter,
  1078. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1079. WLAN_STATUS
  1080. wlanoidSetPrivacyFilter(IN P_ADAPTER_T prAdapter,
  1081. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1082. #endif
  1083. WLAN_STATUS
  1084. wlanoidSetEncryptionStatus(IN P_ADAPTER_T prAdapter,
  1085. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1086. WLAN_STATUS
  1087. wlanoidQueryEncryptionStatus(IN P_ADAPTER_T prAdapter,
  1088. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1089. WLAN_STATUS
  1090. wlanoidSetAddWep(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1091. WLAN_STATUS
  1092. wlanoidSetRemoveWep(IN P_ADAPTER_T prAdapter,
  1093. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1094. WLAN_STATUS
  1095. wlanoidSetAddKey(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1096. WLAN_STATUS
  1097. wlanoidSetRemoveKey(IN P_ADAPTER_T prAdapter,
  1098. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1099. WLAN_STATUS
  1100. wlanoidSetReloadDefaults(IN P_ADAPTER_T prAdapter,
  1101. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1102. WLAN_STATUS
  1103. wlanoidSetTest(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1104. WLAN_STATUS
  1105. wlanoidQueryCapability(IN P_ADAPTER_T prAdapter,
  1106. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1107. WLAN_STATUS
  1108. wlanoidQueryFrequency(IN P_ADAPTER_T prAdapter,
  1109. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1110. WLAN_STATUS
  1111. wlanoidSetFrequency(IN P_ADAPTER_T prAdapter,
  1112. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1113. WLAN_STATUS
  1114. wlanoidQueryAtimWindow(IN P_ADAPTER_T prAdapter,
  1115. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1116. WLAN_STATUS
  1117. wlanoidSetAtimWindow(IN P_ADAPTER_T prAdapter,
  1118. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1119. WLAN_STATUS
  1120. wlanoidSetChannel(IN P_ADAPTER_T prAdapter,
  1121. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1122. WLAN_STATUS
  1123. wlanoidQueryRssi(IN P_ADAPTER_T prAdapter,
  1124. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1125. WLAN_STATUS
  1126. wlanoidQueryRssiTrigger(IN P_ADAPTER_T prAdapter,
  1127. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1128. WLAN_STATUS
  1129. wlanoidSetRssiTrigger(IN P_ADAPTER_T prAdapter,
  1130. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1131. WLAN_STATUS
  1132. wlanoidQueryRtsThreshold(IN P_ADAPTER_T prAdapter,
  1133. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1134. WLAN_STATUS
  1135. wlanoidSetRtsThreshold(IN P_ADAPTER_T prAdapter,
  1136. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1137. WLAN_STATUS
  1138. wlanoidQuery802dot11PowerSaveProfile(IN P_ADAPTER_T prAdapter,
  1139. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1140. WLAN_STATUS
  1141. wlanoidSet802dot11PowerSaveProfile(IN P_ADAPTER_T prAdapter,
  1142. IN PVOID prSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1143. WLAN_STATUS
  1144. wlanoidQueryPmkid(IN P_ADAPTER_T prAdapter,
  1145. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1146. WLAN_STATUS
  1147. wlanoidSetPmkid(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1148. WLAN_STATUS
  1149. wlanoidQuerySupportedRates(IN P_ADAPTER_T prAdapter,
  1150. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1151. WLAN_STATUS
  1152. wlanoidQueryDesiredRates(IN P_ADAPTER_T prAdapter,
  1153. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1154. WLAN_STATUS
  1155. wlanoidSetDesiredRates(IN P_ADAPTER_T prAdapter,
  1156. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1157. WLAN_STATUS
  1158. wlanoidQueryPermanentAddr(IN P_ADAPTER_T prAdapter,
  1159. IN PVOID pvQueryBuf, IN UINT_32 u4QueryBufLen, OUT PUINT_32 pu4QueryInfoLen);
  1160. WLAN_STATUS
  1161. wlanoidQueryCurrentAddr(IN P_ADAPTER_T prAdapter,
  1162. IN PVOID pvQueryBuf, IN UINT_32 u4QueryBufLen, OUT PUINT_32 pu4QueryInfoLen);
  1163. WLAN_STATUS
  1164. wlanoidQueryPermanentAddr(IN P_ADAPTER_T prAdapter,
  1165. IN PVOID pvQueryBuf, IN UINT_32 u4QueryBufLen, OUT PUINT_32 pu4QueryInfoLen);
  1166. WLAN_STATUS
  1167. wlanoidQueryLinkSpeed(IN P_ADAPTER_T prAdapter,
  1168. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1169. WLAN_STATUS
  1170. wlanoidQueryMcrRead(IN P_ADAPTER_T prAdapter,
  1171. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1172. WLAN_STATUS
  1173. wlanoidQueryMemDump(IN P_ADAPTER_T prAdapter,
  1174. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1175. WLAN_STATUS
  1176. wlanoidSetMcrWrite(IN P_ADAPTER_T prAdapter,
  1177. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1178. WLAN_STATUS
  1179. wlanoidQuerySwCtrlRead(IN P_ADAPTER_T prAdapter,
  1180. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1181. WLAN_STATUS
  1182. wlanoidSetSwCtrlWrite(IN P_ADAPTER_T prAdapter,
  1183. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1184. WLAN_STATUS
  1185. wlanoidSetChipConfig(IN P_ADAPTER_T prAdapter,
  1186. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1187. WLAN_STATUS
  1188. wlanoidQueryChipConfig(IN P_ADAPTER_T prAdapter,
  1189. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1190. WLAN_STATUS
  1191. wlanoidSetKeyCfg(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1192. WLAN_STATUS
  1193. wlanoidQueryEepromRead(IN P_ADAPTER_T prAdapter,
  1194. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1195. WLAN_STATUS
  1196. wlanoidSetEepromWrite(IN P_ADAPTER_T prAdapter,
  1197. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1198. WLAN_STATUS
  1199. wlanoidQueryRfTestRxStatus(IN P_ADAPTER_T prAdapter,
  1200. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1201. WLAN_STATUS
  1202. wlanoidQueryRfTestTxStatus(IN P_ADAPTER_T prAdapter,
  1203. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1204. WLAN_STATUS
  1205. wlanoidQueryOidInterfaceVersion(IN P_ADAPTER_T prAdapter,
  1206. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1207. WLAN_STATUS
  1208. wlanoidQueryVendorId(IN P_ADAPTER_T prAdapter,
  1209. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1210. WLAN_STATUS
  1211. wlanoidQueryMulticastList(IN P_ADAPTER_T prAdapter,
  1212. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1213. WLAN_STATUS
  1214. wlanoidSetMulticastList(IN P_ADAPTER_T prAdapter,
  1215. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1216. WLAN_STATUS
  1217. wlanoidQueryRcvError(IN P_ADAPTER_T prAdapter,
  1218. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1219. WLAN_STATUS
  1220. wlanoidQueryRcvNoBuffer(IN P_ADAPTER_T prAdapter,
  1221. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1222. WLAN_STATUS
  1223. wlanoidQueryRcvCrcError(IN P_ADAPTER_T prAdapter,
  1224. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1225. WLAN_STATUS
  1226. wlanoidQueryStatistics(IN P_ADAPTER_T prAdapter,
  1227. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1228. #ifdef LINUX
  1229. WLAN_STATUS
  1230. wlanoidQueryStatisticsForLinux(IN P_ADAPTER_T prAdapter,
  1231. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1232. #endif
  1233. WLAN_STATUS
  1234. wlanoidQueryMediaStreamMode(IN P_ADAPTER_T prAdapter,
  1235. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1236. WLAN_STATUS
  1237. wlanoidSetMediaStreamMode(IN P_ADAPTER_T prAdapter,
  1238. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1239. WLAN_STATUS
  1240. wlanoidQueryRcvOk(IN P_ADAPTER_T prAdapter,
  1241. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1242. WLAN_STATUS
  1243. wlanoidQueryXmitOk(IN P_ADAPTER_T prAdapter,
  1244. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1245. WLAN_STATUS
  1246. wlanoidQueryXmitError(IN P_ADAPTER_T prAdapter,
  1247. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1248. WLAN_STATUS
  1249. wlanoidQueryXmitOneCollision(IN P_ADAPTER_T prAdapter,
  1250. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1251. WLAN_STATUS
  1252. wlanoidQueryXmitMoreCollisions(IN P_ADAPTER_T prAdapter,
  1253. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1254. WLAN_STATUS
  1255. wlanoidQueryXmitMaxCollisions(IN P_ADAPTER_T prAdapter,
  1256. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1257. WLAN_STATUS
  1258. wlanoidSetCurrentPacketFilter(IN P_ADAPTER_T prAdapter,
  1259. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1260. WLAN_STATUS
  1261. wlanoidQueryCurrentPacketFilter(IN P_ADAPTER_T prAdapter,
  1262. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1263. WLAN_STATUS
  1264. wlanoidSetAcpiDevicePowerState(IN P_ADAPTER_T prAdapter,
  1265. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1266. WLAN_STATUS
  1267. wlanoidQueryAcpiDevicePowerState(IN P_ADAPTER_T prAdapter,
  1268. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1269. WLAN_STATUS
  1270. wlanoidSetDisassociate(IN P_ADAPTER_T prAdapter,
  1271. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1272. WLAN_STATUS
  1273. wlanoidQueryFragThreshold(IN P_ADAPTER_T prAdapter,
  1274. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1275. WLAN_STATUS
  1276. wlanoidSetFragThreshold(IN P_ADAPTER_T prAdapter,
  1277. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1278. WLAN_STATUS
  1279. wlanoidQueryAdHocMode(IN P_ADAPTER_T prAdapter,
  1280. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1281. WLAN_STATUS
  1282. wlanoidSetAdHocMode(IN P_ADAPTER_T prAdapter,
  1283. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1284. WLAN_STATUS
  1285. wlanoidQueryBeaconInterval(IN P_ADAPTER_T prAdapter,
  1286. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1287. WLAN_STATUS
  1288. wlanoidSetBeaconInterval(IN P_ADAPTER_T prAdapter,
  1289. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1290. WLAN_STATUS
  1291. wlanoidSetCurrentAddr(IN P_ADAPTER_T prAdapter,
  1292. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1293. #if CFG_TCP_IP_CHKSUM_OFFLOAD
  1294. WLAN_STATUS
  1295. wlanoidSetCSUMOffload(IN P_ADAPTER_T prAdapter,
  1296. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1297. #endif /* CFG_TCP_IP_CHKSUM_OFFLOAD */
  1298. WLAN_STATUS
  1299. wlanoidSetNetworkAddress(IN P_ADAPTER_T prAdapter,
  1300. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1301. WLAN_STATUS
  1302. wlanoidQueryMaxFrameSize(IN P_ADAPTER_T prAdapter,
  1303. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1304. WLAN_STATUS
  1305. wlanoidQueryMaxTotalSize(IN P_ADAPTER_T prAdapter,
  1306. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1307. WLAN_STATUS
  1308. wlanoidSetCurrentLookahead(IN P_ADAPTER_T prAdapter,
  1309. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1310. /* RF Test related APIs */
  1311. WLAN_STATUS
  1312. wlanoidRftestSetTestMode(IN P_ADAPTER_T prAdapter,
  1313. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1314. WLAN_STATUS
  1315. wlanoidRftestSetTestIcapMode(IN P_ADAPTER_T prAdapter,
  1316. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1317. WLAN_STATUS
  1318. wlanoidRftestSetAbortTestMode(IN P_ADAPTER_T prAdapter,
  1319. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1320. WLAN_STATUS
  1321. wlanoidRftestQueryAutoTest(IN P_ADAPTER_T prAdapter,
  1322. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1323. WLAN_STATUS
  1324. wlanoidRftestSetAutoTest(IN P_ADAPTER_T prAdapter,
  1325. OUT PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1326. #if CFG_SUPPORT_WAPI
  1327. WLAN_STATUS
  1328. wlanoidSetWapiMode(IN P_ADAPTER_T prAdapter,
  1329. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1330. WLAN_STATUS
  1331. wlanoidSetWapiAssocInfo(IN P_ADAPTER_T prAdapter,
  1332. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1333. WLAN_STATUS
  1334. wlanoidSetWapiKey(IN P_ADAPTER_T prAdapter,
  1335. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1336. #endif
  1337. #if CFG_SUPPORT_WPS2
  1338. WLAN_STATUS
  1339. wlanoidSetWSCAssocInfo(IN P_ADAPTER_T prAdapter,
  1340. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1341. #endif
  1342. #if CFG_ENABLE_WAKEUP_ON_LAN
  1343. WLAN_STATUS
  1344. wlanoidSetAddWakeupPattern(IN P_ADAPTER_T prAdapter,
  1345. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1346. WLAN_STATUS
  1347. wlanoidSetRemoveWakeupPattern(IN P_ADAPTER_T prAdapter,
  1348. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1349. WLAN_STATUS
  1350. wlanoidQueryEnableWakeup(IN P_ADAPTER_T prAdapter,
  1351. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 u4QueryInfoLen);
  1352. WLAN_STATUS
  1353. wlanoidSetEnableWakeup(IN P_ADAPTER_T prAdapter,
  1354. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1355. #endif
  1356. WLAN_STATUS
  1357. wlanoidSetWiFiWmmPsTest(IN P_ADAPTER_T prAdapter,
  1358. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1359. WLAN_STATUS
  1360. wlanoidSetTxAmpdu(IN P_ADAPTER_T prAdapter,
  1361. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1362. WLAN_STATUS
  1363. wlanoidSetAddbaReject(IN P_ADAPTER_T prAdapter,
  1364. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1365. WLAN_STATUS
  1366. wlanoidQueryNvramRead(IN P_ADAPTER_T prAdapter,
  1367. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1368. WLAN_STATUS
  1369. wlanoidSetNvramWrite(IN P_ADAPTER_T prAdapter,
  1370. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1371. WLAN_STATUS
  1372. wlanoidQueryCfgSrcType(IN P_ADAPTER_T prAdapter,
  1373. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1374. WLAN_STATUS
  1375. wlanoidQueryEepromType(IN P_ADAPTER_T prAdapter,
  1376. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1377. WLAN_STATUS
  1378. wlanoidSetCountryCode(IN P_ADAPTER_T prAdapter,
  1379. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1380. WLAN_STATUS wlanSendMemDumpCmd(IN P_ADAPTER_T prAdapter, IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen);
  1381. #if CFG_SLT_SUPPORT
  1382. WLAN_STATUS
  1383. wlanoidQuerySLTStatus(IN P_ADAPTER_T prAdapter,
  1384. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1385. WLAN_STATUS
  1386. wlanoidUpdateSLTMode(IN P_ADAPTER_T prAdapter,
  1387. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1388. #endif
  1389. #if 0
  1390. WLAN_STATUS
  1391. wlanoidSetNoaParam(IN P_ADAPTER_T prAdapter,
  1392. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1393. WLAN_STATUS
  1394. wlanoidSetOppPsParam(IN P_ADAPTER_T prAdapter,
  1395. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1396. WLAN_STATUS
  1397. wlanoidSetUApsdParam(IN P_ADAPTER_T prAdapter,
  1398. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1399. #endif
  1400. /*----------------------------------------------------------------------------*/
  1401. WLAN_STATUS
  1402. wlanoidSetBT(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1403. WLAN_STATUS
  1404. wlanoidQueryBT(IN P_ADAPTER_T prAdapter,
  1405. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1406. WLAN_STATUS
  1407. wlanoidSetTxPower(IN P_ADAPTER_T prAdapter,
  1408. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1409. /*
  1410. WLAN_STATUS
  1411. wlanoidQueryBtSingleAntenna (
  1412. IN P_ADAPTER_T prAdapter,
  1413. OUT PVOID pvQueryBuffer,
  1414. IN UINT_32 u4QueryBufferLen,
  1415. OUT PUINT_32 pu4QueryInfoLen
  1416. );
  1417. WLAN_STATUS
  1418. wlanoidSetBtSingleAntenna (
  1419. IN P_ADAPTER_T prAdapter,
  1420. IN PVOID pvSetBuffer,
  1421. IN UINT_32 u4SetBufferLen,
  1422. OUT PUINT_32 pu4SetInfoLen
  1423. );
  1424. WLAN_STATUS
  1425. wlanoidSetPta (
  1426. IN P_ADAPTER_T prAdapter,
  1427. IN PVOID pvSetBuffer,
  1428. IN UINT_32 u4SetBufferLen,
  1429. OUT PUINT_32 pu4SetInfoLen
  1430. );
  1431. WLAN_STATUS
  1432. wlanoidQueryPta (
  1433. IN P_ADAPTER_T prAdapter,
  1434. OUT PVOID pvQueryBuffer,
  1435. IN UINT_32 u4QueryBufferLen,
  1436. OUT PUINT_32 pu4QueryInfoLen
  1437. );
  1438. */
  1439. #if CFG_ENABLE_WIFI_DIRECT
  1440. WLAN_STATUS
  1441. wlanoidSetP2pMode(IN P_ADAPTER_T prAdapter,
  1442. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1443. #endif
  1444. WLAN_STATUS
  1445. wlanoidSetDefaultKey(IN P_ADAPTER_T prAdapter,
  1446. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1447. WLAN_STATUS
  1448. wlanoidSetGtkRekeyData(IN P_ADAPTER_T prAdapter,
  1449. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1450. WLAN_STATUS
  1451. wlanoidSetStartSchedScan(IN P_ADAPTER_T prAdapter,
  1452. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1453. WLAN_STATUS
  1454. wlanoidSetStopSchedScan(IN P_ADAPTER_T prAdapter,
  1455. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1456. #if CFG_M0VE_BA_TO_DRIVER
  1457. WLAN_STATUS wlanoidResetBAScoreboard(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen);
  1458. #endif
  1459. #if CFG_SUPPORT_BATCH_SCAN
  1460. WLAN_STATUS
  1461. wlanoidSetBatchScanReq(IN P_ADAPTER_T prAdapter,
  1462. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1463. WLAN_STATUS
  1464. wlanoidQueryBatchScanResult(IN P_ADAPTER_T prAdapter,
  1465. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1466. #endif
  1467. #if CFG_SUPPORT_PASSPOINT
  1468. WLAN_STATUS
  1469. wlanoidSetHS20Info(IN P_ADAPTER_T prAdapter,
  1470. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1471. WLAN_STATUS
  1472. wlanoidSetInterworkingInfo(IN P_ADAPTER_T prAdapter,
  1473. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1474. WLAN_STATUS
  1475. wlanoidSetRoamingConsortiumIEInfo(IN P_ADAPTER_T prAdapter,
  1476. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1477. WLAN_STATUS
  1478. wlanoidSetHS20BssidPool(IN P_ADAPTER_T prAdapter,
  1479. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1480. #endif /* CFG_SUPPORT_PASSPOINT */
  1481. #if CFG_SUPPORT_SNIFFER
  1482. WLAN_STATUS wlanoidSetMonitor(IN P_ADAPTER_T prAdapter,
  1483. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1484. #endif
  1485. WLAN_STATUS
  1486. wlanoidSetGSCNAction(IN P_ADAPTER_T prAdapter,
  1487. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1488. WLAN_STATUS
  1489. wlanoidSetGSCNAParam(IN P_ADAPTER_T prAdapter,
  1490. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1491. WLAN_STATUS
  1492. wlanoidSetGSCNAConfig(IN P_ADAPTER_T prAdapter,
  1493. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1494. WLAN_STATUS
  1495. wlanoidGetGSCNResult(IN P_ADAPTER_T prAdapter,
  1496. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1497. WLAN_STATUS wlanoidSetPacketFilter(P_ADAPTER_T prAdapter, UINT_32 u4PacketFilter,
  1498. BOOLEAN fgIsOid, PVOID pvSetBuffer, UINT_32 u4SetBufferLen);
  1499. /*******************************************************************************
  1500. * F U N C T I O N S
  1501. ********************************************************************************
  1502. */
  1503. #endif /* _WLAN_OID_H */