wlan_oid.h 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779
  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. } PARAM_MTK_WIFI_TEST_STRUCT_T, *P_PARAM_MTK_WIFI_TEST_STRUCT_T;
  783. /* 802.11 Media stream constraints */
  784. typedef enum _ENUM_MEDIA_STREAM_MODE {
  785. ENUM_MEDIA_STREAM_OFF,
  786. ENUM_MEDIA_STREAM_ON
  787. } ENUM_MEDIA_STREAM_MODE, *P_ENUM_MEDIA_STREAM_MODE;
  788. /* for NDIS 5.1 Media Streaming Change */
  789. typedef struct _PARAM_MEDIA_STREAMING_INDICATION {
  790. PARAM_STATUS_INDICATION_T rStatus;
  791. ENUM_MEDIA_STREAM_MODE eMediaStreamMode;
  792. } PARAM_MEDIA_STREAMING_INDICATION, *P_PARAM_MEDIA_STREAMING_INDICATION;
  793. #define PARAM_PROTOCOL_ID_DEFAULT 0x00
  794. #define PARAM_PROTOCOL_ID_TCP_IP 0x02
  795. #define PARAM_PROTOCOL_ID_IPX 0x06
  796. #define PARAM_PROTOCOL_ID_NBF 0x07
  797. #define PARAM_PROTOCOL_ID_MAX 0x0F
  798. #define PARAM_PROTOCOL_ID_MASK 0x0F
  799. /* for NDIS OID_GEN_NETWORK_LAYER_ADDRESSES */
  800. typedef struct _PARAM_NETWORK_ADDRESS_IP {
  801. UINT_16 sin_port;
  802. UINT_32 in_addr;
  803. UINT_8 sin_zero[8];
  804. } PARAM_NETWORK_ADDRESS_IP, *P_PARAM_NETWORK_ADDRESS_IP;
  805. typedef struct _PARAM_NETWORK_ADDRESS {
  806. UINT_16 u2AddressLength; /* length in bytes of Address[] in this */
  807. UINT_16 u2AddressType; /* type of this address (PARAM_PROTOCOL_ID_XXX above) */
  808. UINT_8 aucAddress[1]; /* actually AddressLength bytes long */
  809. } PARAM_NETWORK_ADDRESS, *P_PARAM_NETWORK_ADDRESS;
  810. /* The following is used with OID_GEN_NETWORK_LAYER_ADDRESSES to set network layer addresses on an interface */
  811. typedef struct _PARAM_NETWORK_ADDRESS_LIST {
  812. UINT_8 ucBssIdx;
  813. UINT_32 u4AddressCount; /* number of addresses following */
  814. UINT_16 u2AddressType; /* type of this address (NDIS_PROTOCOL_ID_XXX above) */
  815. PARAM_NETWORK_ADDRESS arAddress[1]; /* actually AddressCount elements long */
  816. } PARAM_NETWORK_ADDRESS_LIST, *P_PARAM_NETWORK_ADDRESS_LIST;
  817. #if CFG_SLT_SUPPORT
  818. #define FIXED_BW_LG20 0x0000
  819. #define FIXED_BW_UL20 0x2000
  820. #define FIXED_BW_DL40 0x3000
  821. #define FIXED_EXT_CHNL_U20 0x4000 /* For AGG register. */
  822. #define FIXED_EXT_CHNL_L20 0xC000 /* For AGG regsiter. */
  823. typedef enum _ENUM_MTK_LP_TEST_MODE_T {
  824. ENUM_MTK_LP_TEST_NORMAL,
  825. ENUM_MTK_LP_TEST_GOLDEN_SAMPLE,
  826. ENUM_MTK_LP_TEST_DUT,
  827. ENUM_MTK_LP_TEST_MODE_NUM
  828. } ENUM_MTK_LP_TEST_MODE_T, *P_ENUM_MTK_LP_TEST_MODE_T;
  829. typedef enum _ENUM_MTK_SLT_FUNC_IDX_T {
  830. ENUM_MTK_SLT_FUNC_DO_NOTHING,
  831. ENUM_MTK_SLT_FUNC_INITIAL,
  832. ENUM_MTK_SLT_FUNC_RATE_SET,
  833. ENUM_MTK_SLT_FUNC_LP_SET,
  834. ENUM_MTK_SLT_FUNC_NUM
  835. } ENUM_MTK_SLT_FUNC_IDX_T, *P_ENUM_MTK_SLT_FUNC_IDX_T;
  836. typedef struct _PARAM_MTK_SLT_LP_TEST_STRUCT_T {
  837. ENUM_MTK_LP_TEST_MODE_T rLpTestMode;
  838. UINT_32 u4BcnRcvNum;
  839. } PARAM_MTK_SLT_LP_TEST_STRUCT_T, *P_PARAM_MTK_SLT_LP_TEST_STRUCT_T;
  840. typedef struct _PARAM_MTK_SLT_TR_TEST_STRUCT_T {
  841. ENUM_PARAM_NETWORK_TYPE_T rNetworkType; /* Network Type OFDM5G or OFDM2.4G */
  842. UINT_32 u4FixedRate; /* Fixed Rate including BW */
  843. } PARAM_MTK_SLT_TR_TEST_STRUCT_T, *P_PARAM_MTK_SLT_TR_TEST_STRUCT_T;
  844. typedef struct _PARAM_MTK_SLT_INITIAL_STRUCT_T {
  845. UINT_8 aucTargetMacAddr[PARAM_MAC_ADDR_LEN];
  846. UINT_16 u2SiteID;
  847. } PARAM_MTK_SLT_INITIAL_STRUCT_T, *P_PARAM_MTK_SLT_INITIAL_STRUCT_T;
  848. typedef struct _PARAM_MTK_SLT_TEST_STRUCT_T {
  849. ENUM_MTK_SLT_FUNC_IDX_T rSltFuncIdx;
  850. UINT_32 u4Length; /* Length of structure,
  851. including myself */
  852. UINT_32 u4FuncInfoLen; /* Include following content
  853. field and myself */
  854. union {
  855. PARAM_MTK_SLT_INITIAL_STRUCT_T rMtkInitTest;
  856. PARAM_MTK_SLT_LP_TEST_STRUCT_T rMtkLpTest;
  857. PARAM_MTK_SLT_TR_TEST_STRUCT_T rMtkTRTest;
  858. } unFuncInfoContent;
  859. } PARAM_MTK_SLT_TEST_STRUCT_T, *P_PARAM_MTK_SLT_TEST_STRUCT_T;
  860. #endif
  861. /*--------------------------------------------------------------*/
  862. /*! \brief For Fixed Rate Configuration (Registry) */
  863. /*--------------------------------------------------------------*/
  864. typedef enum _ENUM_REGISTRY_FIXED_RATE_T {
  865. FIXED_RATE_NONE,
  866. FIXED_RATE_1M,
  867. FIXED_RATE_2M,
  868. FIXED_RATE_5_5M,
  869. FIXED_RATE_11M,
  870. FIXED_RATE_6M,
  871. FIXED_RATE_9M,
  872. FIXED_RATE_12M,
  873. FIXED_RATE_18M,
  874. FIXED_RATE_24M,
  875. FIXED_RATE_36M,
  876. FIXED_RATE_48M,
  877. FIXED_RATE_54M,
  878. FIXED_RATE_MCS0_20M_800NS,
  879. FIXED_RATE_MCS1_20M_800NS,
  880. FIXED_RATE_MCS2_20M_800NS,
  881. FIXED_RATE_MCS3_20M_800NS,
  882. FIXED_RATE_MCS4_20M_800NS,
  883. FIXED_RATE_MCS5_20M_800NS,
  884. FIXED_RATE_MCS6_20M_800NS,
  885. FIXED_RATE_MCS7_20M_800NS,
  886. FIXED_RATE_MCS0_20M_400NS,
  887. FIXED_RATE_MCS1_20M_400NS,
  888. FIXED_RATE_MCS2_20M_400NS,
  889. FIXED_RATE_MCS3_20M_400NS,
  890. FIXED_RATE_MCS4_20M_400NS,
  891. FIXED_RATE_MCS5_20M_400NS,
  892. FIXED_RATE_MCS6_20M_400NS,
  893. FIXED_RATE_MCS7_20M_400NS,
  894. FIXED_RATE_MCS0_40M_800NS,
  895. FIXED_RATE_MCS1_40M_800NS,
  896. FIXED_RATE_MCS2_40M_800NS,
  897. FIXED_RATE_MCS3_40M_800NS,
  898. FIXED_RATE_MCS4_40M_800NS,
  899. FIXED_RATE_MCS5_40M_800NS,
  900. FIXED_RATE_MCS6_40M_800NS,
  901. FIXED_RATE_MCS7_40M_800NS,
  902. FIXED_RATE_MCS32_800NS,
  903. FIXED_RATE_MCS0_40M_400NS,
  904. FIXED_RATE_MCS1_40M_400NS,
  905. FIXED_RATE_MCS2_40M_400NS,
  906. FIXED_RATE_MCS3_40M_400NS,
  907. FIXED_RATE_MCS4_40M_400NS,
  908. FIXED_RATE_MCS5_40M_400NS,
  909. FIXED_RATE_MCS6_40M_400NS,
  910. FIXED_RATE_MCS7_40M_400NS,
  911. FIXED_RATE_MCS32_400NS,
  912. FIXED_RATE_NUM
  913. } ENUM_REGISTRY_FIXED_RATE_T, *P_ENUM_REGISTRY_FIXED_RATE_T;
  914. typedef enum _ENUM_BT_CMD_T {
  915. BT_CMD_PROFILE = 0,
  916. BT_CMD_UPDATE,
  917. BT_CMD_NUM
  918. } ENUM_BT_CMD_T;
  919. typedef enum _ENUM_BT_PROFILE_T {
  920. BT_PROFILE_CUSTOM = 0,
  921. BT_PROFILE_SCO,
  922. BT_PROFILE_ACL,
  923. BT_PROFILE_MIXED,
  924. BT_PROFILE_NO_CONNECTION,
  925. BT_PROFILE_NUM
  926. } ENUM_BT_PROFILE_T;
  927. typedef struct _PTA_PROFILE_T {
  928. ENUM_BT_PROFILE_T eBtProfile;
  929. union {
  930. UINT_8 aucBTPParams[BT_PROFILE_PARAM_LEN];
  931. /* 0: sco reserved slot time,
  932. 1: sco idle slot time,
  933. 2: acl throughput,
  934. 3: bt tx power,
  935. 4: bt rssi
  936. 5: VoIP interval
  937. 6: BIT(0) Use this field, BIT(1) 0 apply single/ 1 dual PTA setting.
  938. */
  939. UINT_32 au4Btcr[4];
  940. } u;
  941. } PTA_PROFILE_T, *P_PTA_PROFILE_T;
  942. typedef struct _PTA_IPC_T {
  943. UINT_8 ucCmd;
  944. UINT_8 ucLen;
  945. union {
  946. PTA_PROFILE_T rProfile;
  947. UINT_8 aucBTPParams[BT_PROFILE_PARAM_LEN];
  948. } u;
  949. } PARAM_PTA_IPC_T, *P_PARAM_PTA_IPC_T, PTA_IPC_T, *P_PTA_IPC_T;
  950. /*--------------------------------------------------------------*/
  951. /*! \brief CFG80211 Scan Request Container */
  952. /*--------------------------------------------------------------*/
  953. typedef struct _PARAM_SCAN_REQUEST_EXT_T {
  954. PARAM_SSID_T rSsid;
  955. UINT_32 u4IELength;
  956. PUINT_8 pucIE;
  957. } PARAM_SCAN_REQUEST_EXT_T, *P_PARAM_SCAN_REQUEST_EXT_T;
  958. typedef struct _PARAM_SCAN_REQUEST_ADV_T {
  959. UINT_32 u4SsidNum;
  960. PARAM_SSID_T rSsid[CFG_SCAN_SSID_MAX_NUM];
  961. UINT_32 u4IELength;
  962. PUINT_8 pucIE;
  963. } PARAM_SCAN_REQUEST_ADV_T, *P_PARAM_SCAN_REQUEST_ADV_T;
  964. /*--------------------------------------------------------------*/
  965. /*! \brief CFG80211 Scheduled Scan Request Container */
  966. /*--------------------------------------------------------------*/
  967. typedef struct _PARAM_SCHED_SCAN_REQUEST_T {
  968. UINT_32 u4SsidNum;
  969. PARAM_SSID_T arSsid[CFG_SCAN_SSID_MATCH_MAX_NUM];
  970. UINT_32 u4IELength;
  971. PUINT_8 pucIE;
  972. UINT_16 u2ScanInterval; /* in milliseconds */
  973. } PARAM_SCHED_SCAN_REQUEST, *P_PARAM_SCHED_SCAN_REQUEST;
  974. #if CFG_SUPPORT_PASSPOINT
  975. typedef struct _PARAM_HS20_SET_BSSID_POOL {
  976. BOOLEAN fgIsEnable;
  977. UINT_8 ucNumBssidPool;
  978. PARAM_MAC_ADDRESS arBSSID[8];
  979. } PARAM_HS20_SET_BSSID_POOL, *P_PARAM_HS20_SET_BSSID_POOL;
  980. #endif /* CFG_SUPPORT_PASSPOINT */
  981. #if CFG_SUPPORT_SNIFFER
  982. typedef struct _PARAM_CUSTOM_MONITOR_SET_STRUCT_T {
  983. UINT_8 ucEnable;
  984. UINT_8 ucBand;
  985. UINT_8 ucPriChannel;
  986. UINT_8 ucSco;
  987. UINT_8 ucChannelWidth;
  988. UINT_8 ucChannelS1;
  989. UINT_8 ucChannelS2;
  990. UINT_8 aucResv[9];
  991. } PARAM_CUSTOM_MONITOR_SET_STRUCT_T, *P_PARAM_CUSTOM_MONITOR_SET_STRUCT_T;
  992. #endif
  993. /*--------------------------------------------------------------*/
  994. /*! \brief PSCN Scan Request Container */
  995. /*--------------------------------------------------------------*/
  996. typedef struct _CMD_GET_PSCAN_CAPABILITY {
  997. /*TBD*/} CMD_GET_GSCAN_CAPABILITY, *P_CMD_GET_GSCAN_CAPABILITY;
  998. typedef struct _CMD_SET_PSCAN_ENABLE {
  999. UINT_8 ucPscanAct;
  1000. UINT_8 aucReserved[3];
  1001. } CMD_SET_PSCAN_ENABLE, *P_CMD_SET_PSCAN_ENABLE;
  1002. typedef enum _ENUM_PSCAN_ACT_T {
  1003. ENABLE = 1,
  1004. DISABLE,
  1005. SUSPEND,
  1006. CLEAR
  1007. } ENUM_PSCAN_ACT_T, *P_ENUM_PSCAN_ACT_T;
  1008. /*******************************************************************************
  1009. * P U B L I C D A T A
  1010. ********************************************************************************
  1011. */
  1012. /*******************************************************************************
  1013. * P R I V A T E D A T A
  1014. ********************************************************************************
  1015. */
  1016. /*******************************************************************************
  1017. * M A C R O S
  1018. ********************************************************************************
  1019. */
  1020. /*******************************************************************************
  1021. * F U N C T I O N D E C L A R A T I O N S
  1022. ********************************************************************************
  1023. */
  1024. /*--------------------------------------------------------------*/
  1025. /* Routines to set parameters or query information. */
  1026. /*--------------------------------------------------------------*/
  1027. /***** Routines in wlan_oid.c *****/
  1028. WLAN_STATUS
  1029. wlanoidQueryNetworkTypesSupported(IN P_ADAPTER_T prAdapter,
  1030. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1031. WLAN_STATUS
  1032. wlanoidQueryNetworkTypeInUse(IN P_ADAPTER_T prAdapter,
  1033. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1034. WLAN_STATUS
  1035. wlanoidSetNetworkTypeInUse(IN P_ADAPTER_T prAdapter,
  1036. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1037. WLAN_STATUS
  1038. wlanoidQueryBssid(IN P_ADAPTER_T prAdapter,
  1039. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1040. WLAN_STATUS
  1041. wlanoidSetBssidListScan(IN P_ADAPTER_T prAdapter,
  1042. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1043. WLAN_STATUS
  1044. wlanoidSetBssidListScanExt(IN P_ADAPTER_T prAdapter,
  1045. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1046. WLAN_STATUS
  1047. wlanoidSetBssidListScanAdv(IN P_ADAPTER_T prAdapter,
  1048. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1049. WLAN_STATUS
  1050. wlanoidQueryBssidList(IN P_ADAPTER_T prAdapter,
  1051. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1052. WLAN_STATUS
  1053. wlanoidSetBssid(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1054. WLAN_STATUS
  1055. wlanoidSetConnect(IN P_ADAPTER_T prAdapter,
  1056. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1057. WLAN_STATUS
  1058. wlanoidSetSsid(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1059. WLAN_STATUS
  1060. wlanoidQuerySsid(IN P_ADAPTER_T prAdapter,
  1061. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1062. WLAN_STATUS
  1063. wlanoidQueryInfrastructureMode(IN P_ADAPTER_T prAdapter,
  1064. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1065. WLAN_STATUS
  1066. wlanoidSetInfrastructureMode(IN P_ADAPTER_T prAdapter,
  1067. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1068. WLAN_STATUS
  1069. wlanoidQueryAuthMode(IN P_ADAPTER_T prAdapter,
  1070. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1071. WLAN_STATUS
  1072. wlanoidSetAuthMode(IN P_ADAPTER_T prAdapter,
  1073. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1074. #if 0
  1075. WLAN_STATUS
  1076. wlanoidQueryPrivacyFilter(IN P_ADAPTER_T prAdapter,
  1077. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1078. WLAN_STATUS
  1079. wlanoidSetPrivacyFilter(IN P_ADAPTER_T prAdapter,
  1080. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1081. #endif
  1082. WLAN_STATUS
  1083. wlanoidSetEncryptionStatus(IN P_ADAPTER_T prAdapter,
  1084. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1085. WLAN_STATUS
  1086. wlanoidQueryEncryptionStatus(IN P_ADAPTER_T prAdapter,
  1087. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1088. WLAN_STATUS
  1089. wlanoidSetAddWep(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1090. WLAN_STATUS
  1091. wlanoidSetRemoveWep(IN P_ADAPTER_T prAdapter,
  1092. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1093. WLAN_STATUS
  1094. wlanoidSetAddKey(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1095. WLAN_STATUS
  1096. wlanoidSetRemoveKey(IN P_ADAPTER_T prAdapter,
  1097. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1098. WLAN_STATUS
  1099. wlanoidSetReloadDefaults(IN P_ADAPTER_T prAdapter,
  1100. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1101. WLAN_STATUS
  1102. wlanoidSetTest(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1103. WLAN_STATUS
  1104. wlanoidQueryCapability(IN P_ADAPTER_T prAdapter,
  1105. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1106. WLAN_STATUS
  1107. wlanoidQueryFrequency(IN P_ADAPTER_T prAdapter,
  1108. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1109. WLAN_STATUS
  1110. wlanoidSetFrequency(IN P_ADAPTER_T prAdapter,
  1111. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1112. WLAN_STATUS
  1113. wlanoidQueryAtimWindow(IN P_ADAPTER_T prAdapter,
  1114. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1115. WLAN_STATUS
  1116. wlanoidSetAtimWindow(IN P_ADAPTER_T prAdapter,
  1117. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1118. WLAN_STATUS
  1119. wlanoidSetChannel(IN P_ADAPTER_T prAdapter,
  1120. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1121. WLAN_STATUS
  1122. wlanoidQueryRssi(IN P_ADAPTER_T prAdapter,
  1123. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1124. WLAN_STATUS
  1125. wlanoidQueryRssiTrigger(IN P_ADAPTER_T prAdapter,
  1126. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1127. WLAN_STATUS
  1128. wlanoidSetRssiTrigger(IN P_ADAPTER_T prAdapter,
  1129. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1130. WLAN_STATUS
  1131. wlanoidQueryRtsThreshold(IN P_ADAPTER_T prAdapter,
  1132. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1133. WLAN_STATUS
  1134. wlanoidSetRtsThreshold(IN P_ADAPTER_T prAdapter,
  1135. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1136. WLAN_STATUS
  1137. wlanoidQuery802dot11PowerSaveProfile(IN P_ADAPTER_T prAdapter,
  1138. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1139. WLAN_STATUS
  1140. wlanoidSet802dot11PowerSaveProfile(IN P_ADAPTER_T prAdapter,
  1141. IN PVOID prSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1142. WLAN_STATUS
  1143. wlanoidQueryPmkid(IN P_ADAPTER_T prAdapter,
  1144. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1145. WLAN_STATUS
  1146. wlanoidSetPmkid(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1147. WLAN_STATUS
  1148. wlanoidQuerySupportedRates(IN P_ADAPTER_T prAdapter,
  1149. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1150. WLAN_STATUS
  1151. wlanoidQueryDesiredRates(IN P_ADAPTER_T prAdapter,
  1152. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1153. WLAN_STATUS
  1154. wlanoidSetDesiredRates(IN P_ADAPTER_T prAdapter,
  1155. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1156. WLAN_STATUS
  1157. wlanoidQueryPermanentAddr(IN P_ADAPTER_T prAdapter,
  1158. IN PVOID pvQueryBuf, IN UINT_32 u4QueryBufLen, OUT PUINT_32 pu4QueryInfoLen);
  1159. WLAN_STATUS
  1160. wlanoidQueryCurrentAddr(IN P_ADAPTER_T prAdapter,
  1161. IN PVOID pvQueryBuf, IN UINT_32 u4QueryBufLen, OUT PUINT_32 pu4QueryInfoLen);
  1162. WLAN_STATUS
  1163. wlanoidQueryPermanentAddr(IN P_ADAPTER_T prAdapter,
  1164. IN PVOID pvQueryBuf, IN UINT_32 u4QueryBufLen, OUT PUINT_32 pu4QueryInfoLen);
  1165. WLAN_STATUS
  1166. wlanoidQueryLinkSpeed(IN P_ADAPTER_T prAdapter,
  1167. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1168. WLAN_STATUS
  1169. wlanoidQueryMcrRead(IN P_ADAPTER_T prAdapter,
  1170. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1171. WLAN_STATUS
  1172. wlanoidQueryMemDump(IN P_ADAPTER_T prAdapter,
  1173. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1174. WLAN_STATUS
  1175. wlanoidSetMcrWrite(IN P_ADAPTER_T prAdapter,
  1176. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1177. WLAN_STATUS
  1178. wlanoidQuerySwCtrlRead(IN P_ADAPTER_T prAdapter,
  1179. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1180. WLAN_STATUS
  1181. wlanoidSetSwCtrlWrite(IN P_ADAPTER_T prAdapter,
  1182. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1183. WLAN_STATUS
  1184. wlanoidSetChipConfig(IN P_ADAPTER_T prAdapter,
  1185. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1186. WLAN_STATUS
  1187. wlanoidQueryChipConfig(IN P_ADAPTER_T prAdapter,
  1188. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1189. WLAN_STATUS
  1190. wlanoidSetKeyCfg(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1191. WLAN_STATUS
  1192. wlanoidQueryEepromRead(IN P_ADAPTER_T prAdapter,
  1193. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1194. WLAN_STATUS
  1195. wlanoidSetEepromWrite(IN P_ADAPTER_T prAdapter,
  1196. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1197. WLAN_STATUS
  1198. wlanoidQueryRfTestRxStatus(IN P_ADAPTER_T prAdapter,
  1199. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1200. WLAN_STATUS
  1201. wlanoidQueryRfTestTxStatus(IN P_ADAPTER_T prAdapter,
  1202. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1203. WLAN_STATUS
  1204. wlanoidQueryOidInterfaceVersion(IN P_ADAPTER_T prAdapter,
  1205. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1206. WLAN_STATUS
  1207. wlanoidQueryVendorId(IN P_ADAPTER_T prAdapter,
  1208. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1209. WLAN_STATUS
  1210. wlanoidQueryMulticastList(IN P_ADAPTER_T prAdapter,
  1211. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1212. WLAN_STATUS
  1213. wlanoidSetMulticastList(IN P_ADAPTER_T prAdapter,
  1214. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1215. WLAN_STATUS
  1216. wlanoidQueryRcvError(IN P_ADAPTER_T prAdapter,
  1217. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1218. WLAN_STATUS
  1219. wlanoidQueryRcvNoBuffer(IN P_ADAPTER_T prAdapter,
  1220. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1221. WLAN_STATUS
  1222. wlanoidQueryRcvCrcError(IN P_ADAPTER_T prAdapter,
  1223. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1224. WLAN_STATUS
  1225. wlanoidQueryStatistics(IN P_ADAPTER_T prAdapter,
  1226. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1227. #ifdef LINUX
  1228. WLAN_STATUS
  1229. wlanoidQueryStatisticsForLinux(IN P_ADAPTER_T prAdapter,
  1230. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1231. #endif
  1232. WLAN_STATUS
  1233. wlanoidQueryMediaStreamMode(IN P_ADAPTER_T prAdapter,
  1234. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1235. WLAN_STATUS
  1236. wlanoidSetMediaStreamMode(IN P_ADAPTER_T prAdapter,
  1237. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1238. WLAN_STATUS
  1239. wlanoidQueryRcvOk(IN P_ADAPTER_T prAdapter,
  1240. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1241. WLAN_STATUS
  1242. wlanoidQueryXmitOk(IN P_ADAPTER_T prAdapter,
  1243. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1244. WLAN_STATUS
  1245. wlanoidQueryXmitError(IN P_ADAPTER_T prAdapter,
  1246. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1247. WLAN_STATUS
  1248. wlanoidQueryXmitOneCollision(IN P_ADAPTER_T prAdapter,
  1249. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1250. WLAN_STATUS
  1251. wlanoidQueryXmitMoreCollisions(IN P_ADAPTER_T prAdapter,
  1252. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1253. WLAN_STATUS
  1254. wlanoidQueryXmitMaxCollisions(IN P_ADAPTER_T prAdapter,
  1255. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1256. WLAN_STATUS
  1257. wlanoidSetCurrentPacketFilter(IN P_ADAPTER_T prAdapter,
  1258. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1259. WLAN_STATUS
  1260. wlanoidQueryCurrentPacketFilter(IN P_ADAPTER_T prAdapter,
  1261. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1262. WLAN_STATUS
  1263. wlanoidSetAcpiDevicePowerState(IN P_ADAPTER_T prAdapter,
  1264. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1265. WLAN_STATUS
  1266. wlanoidQueryAcpiDevicePowerState(IN P_ADAPTER_T prAdapter,
  1267. IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1268. WLAN_STATUS
  1269. wlanoidSetDisassociate(IN P_ADAPTER_T prAdapter,
  1270. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1271. WLAN_STATUS
  1272. wlanoidQueryFragThreshold(IN P_ADAPTER_T prAdapter,
  1273. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1274. WLAN_STATUS
  1275. wlanoidSetFragThreshold(IN P_ADAPTER_T prAdapter,
  1276. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1277. WLAN_STATUS
  1278. wlanoidQueryAdHocMode(IN P_ADAPTER_T prAdapter,
  1279. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1280. WLAN_STATUS
  1281. wlanoidSetAdHocMode(IN P_ADAPTER_T prAdapter,
  1282. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1283. WLAN_STATUS
  1284. wlanoidQueryBeaconInterval(IN P_ADAPTER_T prAdapter,
  1285. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1286. WLAN_STATUS
  1287. wlanoidSetBeaconInterval(IN P_ADAPTER_T prAdapter,
  1288. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1289. WLAN_STATUS
  1290. wlanoidSetCurrentAddr(IN P_ADAPTER_T prAdapter,
  1291. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1292. #if CFG_TCP_IP_CHKSUM_OFFLOAD
  1293. WLAN_STATUS
  1294. wlanoidSetCSUMOffload(IN P_ADAPTER_T prAdapter,
  1295. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1296. #endif /* CFG_TCP_IP_CHKSUM_OFFLOAD */
  1297. WLAN_STATUS
  1298. wlanoidSetNetworkAddress(IN P_ADAPTER_T prAdapter,
  1299. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1300. WLAN_STATUS
  1301. wlanoidQueryMaxFrameSize(IN P_ADAPTER_T prAdapter,
  1302. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1303. WLAN_STATUS
  1304. wlanoidQueryMaxTotalSize(IN P_ADAPTER_T prAdapter,
  1305. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1306. WLAN_STATUS
  1307. wlanoidSetCurrentLookahead(IN P_ADAPTER_T prAdapter,
  1308. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1309. /* RF Test related APIs */
  1310. WLAN_STATUS
  1311. wlanoidRftestSetTestMode(IN P_ADAPTER_T prAdapter,
  1312. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1313. WLAN_STATUS
  1314. wlanoidRftestSetTestIcapMode(IN P_ADAPTER_T prAdapter,
  1315. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1316. WLAN_STATUS
  1317. wlanoidRftestSetAbortTestMode(IN P_ADAPTER_T prAdapter,
  1318. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1319. WLAN_STATUS
  1320. wlanoidRftestQueryAutoTest(IN P_ADAPTER_T prAdapter,
  1321. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1322. WLAN_STATUS
  1323. wlanoidRftestSetAutoTest(IN P_ADAPTER_T prAdapter,
  1324. OUT PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1325. #if CFG_SUPPORT_WAPI
  1326. WLAN_STATUS
  1327. wlanoidSetWapiMode(IN P_ADAPTER_T prAdapter,
  1328. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1329. WLAN_STATUS
  1330. wlanoidSetWapiAssocInfo(IN P_ADAPTER_T prAdapter,
  1331. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1332. WLAN_STATUS
  1333. wlanoidSetWapiKey(IN P_ADAPTER_T prAdapter,
  1334. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1335. #endif
  1336. #if CFG_SUPPORT_WPS2
  1337. WLAN_STATUS
  1338. wlanoidSetWSCAssocInfo(IN P_ADAPTER_T prAdapter,
  1339. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1340. #endif
  1341. #if CFG_ENABLE_WAKEUP_ON_LAN
  1342. WLAN_STATUS
  1343. wlanoidSetAddWakeupPattern(IN P_ADAPTER_T prAdapter,
  1344. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1345. WLAN_STATUS
  1346. wlanoidSetRemoveWakeupPattern(IN P_ADAPTER_T prAdapter,
  1347. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1348. WLAN_STATUS
  1349. wlanoidQueryEnableWakeup(IN P_ADAPTER_T prAdapter,
  1350. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 u4QueryInfoLen);
  1351. WLAN_STATUS
  1352. wlanoidSetEnableWakeup(IN P_ADAPTER_T prAdapter,
  1353. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1354. #endif
  1355. WLAN_STATUS
  1356. wlanoidSetWiFiWmmPsTest(IN P_ADAPTER_T prAdapter,
  1357. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1358. WLAN_STATUS
  1359. wlanoidSetTxAmpdu(IN P_ADAPTER_T prAdapter,
  1360. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1361. WLAN_STATUS
  1362. wlanoidSetAddbaReject(IN P_ADAPTER_T prAdapter,
  1363. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1364. WLAN_STATUS
  1365. wlanoidQueryNvramRead(IN P_ADAPTER_T prAdapter,
  1366. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1367. WLAN_STATUS
  1368. wlanoidSetNvramWrite(IN P_ADAPTER_T prAdapter,
  1369. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1370. WLAN_STATUS
  1371. wlanoidQueryCfgSrcType(IN P_ADAPTER_T prAdapter,
  1372. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1373. WLAN_STATUS
  1374. wlanoidQueryEepromType(IN P_ADAPTER_T prAdapter,
  1375. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1376. WLAN_STATUS
  1377. wlanoidSetCountryCode(IN P_ADAPTER_T prAdapter,
  1378. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1379. WLAN_STATUS wlanSendMemDumpCmd(IN P_ADAPTER_T prAdapter, IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen);
  1380. #if CFG_SLT_SUPPORT
  1381. WLAN_STATUS
  1382. wlanoidQuerySLTStatus(IN P_ADAPTER_T prAdapter,
  1383. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1384. WLAN_STATUS
  1385. wlanoidUpdateSLTMode(IN P_ADAPTER_T prAdapter,
  1386. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1387. #endif
  1388. #if 0
  1389. WLAN_STATUS
  1390. wlanoidSetNoaParam(IN P_ADAPTER_T prAdapter,
  1391. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1392. WLAN_STATUS
  1393. wlanoidSetOppPsParam(IN P_ADAPTER_T prAdapter,
  1394. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1395. WLAN_STATUS
  1396. wlanoidSetUApsdParam(IN P_ADAPTER_T prAdapter,
  1397. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1398. #endif
  1399. /*----------------------------------------------------------------------------*/
  1400. WLAN_STATUS
  1401. wlanoidSetBT(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1402. WLAN_STATUS
  1403. wlanoidQueryBT(IN P_ADAPTER_T prAdapter,
  1404. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1405. WLAN_STATUS
  1406. wlanoidSetTxPower(IN P_ADAPTER_T prAdapter,
  1407. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1408. /*
  1409. WLAN_STATUS
  1410. wlanoidQueryBtSingleAntenna (
  1411. IN P_ADAPTER_T prAdapter,
  1412. OUT PVOID pvQueryBuffer,
  1413. IN UINT_32 u4QueryBufferLen,
  1414. OUT PUINT_32 pu4QueryInfoLen
  1415. );
  1416. WLAN_STATUS
  1417. wlanoidSetBtSingleAntenna (
  1418. IN P_ADAPTER_T prAdapter,
  1419. IN PVOID pvSetBuffer,
  1420. IN UINT_32 u4SetBufferLen,
  1421. OUT PUINT_32 pu4SetInfoLen
  1422. );
  1423. WLAN_STATUS
  1424. wlanoidSetPta (
  1425. IN P_ADAPTER_T prAdapter,
  1426. IN PVOID pvSetBuffer,
  1427. IN UINT_32 u4SetBufferLen,
  1428. OUT PUINT_32 pu4SetInfoLen
  1429. );
  1430. WLAN_STATUS
  1431. wlanoidQueryPta (
  1432. IN P_ADAPTER_T prAdapter,
  1433. OUT PVOID pvQueryBuffer,
  1434. IN UINT_32 u4QueryBufferLen,
  1435. OUT PUINT_32 pu4QueryInfoLen
  1436. );
  1437. */
  1438. #if CFG_ENABLE_WIFI_DIRECT
  1439. WLAN_STATUS
  1440. wlanoidSetP2pMode(IN P_ADAPTER_T prAdapter,
  1441. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1442. #endif
  1443. WLAN_STATUS
  1444. wlanoidSetDefaultKey(IN P_ADAPTER_T prAdapter,
  1445. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1446. WLAN_STATUS
  1447. wlanoidSetGtkRekeyData(IN P_ADAPTER_T prAdapter,
  1448. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1449. WLAN_STATUS
  1450. wlanoidSetStartSchedScan(IN P_ADAPTER_T prAdapter,
  1451. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1452. WLAN_STATUS
  1453. wlanoidSetStopSchedScan(IN P_ADAPTER_T prAdapter,
  1454. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1455. #if CFG_M0VE_BA_TO_DRIVER
  1456. WLAN_STATUS wlanoidResetBAScoreboard(IN P_ADAPTER_T prAdapter, IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen);
  1457. #endif
  1458. #if CFG_SUPPORT_BATCH_SCAN
  1459. WLAN_STATUS
  1460. wlanoidSetBatchScanReq(IN P_ADAPTER_T prAdapter,
  1461. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1462. WLAN_STATUS
  1463. wlanoidQueryBatchScanResult(IN P_ADAPTER_T prAdapter,
  1464. OUT PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
  1465. #endif
  1466. #if CFG_SUPPORT_PASSPOINT
  1467. WLAN_STATUS
  1468. wlanoidSetHS20Info(IN P_ADAPTER_T prAdapter,
  1469. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1470. WLAN_STATUS
  1471. wlanoidSetInterworkingInfo(IN P_ADAPTER_T prAdapter,
  1472. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1473. WLAN_STATUS
  1474. wlanoidSetRoamingConsortiumIEInfo(IN P_ADAPTER_T prAdapter,
  1475. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1476. WLAN_STATUS
  1477. wlanoidSetHS20BssidPool(IN P_ADAPTER_T prAdapter,
  1478. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1479. #endif /* CFG_SUPPORT_PASSPOINT */
  1480. #if CFG_SUPPORT_SNIFFER
  1481. WLAN_STATUS wlanoidSetMonitor(IN P_ADAPTER_T prAdapter,
  1482. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1483. #endif
  1484. WLAN_STATUS
  1485. wlanoidSetGSCNAction(IN P_ADAPTER_T prAdapter,
  1486. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1487. WLAN_STATUS
  1488. wlanoidSetGSCNAParam(IN P_ADAPTER_T prAdapter,
  1489. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1490. WLAN_STATUS
  1491. wlanoidSetGSCNAConfig(IN P_ADAPTER_T prAdapter,
  1492. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1493. WLAN_STATUS
  1494. wlanoidGetGSCNResult(IN P_ADAPTER_T prAdapter,
  1495. IN PVOID pvSetBuffer, IN UINT_32 u4SetBufferLen, OUT PUINT_32 pu4SetInfoLen);
  1496. WLAN_STATUS wlanoidSetPacketFilter(P_ADAPTER_T prAdapter, UINT_32 u4PacketFilter,
  1497. BOOLEAN fgIsOid, PVOID pvSetBuffer, UINT_32 u4SetBufferLen);
  1498. /*******************************************************************************
  1499. * F U N C T I O N S
  1500. ********************************************************************************
  1501. */
  1502. #endif /* _WLAN_OID_H */