wlan_oid.h 59 KB

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