wlan_oid.h 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718
  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. #endif /* _WLAN_OID_H */
  1445. WLAN_STATUS wlanoidSetPacketFilter(P_ADAPTER_T prAdapter, UINT_32 u4PacketFilter,
  1446. BOOLEAN fgIsOid, PVOID pvSetBuffer, UINT_32 u4SetBufferLen);