import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / conn_soc / drv_wlan / mt_wifi / wlan / include / wlan_oid.h
CommitLineData
6fa3eb70
S
1/*
2** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/wlan_oid.h#2 $
3*/
4
5/*! \file "wlan_oid.h"
6 \brief This file contains the declairation file of the WLAN OID processing routines
7 of Windows driver for MediaTek Inc. 802.11 Wireless LAN Adapters.
8*/
9
10
11
12/*
13** $Log: wlan_oid.h $
14 *
15 * 03 02 2012 terry.wu
16 * NULL
17 * Sync CFG80211 modification from branch 2,2.
18 *
19 * 01 05 2012 wh.su
20 * [WCXRP00001153] [MT6620 Wi-Fi][Driver] Adding the get_ch_list and set_tx_power proto type function
21 * Adding the related ioctl / wlan oid function to set the Tx power cfg.
22 *
23 * 07 18 2011 chinghwa.yu
24 * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
25 * Add CMD/Event for RDD and BWCS.
26 *
27 * 03 22 2011 george.huang
28 * [WCXRP00000504] [MT6620 Wi-Fi][FW] Support Sigma CAPI for power saving related command
29 * link with supplicant commands
30 *
31 * 03 17 2011 chinglan.wang
32 * [WCXRP00000570] [MT6620 Wi-Fi][Driver] Add Wi-Fi Protected Setup v2.0 feature
33 * .
34 *
35 * 03 02 2011 george.huang
36 * [WCXRP00000504] [MT6620 Wi-Fi][FW] Support Sigma CAPI for power saving related command
37 * Support UAPSD/OppPS/NoA parameter setting
38 *
39 * 01 20 2011 eddie.chen
40 * [WCXRP00000374] [MT6620 Wi-Fi][DRV] SW debug control
41 * Add Oid for sw control debug command
42 *
43 * 12 07 2010 cm.chang
44 * [WCXRP00000238] MT6620 Wi-Fi][Driver][FW] Support regulation domain setting from NVRAM and supplicant
45 * 1. Country code is from NVRAM or supplicant
46 * 2. Change band definition in CMD/EVENT.
47 *
48 * 10 18 2010 cp.wu
49 * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check[WCXRP00000086] [MT6620 Wi-Fi][Driver] The mac address is all zero at android
50 * complete implementation of Android NVRAM access
51 *
52 * 10 08 2010 cp.wu
53 * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
54 * adding fixed rate support for distance test. (from registry setting)
55 *
56 * 09 23 2010 cp.wu
57 * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
58 * add skeleton for NVRAM integration
59 *
60 * 09 08 2010 cp.wu
61 * NULL
62 * use static memory pool for storing IEs of scanning result.
63 *
64 * 09 03 2010 kevin.huang
65 * NULL
66 * Refine #include sequence and solve recursive/nested #include issue
67 *
68 * 08 29 2010 yuche.tsai
69 * NULL
70 * Finish SLT TX/RX & Rate Changing Support.
71 *
72 * 08 04 2010 cp.wu
73 * NULL
74 * revert changelist #15371, efuse read/write access will be done by RF test approach
75 *
76 * 08 04 2010 cp.wu
77 * NULL
78 * add OID definitions for EFUSE read/write access.
79 *
80 * 08 04 2010 yarco.yang
81 * NULL
82 * Add TX_AMPDU and ADDBA_REJECT command
83 *
84 * 08 02 2010 george.huang
85 * NULL
86 * add WMM-PS test related OID/ CMD handlers
87 *
88 * 07 08 2010 cp.wu
89 *
90 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
91 *
92 * 06 22 2010 cp.wu
93 * [WPD00003833][MT6620 and MT5931] Driver migration
94 * 1) add command warpper for STA-REC/BSS-INFO sync.
95 * 2) enhance command packet sending procedure for non-oid part
96 * 3) add command packet definitions for STA-REC/BSS-INFO sync.
97 *
98 * 06 18 2010 wh.su
99 * [WPD00003840][MT6620 5931] Security migration
100 * migration from MT6620 firmware.
101 *
102 * 06 07 2010 cp.wu
103 * [WPD00003833][MT6620 and MT5931] Driver migration
104 * merge wlan_def.h.
105 *
106 * 06 07 2010 cp.wu
107 * [WPD00003833][MT6620 and MT5931] Driver migration
108 * merge wifi_var.h, precomp.h, cnm_timer.h (data type only)
109 *
110 * 06 06 2010 kevin.huang
111 * [WPD00003832][MT6620 5931] Create driver base
112 * [MT6620 5931] Create driver base
113 *
114 * 06 03 2010 cp.wu
115 * [WPD00001943]Create WiFi test driver framework on WinXP
116 * move timer callback to glue layer.
117 *
118 * 05 20 2010 cp.wu
119 * [WPD00001943]Create WiFi test driver framework on WinXP
120 * 1) integrate OID_GEN_NETWORK_LAYER_ADDRESSES with CMD_ID_SET_IP_ADDRESS
121 * 2) buffer statistics data for 2 seconds
122 * 3) use default value for adhoc parameters instead of 0
123 *
124 * 05 18 2010 cp.wu
125 * [WPD00001943]Create WiFi test driver framework on WinXP
126 * implement Wakeup-on-LAN except firmware integration part
127 *
128 * 05 17 2010 cp.wu
129 * [WPD00001943]Create WiFi test driver framework on WinXP
130 * MT6620 is not supporting NDIS_PACKET_TYPE_PROMISCUOUS.
131 *
132
133 *
134 * 05 17 2010 cp.wu
135 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
136 * 1) add timeout handler mechanism for pending command packets
137 * 2) add p2p add/removal key
138 *
139 * 05 13 2010 cp.wu
140 * [WPD00001943]Create WiFi test driver framework on WinXP
141 * add NULL OID implementation for WOL-related OIDs.
142 *
143 * 04 22 2010 cp.wu
144 * [WPD00003830]add OID_802_11_PRIVACY_FILTER support
145 * enable RX filter OID
146 *
147 * 04 14 2010 cp.wu
148 * [WPD00001943]Create WiFi test driver framework on WinXP
149 * information buffer for query oid/ioctl is now buffered in prCmdInfo
150 * * * * * instead of glue-layer variable to improve multiple oid/ioctl capability
151 *
152 * 03 31 2010 wh.su
153 * [WPD00003816][MT6620 Wi-Fi] Adding the security support
154 * modify the wapi related code for new driver's design.
155 *
156 * 03 26 2010 cp.wu
157 * [WPD00001943]Create WiFi test driver framework on WinXP
158 * indicate media stream mode after set is done
159 *
160 * 03 24 2010 jeffrey.chang
161 * [WPD00003826]Initial import for Linux port
162 * initial import for Linux port
163 *
164 * 03 03 2010 cp.wu
165 * [WPD00001943]Create WiFi test driver framework on WinXP
166 * implement custom OID: EEPROM read/write access
167 *
168 * 02 09 2010 cp.wu
169 * [WPD00001943]Create WiFi test driver framework on WinXP
170 * 1. Permanent and current MAC address are now retrieved by CMD/EVENT packets instead of hard-coded address
171 * * * * * * 2. follow MSDN defined behavior when associates to another AP
172 * * * * * * 3. for firmware download, packet size could be up to 2048 bytes
173 *
174 * 01 27 2010 cp.wu
175 * [WPD00001943]Create WiFi test driver framework on WinXP
176 * 1) implement timeout mechanism when OID is pending for longer than 1 second
177 * * * 2) allow OID_802_11_CONFIGURATION to be executed when RF test mode is turned on
178 *
179 * 01 27 2010 wh.su
180 * [WPD00003816][MT6620 Wi-Fi] Adding the security support
181 * .
182 *
183 * 01 22 2010 cp.wu
184 * [WPD00001943]Create WiFi test driver framework on WinXP
185 * implement following 802.11 OIDs:
186 * * * * OID_802_11_RSSI,
187 * * * * OID_802_11_RSSI_TRIGGER,
188 * * * * OID_802_11_STATISTICS,
189 * * * * OID_802_11_DISASSOCIATE,
190 * * * * OID_802_11_POWER_MODE
191 *
192 * 01 21 2010 cp.wu
193 * [WPD00001943]Create WiFi test driver framework on WinXP
194 * implement OID_802_11_MEDIA_STREAM_MODE
195 *
196 * 01 21 2010 cp.wu
197 * [WPD00001943]Create WiFi test driver framework on WinXP
198 * implement OID_802_11_SUPPORTED_RATES / OID_802_11_DESIRED_RATES
199** \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-12-08 11:38:11 GMT mtk02752
200** add declares for RF test related APIs
201** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-11-24 22:41:53 GMT mtk02752
202** remove u4SysTime, MSDN 10-second will be implemented in FW side
203** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-11-23 20:30:13 GMT mtk02752
204** add u4SysTime field in PARAM_BSSID_EX_T
205** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-11-12 19:48:35 GMT mtk02752
206** allow upper layer to set a packet filter with PROMISCUOUS mode
207** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:12:12 GMT mtk01426
208** Init for develop
209**
210*/
211
212#ifndef _WLAN_OID_H
213#define _WLAN_OID_H
214
215/*******************************************************************************
216* C O M P I L E R F L A G S
217********************************************************************************
218*/
219
220/*******************************************************************************
221* E X T E R N A L R E F E R E N C E S
222********************************************************************************
223*/
224
225/*******************************************************************************
226* C O N S T A N T S
227********************************************************************************
228*/
229
230#define PARAM_MAX_LEN_SSID 32
231
232#define PARAM_MAC_ADDR_LEN 6
233
234#define ETHERNET_HEADER_SZ 14
235#define ETHERNET_MIN_PKT_SZ 60
236#define ETHERNET_MAX_PKT_SZ 1514
237
238#define PARAM_MAX_LEN_RATES 8
239#define PARAM_MAX_LEN_RATES_EX 16
240
241#define PARAM_AUTH_REQUEST_REAUTH 0x01
242#define PARAM_AUTH_REQUEST_KEYUPDATE 0x02
243#define PARAM_AUTH_REQUEST_PAIRWISE_ERROR 0x06
244#define PARAM_AUTH_REQUEST_GROUP_ERROR 0x0E
245
246#define PARAM_EEPROM_READ_METHOD_READ 1
247#define PARAM_EEPROM_READ_METHOD_GETSIZE 0
248
249#define PARAM_WHQL_RSSI_MAX_DBM (-10)
250#define PARAM_WHQL_RSSI_MIN_DBM (-200)
251
252#define PARAM_DEVICE_WAKE_UP_ENABLE 0x00000001
253#define PARAM_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
254#define PARAM_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
255
256#define PARAM_WAKE_UP_MAGIC_PACKET 0x00000001
257#define PARAM_WAKE_UP_PATTERN_MATCH 0x00000002
258#define PARAM_WAKE_UP_LINK_CHANGE 0x00000004
259
260
261/* Packet filter bit definitioin (UINT_32 bit-wise definition) */
262#define PARAM_PACKET_FILTER_DIRECTED 0x00000001
263#define PARAM_PACKET_FILTER_MULTICAST 0x00000002
264#define PARAM_PACKET_FILTER_ALL_MULTICAST 0x00000004
265#define PARAM_PACKET_FILTER_BROADCAST 0x00000008
266#define PARAM_PACKET_FILTER_PROMISCUOUS 0x00000020
267#define PARAM_PACKET_FILTER_ALL_LOCAL 0x00000080
268#if CFG_ENABLE_WIFI_DIRECT_CFG_80211
269#define PARAM_PACKET_FILTER_P2P_MASK 0xC0000000
270#define PARAM_PACKET_FILTER_PROBE_REQ 0x80000000
271#define PARAM_PACKET_FILTER_ACTION_FRAME 0x40000000
272#endif
273
274#if CFG_SLT_SUPPORT
275#define PARAM_PACKET_FILTER_SUPPORTED (PARAM_PACKET_FILTER_DIRECTED | \
276 PARAM_PACKET_FILTER_MULTICAST | \
277 PARAM_PACKET_FILTER_BROADCAST | \
278 PARAM_PACKET_FILTER_ALL_MULTICAST)
279#else
280#define PARAM_PACKET_FILTER_SUPPORTED (PARAM_PACKET_FILTER_DIRECTED | \
281 PARAM_PACKET_FILTER_MULTICAST | \
282 PARAM_PACKET_FILTER_BROADCAST)
283#endif
284
285#define PARAM_MEM_DUMP_MAX_SIZE 2048
286
287#define BT_PROFILE_PARAM_LEN 8
288/*******************************************************************************
289* D A T A T Y P E S
290********************************************************************************
291*/
292/*----------------------------------------------------------------------------*/
293/* Parameters of User Configuration which match to NDIS5.1 */
294/*----------------------------------------------------------------------------*/
295/* NDIS_802_11_AUTHENTICATION_MODE */
296typedef enum _ENUM_PARAM_AUTH_MODE_T
297{
298 AUTH_MODE_OPEN, /*!< Open system */
299 AUTH_MODE_SHARED, /*!< Shared key */
300 AUTH_MODE_AUTO_SWITCH, /*!< Either open system or shared key */
301 AUTH_MODE_WPA,
302 AUTH_MODE_WPA_PSK,
303 AUTH_MODE_WPA_NONE, /*!< For Ad hoc */
304 AUTH_MODE_WPA2,
305 AUTH_MODE_WPA2_PSK,
306 AUTH_MODE_NUM /*!< Upper bound, not real case */
307} ENUM_PARAM_AUTH_MODE_T, *P_ENUM_PARAM_AUTH_MODE_T;
308
309/* NDIS_802_11_ENCRYPTION_STATUS *//* Encryption types */
310typedef enum _ENUM_WEP_STATUS_T
311{
312 ENUM_WEP_ENABLED,
313 ENUM_ENCRYPTION1_ENABLED = ENUM_WEP_ENABLED,
314 ENUM_WEP_DISABLED,
315 ENUM_ENCRYPTION_DISABLED = ENUM_WEP_DISABLED,
316 ENUM_WEP_KEY_ABSENT,
317 ENUM_ENCRYPTION1_KEY_ABSENT = ENUM_WEP_KEY_ABSENT,
318 ENUM_WEP_NOT_SUPPORTED,
319 ENUM_ENCRYPTION_NOT_SUPPORTED = ENUM_WEP_NOT_SUPPORTED,
320 ENUM_ENCRYPTION2_ENABLED,
321 ENUM_ENCRYPTION2_KEY_ABSENT,
322 ENUM_ENCRYPTION3_ENABLED,
323 ENUM_ENCRYPTION3_KEY_ABSENT
324} ENUM_PARAM_ENCRYPTION_STATUS_T, *P_ENUM_PARAM_ENCRYPTION_STATUS_T;
325
326
327
328typedef UINT_8 PARAM_MAC_ADDRESS[PARAM_MAC_ADDR_LEN];
329
330typedef UINT_32 PARAM_KEY_INDEX;
331typedef UINT_64 PARAM_KEY_RSC;
332typedef INT_32 PARAM_RSSI;
333
334typedef UINT_32 PARAM_FRAGMENTATION_THRESHOLD;
335typedef UINT_32 PARAM_RTS_THRESHOLD;
336
337typedef UINT_8 PARAM_RATES[PARAM_MAX_LEN_RATES];
338typedef UINT_8 PARAM_RATES_EX[PARAM_MAX_LEN_RATES_EX];
339
340typedef enum _ENUM_PARAM_PHY_TYPE_T {
341 PHY_TYPE_802_11ABG = 0, /*!< Can associated with 802.11abg AP, Scan dual band. */
342 PHY_TYPE_802_11BG, /*!< Can associated with 802_11bg AP, Scan single band and not report 802_11a BSSs. */
343 PHY_TYPE_802_11G, /*!< Can associated with 802_11g only AP, Scan single band and not report 802_11ab BSSs. */
344 PHY_TYPE_802_11A, /*!< Can associated with 802_11a only AP, Scan single band and not report 802_11bg BSSs. */
345 PHY_TYPE_802_11B, /*!< Can associated with 802_11b only AP, Scan single band and not report 802_11ag BSSs. */
346 PHY_TYPE_NUM // 5
347} ENUM_PARAM_PHY_TYPE_T, *P_ENUM_PARAM_PHY_TYPE_T;
348
349typedef enum _ENUM_PARAM_OP_MODE_T {
350 NET_TYPE_IBSS = 0, /*!< Try to merge/establish an AdHoc, do periodic SCAN for merging. */
351 NET_TYPE_INFRA, /*!< Try to join an Infrastructure, do periodic SCAN for joining. */
352 NET_TYPE_AUTO_SWITCH, /*!< Try to join an Infrastructure, if fail then try to merge or
353 establish an AdHoc, do periodic SCAN for joining or merging. */
354 NET_TYPE_DEDICATED_IBSS, /*!< Try to merge an AdHoc first, if fail then establish AdHoc permanently, no more SCAN. */
355 NET_TYPE_NUM // 4
356} ENUM_PARAM_OP_MODE_T, *P_ENUM_PARAM_OP_MODE_T;
357
358typedef struct _PARAM_SSID_T {
359 UINT_32 u4SsidLen; /*!< SSID length in bytes. Zero length is broadcast(any) SSID */
360 UINT_8 aucSsid[PARAM_MAX_LEN_SSID];
361} PARAM_SSID_T, *P_PARAM_SSID_T;
362
363/* This is enum defined for user to select an AdHoc Mode */
364typedef enum _ENUM_PARAM_AD_HOC_MODE_T {
365 AD_HOC_MODE_11B = 0, /*!< Create 11b IBSS if we support 802.11abg/802.11bg. */
366 AD_HOC_MODE_MIXED_11BG, /*!< Create 11bg mixed IBSS if we support 802.11abg/802.11bg/802.11g. */
367 AD_HOC_MODE_11G, /*!< Create 11g only IBSS if we support 802.11abg/802.11bg/802.11g. */
368 AD_HOC_MODE_11A, /*!< Create 11a only IBSS if we support 802.11abg. */
369 AD_HOC_MODE_NUM // 4
370} ENUM_PARAM_AD_HOC_MODE_T, *P_ENUM_PARAM_AD_HOC_MODE_T;
371
372
373typedef enum _ENUM_PARAM_MEDIA_STATE_T {
374 PARAM_MEDIA_STATE_CONNECTED,
375 PARAM_MEDIA_STATE_DISCONNECTED,
376 PARAM_MEDIA_STATE_TO_BE_INDICATED // for following MSDN re-association behavior
377} ENUM_PARAM_MEDIA_STATE_T, *P_ENUM_PARAM_MEDIA_STATE_T;
378
379
380typedef enum _ENUM_PARAM_NETWORK_TYPE_T {
381 PARAM_NETWORK_TYPE_FH,
382 PARAM_NETWORK_TYPE_DS,
383 PARAM_NETWORK_TYPE_OFDM5,
384 PARAM_NETWORK_TYPE_OFDM24,
385 PARAM_NETWORK_TYPE_AUTOMODE,
386 PARAM_NETWORK_TYPE_NUM /*!< Upper bound, not real case */
387} ENUM_PARAM_NETWORK_TYPE_T, *P_ENUM_PARAM_NETWORK_TYPE_T;
388
389
390typedef struct _PARAM_NETWORK_TYPE_LIST {
391 UINT_32 NumberOfItems; /*!< At least 1 */
392 ENUM_PARAM_NETWORK_TYPE_T eNetworkType [1];
393} PARAM_NETWORK_TYPE_LIST, *PPARAM_NETWORK_TYPE_LIST;
394
395typedef enum _ENUM_PARAM_PRIVACY_FILTER_T
396{
397 PRIVACY_FILTER_ACCEPT_ALL,
398 PRIVACY_FILTER_8021xWEP,
399 PRIVACY_FILTER_NUM
400} ENUM_PARAM_PRIVACY_FILTER_T, *P_ENUM_PARAM_PRIVACY_FILTER_T;
401
402typedef enum _ENUM_RELOAD_DEFAULTS
403{
404 ENUM_RELOAD_WEP_KEYS
405} PARAM_RELOAD_DEFAULTS, *P_PARAM_RELOAD_DEFAULTS;
406
407typedef struct _PARAM_PM_PACKET_PATTERN
408{
409 UINT_32 Priority; // Importance of the given pattern.
410 UINT_32 Reserved; // Context information for transports.
411 UINT_32 MaskSize; // Size in bytes of the pattern mask.
412 UINT_32 PatternOffset; // Offset from beginning of this
413 // structure to the pattern bytes.
414 UINT_32 PatternSize; // Size in bytes of the pattern.
415 UINT_32 PatternFlags; // Flags (TBD).
416} PARAM_PM_PACKET_PATTERN, *P_PARAM_PM_PACKET_PATTERN;
417
418/*--------------------------------------------------------------*/
419/*! \brief Struct definition to indicate specific event. */
420/*--------------------------------------------------------------*/
421typedef enum _ENUM_STATUS_TYPE_T
422{
423 ENUM_STATUS_TYPE_AUTHENTICATION,
424 ENUM_STATUS_TYPE_MEDIA_STREAM_MODE,
425 ENUM_STATUS_TYPE_CANDIDATE_LIST,
426 ENUM_STATUS_TYPE_NUM /*!< Upper bound, not real case */
427} ENUM_STATUS_TYPE_T, *P_ENUM_STATUS_TYPE_T;
428
429
430typedef struct _PARAM_802_11_CONFIG_FH_T {
431 UINT_32 u4Length; /*!< Length of structure */
432 UINT_32 u4HopPattern; /*!< Defined as 802.11 */
433 UINT_32 u4HopSet; /*!< to one if non-802.11 */
434 UINT_32 u4DwellTime; /*!< In unit of Kusec */
435} PARAM_802_11_CONFIG_FH_T, *P_PARAM_802_11_CONFIG_FH_T;
436
437typedef struct _PARAM_802_11_CONFIG_T {
438 UINT_32 u4Length; /*!< Length of structure */
439 UINT_32 u4BeaconPeriod; /*!< In unit of Kusec */
440 UINT_32 u4ATIMWindow; /*!< In unit of Kusec */
441 UINT_32 u4DSConfig; /*!< Channel frequency in unit of kHz */
442 PARAM_802_11_CONFIG_FH_T rFHConfig;
443} PARAM_802_11_CONFIG_T, *P_PARAM_802_11_CONFIG_T;
444
445typedef struct _PARAM_STATUS_INDICATION_T
446{
447 ENUM_STATUS_TYPE_T eStatusType;
448} PARAM_STATUS_INDICATION_T, *P_PARAM_STATUS_INDICATION_T;
449
450typedef struct _PARAM_AUTH_REQUEST_T
451{
452 UINT_32 u4Length; /*!< Length of this struct */
453 PARAM_MAC_ADDRESS arBssid;
454 UINT_32 u4Flags; /*!< Definitions are as follows */
455} PARAM_AUTH_REQUEST_T, *P_PARAM_AUTH_REQUEST_T;
456
457typedef struct _PARAM_AUTH_EVENT_T
458{
459 PARAM_STATUS_INDICATION_T rStatus;
460 PARAM_AUTH_REQUEST_T arRequest[1];
461} PARAM_AUTH_EVENT_T, *P_PARAM_AUTH_EVENT_T;
462
463/*! \brief Capabilities, privacy, rssi and IEs of each BSSID */
464typedef struct _PARAM_BSSID_EX_T {
465 UINT_32 u4Length; /*!< Length of structure */
466 PARAM_MAC_ADDRESS arMacAddress; /*!< BSSID */
467 UINT_8 Reserved[2];
468 PARAM_SSID_T rSsid; /*!< SSID */
469 UINT_32 u4Privacy; /*!< Need WEP encryption */
470 PARAM_RSSI rRssi; /*!< in dBm */
471 ENUM_PARAM_NETWORK_TYPE_T eNetworkTypeInUse;
472 PARAM_802_11_CONFIG_T rConfiguration;
473 ENUM_PARAM_OP_MODE_T eOpMode;
474 PARAM_RATES_EX rSupportedRates;
475 UINT_32 u4IELength;
476 UINT_8 aucIEs[1];
477} PARAM_BSSID_EX_T, *P_PARAM_BSSID_EX_T;
478
479typedef struct _PARAM_BSSID_LIST_EX {
480 UINT_32 u4NumberOfItems; /*!< at least 1 */
481 PARAM_BSSID_EX_T arBssid[1];
482} PARAM_BSSID_LIST_EX_T, *P_PARAM_BSSID_LIST_EX_T;
483
484
485typedef struct _PARAM_WEP_T
486{
487 UINT_32 u4Length; /*!< Length of structure */
488 UINT_32 u4KeyIndex; /*!< 0: pairwise key, others group keys */
489 UINT_32 u4KeyLength; /*!< Key length in bytes */
490 UINT_8 aucKeyMaterial[32]; /*!< Key content by above setting */
491} PARAM_WEP_T, *P_PARAM_WEP_T;
492
493/*! \brief Key mapping of BSSID */
494typedef struct _PARAM_KEY_T
495{
496 UINT_32 u4Length; /*!< Length of structure */
497 UINT_32 u4KeyIndex; /*!< KeyID */
498 UINT_32 u4KeyLength; /*!< Key length in bytes */
499 PARAM_MAC_ADDRESS arBSSID; /*!< MAC address */
500 PARAM_KEY_RSC rKeyRSC;
501 UINT_8 aucKeyMaterial[32]; /*!< Key content by above setting */
502} PARAM_KEY_T, *P_PARAM_KEY_T;
503
504typedef struct _PARAM_REMOVE_KEY_T
505{
506 UINT_32 u4Length; /*!< Length of structure */
507 UINT_32 u4KeyIndex; /*!< KeyID */
508 PARAM_MAC_ADDRESS arBSSID; /*!< MAC address */
509} PARAM_REMOVE_KEY_T, *P_PARAM_REMOVE_KEY_T;
510
511#if CFG_SUPPORT_WAPI
512typedef enum _ENUM_KEY_TYPE {
513 ENUM_WPI_PAIRWISE_KEY = 0,
514 ENUM_WPI_GROUP_KEY
515} ENUM_KEY_TYPE;
516
517typedef enum _ENUM_WPI_PROTECT_TYPE
518{
519 ENUM_WPI_NONE,
520 ENUM_WPI_RX,
521 ENUM_WPI_TX,
522 ENUM_WPI_RX_TX
523} ENUM_WPI_PROTECT_TYPE;
524
525typedef struct _PARAM_WPI_KEY_T {
526 ENUM_KEY_TYPE eKeyType;
527 ENUM_WPI_PROTECT_TYPE eDirection;
528 UINT_8 ucKeyID;
529 UINT_8 aucRsv[3];
530 UINT_8 aucAddrIndex[12];
531 UINT_32 u4LenWPIEK;
532 UINT_8 aucWPIEK[256];
533 UINT_32 u4LenWPICK;
534 UINT_8 aucWPICK[256];
535 UINT_8 aucPN[16];
536} PARAM_WPI_KEY_T, *P_PARAM_WPI_KEY_T;
537#endif
538
539
540typedef enum _PARAM_POWER_MODE
541{
542 Param_PowerModeCAM,
543 Param_PowerModeMAX_PSP,
544 Param_PowerModeFast_PSP,
545#if CFG_SUPPORT_DBG_POWERMODE
546 Param_PowerModeKeepActiveOn, /* priviledge mode, always active */
547 Param_PowerModeKeepActiveOff, /* to leave priviledge mode */
548#endif
549 Param_PowerModeMax /* Upper bound, not real case */
550} PARAM_POWER_MODE, *PPARAM_POWER_MODE;
551
552typedef enum _PARAM_DEVICE_POWER_STATE
553{
554 ParamDeviceStateUnspecified = 0,
555 ParamDeviceStateD0,
556 ParamDeviceStateD1,
557 ParamDeviceStateD2,
558 ParamDeviceStateD3,
559 ParamDeviceStateMaximum
560} PARAM_DEVICE_POWER_STATE, *PPARAM_DEVICE_POWER_STATE;
561
562#if CFG_SUPPORT_802_11D
563
564/*! \brief The enumeration definitions for OID_IPN_MULTI_DOMAIN_CAPABILITY */
565typedef enum _PARAM_MULTI_DOMAIN_CAPABILITY {
566 ParamMultiDomainCapDisabled,
567 ParamMultiDomainCapEnabled
568} PARAM_MULTI_DOMAIN_CAPABILITY, *P_PARAM_MULTI_DOMAIN_CAPABILITY;
569#endif
570
571typedef struct _COUNTRY_STRING_ENTRY {
572 UINT_8 aucCountryCode[2];
573 UINT_8 aucEnvironmentCode[2];
574} COUNTRY_STRING_ENTRY, *P_COUNTRY_STRING_ENTRY;
575
576/* Power management related definition and enumerations */
577#define UAPSD_NONE 0
578#define UAPSD_AC0 (BIT(0) | BIT(4))
579#define UAPSD_AC1 (BIT(1) | BIT(5))
580#define UAPSD_AC2 (BIT(2) | BIT(6))
581#define UAPSD_AC3 (BIT(3) | BIT(7))
582#define UAPSD_ALL (UAPSD_AC0 | UAPSD_AC1 | UAPSD_AC2 | UAPSD_AC3)
583
584typedef enum _ENUM_POWER_SAVE_PROFILE_T
585{
586 ENUM_PSP_CONTINUOUS_ACTIVE = 0,
587 ENUM_PSP_CONTINUOUS_POWER_SAVE,
588 ENUM_PSP_FAST_SWITCH,
589 ENUM_PSP_NUM
590} ENUM_POWER_SAVE_PROFILE_T, *PENUM_POWER_SAVE_PROFILE_T;
591
592
593/*--------------------------------------------------------------*/
594/*! \brief Set/Query testing type. */
595/*--------------------------------------------------------------*/
596typedef struct _PARAM_802_11_TEST_T
597{
598 UINT_32 u4Length;
599 UINT_32 u4Type;
600 union
601 {
602 PARAM_AUTH_EVENT_T AuthenticationEvent;
603 PARAM_RSSI RssiTrigger;
604 } u;
605} PARAM_802_11_TEST_T, *P_PARAM_802_11_TEST_T;
606
607
608
609/*--------------------------------------------------------------*/
610/*! \brief Set/Query authentication and encryption capability. */
611/*--------------------------------------------------------------*/
612typedef struct _PARAM_AUTH_ENCRYPTION_T
613{
614 ENUM_PARAM_AUTH_MODE_T eAuthModeSupported;
615 ENUM_PARAM_ENCRYPTION_STATUS_T eEncryptStatusSupported;
616} PARAM_AUTH_ENCRYPTION_T, *P_PARAM_AUTH_ENCRYPTION_T;
617
618typedef struct _PARAM_CAPABILITY_T
619{
620 UINT_32 u4Length;
621 UINT_32 u4Version;
622 UINT_32 u4NoOfPMKIDs;
623 UINT_32 u4NoOfAuthEncryptPairsSupported;
624 PARAM_AUTH_ENCRYPTION_T arAuthenticationEncryptionSupported[1];
625} PARAM_CAPABILITY_T, *P_PARAM_CAPABILITY_T;
626
627typedef UINT_8 PARAM_PMKID_VALUE[16];
628
629typedef struct _PARAM_BSSID_INFO_T
630{
631 PARAM_MAC_ADDRESS arBSSID;
632 PARAM_PMKID_VALUE arPMKID;
633} PARAM_BSSID_INFO_T, *P_PARAM_BSSID_INFO_T;
634
635typedef struct _PARAM_PMKID_T
636{
637 UINT_32 u4Length;
638 UINT_32 u4BSSIDInfoCount;
639 PARAM_BSSID_INFO_T arBSSIDInfo[1];
640} PARAM_PMKID_T, *P_PARAM_PMKID_T;
641
642/*! \brief PMKID candidate lists. */
643typedef struct _PARAM_PMKID_CANDIDATE_T {
644 PARAM_MAC_ADDRESS arBSSID;
645 UINT_32 u4Flags;
646} PARAM_PMKID_CANDIDATE_T, *P_PARAM_PMKID_CANDIDATE_T;
647
648//#ifdef LINUX
649typedef struct _PARAM_PMKID_CANDIDATE_LIST_T
650{
651 UINT_32 u4Version; /*!< Version */
652 UINT_32 u4NumCandidates; /*!< How many candidates follow */
653 PARAM_PMKID_CANDIDATE_T arCandidateList[1];
654} PARAM_PMKID_CANDIDATE_LIST_T, *P_PARAM_PMKID_CANDIDATE_LIST_T;
655//#endif
656
657typedef struct _PARAM_CUSTOM_MCR_RW_STRUC_T {
658 UINT_32 u4McrOffset;
659 UINT_32 u4McrData;
660} PARAM_CUSTOM_MCR_RW_STRUC_T, *P_PARAM_CUSTOM_MCR_RW_STRUC_T;
661
662typedef struct _PARAM_CUSTOM_MEM_DUMP_STRUC_T {
663 UINT_32 u4Address;
664 UINT_32 u4Length;
665 UINT_32 u4RemainLength;
666 UINT_8 ucFragNum;
667} PARAM_CUSTOM_MEM_DUMP_STRUC_T, *P_PARAM_CUSTOM_MEM_DUMP_STRUC_T;
668
669
670typedef struct _PARAM_CUSTOM_SW_CTRL_STRUC_T {
671 UINT_32 u4Id;
672 UINT_32 u4Data;
673} PARAM_CUSTOM_SW_CTRL_STRUC_T, *P_PARAM_CUSTOM_SW_CTRL_STRUC_T;
674
675
676typedef struct _CMD_CHIP_CONFIG_T {
677 UINT_16 u2Id;
678 UINT_8 ucType;
679 UINT_8 ucRespType;
680 UINT_16 u2MsgSize;
681 UINT_8 aucReserved0[2];
682 UINT_8 aucCmd[CHIP_CONFIG_RESP_SIZE];
683} CMD_CHIP_CONFIG_T, *P_CMD_CHIP_CONFIG_T;
684
685
686typedef struct _PARAM_CUSTOM_CHIP_CONFIG_STRUC_T {
687 UINT_16 u2Id;
688 UINT_8 ucType;
689 UINT_8 ucRespType;
690 UINT_16 u2MsgSize;
691 UINT_8 aucReserved0[2];
692 UINT_8 aucCmd[CHIP_CONFIG_RESP_SIZE];
693} PARAM_CUSTOM_CHIP_CONFIG_STRUC_T, *P_PARAM_CUSTOM_CHIP_CONFIG_STRUC_T;
694
695typedef struct _PARAM_CUSTOM_KEY_CFG_STRUC_T {
696 UINT_8 aucKey[WLAN_CFG_KEY_LEN_MAX];
697 UINT_8 aucValue[WLAN_CFG_VALUE_LEN_MAX];
698} PARAM_CUSTOM_KEY_CFG_STRUC_T, *P_PARAM_CUSTOM_KEY_CFG_STRUC_T;
699
700
701
702typedef struct _PARAM_CUSTOM_EEPROM_RW_STRUC_T {
703 UINT_8 ucEepromMethod; /* For read only read: 1, query size: 0*/
704 UINT_8 ucEepromIndex;
705 UINT_8 reserved;
706 UINT_16 u2EepromData;
707} PARAM_CUSTOM_EEPROM_RW_STRUC_T, *P_PARAM_CUSTOM_EEPROM_RW_STRUC_T,
708 PARAM_CUSTOM_NVRAM_RW_STRUCT_T, *P_PARAM_CUSTOM_NVRAM_RW_STRUCT_T;
709
710typedef struct _PARAM_CUSTOM_WMM_PS_TEST_STRUC_T {
711 UINT_8 bmfgApsdEnAc; /* b0~3: trigger-en AC0~3. b4~7: delivery-en AC0~3 */
712 UINT_8 ucIsEnterPsAtOnce; /* enter PS immediately without 5 second guard after connected */
713 UINT_8 ucIsDisableUcTrigger; /* not to trigger UC on beacon TIM is matched (under U-APSD) */
714 UINT_8 reserved;
715} PARAM_CUSTOM_WMM_PS_TEST_STRUC_T, *P_PARAM_CUSTOM_WMM_PS_TEST_STRUC_T;
716
717typedef struct _PARAM_CUSTOM_NOA_PARAM_STRUC_T {
718 UINT_32 u4NoaDurationMs;
719 UINT_32 u4NoaIntervalMs;
720 UINT_32 u4NoaCount;
721} PARAM_CUSTOM_NOA_PARAM_STRUC_T, *P_PARAM_CUSTOM_NOA_PARAM_STRUC_T;
722
723typedef struct _PARAM_CUSTOM_OPPPS_PARAM_STRUC_T {
724 UINT_32 u4CTwindowMs;
725} PARAM_CUSTOM_OPPPS_PARAM_STRUC_T, *P_PARAM_CUSTOM_OPPPS_PARAM_STRUC_T;
726
727typedef struct _PARAM_CUSTOM_UAPSD_PARAM_STRUC_T {
728 UINT_8 fgEnAPSD;
729 UINT_8 fgEnAPSD_AcBe;
730 UINT_8 fgEnAPSD_AcBk;
731 UINT_8 fgEnAPSD_AcVo;
732 UINT_8 fgEnAPSD_AcVi;
733 UINT_8 ucMaxSpLen;
734 UINT_8 aucResv[2];
735} PARAM_CUSTOM_UAPSD_PARAM_STRUC_T, *P_PARAM_CUSTOM_UAPSD_PARAM_STRUC_T;
736
737typedef struct _PARAM_CUSTOM_P2P_SET_STRUC_T {
738 UINT_32 u4Enable;
739 UINT_32 u4Mode;
740} PARAM_CUSTOM_P2P_SET_STRUC_T, *P_PARAM_CUSTOM_P2P_SET_STRUC_T;
741
742typedef enum _ENUM_CFG_SRC_TYPE_T {
743 CFG_SRC_TYPE_EEPROM,
744 CFG_SRC_TYPE_NVRAM,
745 CFG_SRC_TYPE_UNKNOWN,
746 CFG_SRC_TYPE_NUM
747} ENUM_CFG_SRC_TYPE_T, *P_ENUM_CFG_SRC_TYPE_T;
748
749typedef enum _ENUM_EEPROM_TYPE_T {
750 EEPROM_TYPE_NO,
751 EEPROM_TYPE_PRESENT,
752 EEPROM_TYPE_NUM
753} ENUM_EEPROM_TYPE_T, *P_ENUM_EEPROM_TYPE_T;
754
755typedef struct _PARAM_QOS_TSINFO {
756 UINT_8 ucTrafficType; /* Traffic Type: 1 for isochronous 0 for asynchronous */
757 UINT_8 ucTid; /* TSID: must be between 8 ~ 15 */
758 UINT_8 ucDirection; /* direction */
759 UINT_8 ucAccessPolicy; /* access policy */
760 UINT_8 ucAggregation; /* aggregation */
761 UINT_8 ucApsd; /* APSD */
762 UINT_8 ucuserPriority; /* user priority */
763 UINT_8 ucTsInfoAckPolicy; /* TSINFO ACK policy */
764 UINT_8 ucSchedule; /* Schedule */
765} PARAM_QOS_TSINFO, *P_PARAM_QOS_TSINFO;
766
767typedef struct _PARAM_QOS_TSPEC {
768 PARAM_QOS_TSINFO rTsInfo; /* TS info field */
769 UINT_16 u2NominalMSDUSize; /* nominal MSDU size */
770 UINT_16 u2MaxMSDUsize; /* maximum MSDU size */
771 UINT_32 u4MinSvcIntv; /* minimum service interval */
772 UINT_32 u4MaxSvcIntv; /* maximum service interval */
773 UINT_32 u4InactIntv; /* inactivity interval */
774 UINT_32 u4SpsIntv; /* suspension interval */
775 UINT_32 u4SvcStartTime; /* service start time */
776 UINT_32 u4MinDataRate; /* minimum Data rate */
777 UINT_32 u4MeanDataRate; /* mean data rate */
778 UINT_32 u4PeakDataRate; /* peak data rate */
779 UINT_32 u4MaxBurstSize; /* maximum burst size */
780 UINT_32 u4DelayBound; /* delay bound */
781 UINT_32 u4MinPHYRate; /* minimum PHY rate */
782 UINT_16 u2Sba; /* surplus bandwidth allowance */
783 UINT_16 u2MediumTime; /* medium time */
784} PARAM_QOS_TSPEC, *P_PARAM_QOS_TSPEC;
785
786typedef struct _PARAM_QOS_ADDTS_REQ_INFO {
787 PARAM_QOS_TSPEC rTspec;
788} PARAM_QOS_ADDTS_REQ_INFO, *P_PARAM_QOS_ADDTS_REQ_INFO;
789
790typedef struct _PARAM_VOIP_CONFIG {
791 UINT_32 u4VoipTrafficInterval; /* 0: disable VOIP configuration */
792} PARAM_VOIP_CONFIG, *P_PARAM_VOIP_CONFIG;
793
794/*802.11 Statistics Struct*/
795typedef struct _PARAM_802_11_STATISTICS_STRUCT_T {
796 UINT_32 u4Length; // Length of structure
797 LARGE_INTEGER rTransmittedFragmentCount;
798 LARGE_INTEGER rMulticastTransmittedFrameCount;
799 LARGE_INTEGER rFailedCount;
800 LARGE_INTEGER rRetryCount;
801 LARGE_INTEGER rMultipleRetryCount;
802 LARGE_INTEGER rRTSSuccessCount;
803 LARGE_INTEGER rRTSFailureCount;
804 LARGE_INTEGER rACKFailureCount;
805 LARGE_INTEGER rFrameDuplicateCount;
806 LARGE_INTEGER rReceivedFragmentCount;
807 LARGE_INTEGER rMulticastReceivedFrameCount;
808 LARGE_INTEGER rFCSErrorCount;
809 LARGE_INTEGER rTKIPLocalMICFailures;
810 LARGE_INTEGER rTKIPICVErrors;
811 LARGE_INTEGER rTKIPCounterMeasuresInvoked;
812 LARGE_INTEGER rTKIPReplays;
813 LARGE_INTEGER rCCMPFormatErrors;
814 LARGE_INTEGER rCCMPReplays;
815 LARGE_INTEGER rCCMPDecryptErrors;
816 LARGE_INTEGER rFourWayHandshakeFailures;
817 LARGE_INTEGER rWEPUndecryptableCount;
818 LARGE_INTEGER rWEPICVErrorCount;
819 LARGE_INTEGER rDecryptSuccessCount;
820 LARGE_INTEGER rDecryptFailureCount;
821} PARAM_802_11_STATISTICS_STRUCT_T, *P_PARAM_802_11_STATISTICS_STRUCT_T;
822
823/* Linux Network Device Statistics Struct */
824typedef struct _PARAM_LINUX_NETDEV_STATISTICS_T {
825 UINT_32 u4RxPackets;
826 UINT_32 u4TxPackets;
827 UINT_32 u4RxBytes;
828 UINT_32 u4TxBytes;
829 UINT_32 u4RxErrors;
830 UINT_32 u4TxErrors;
831 UINT_32 u4Multicast;
832} PARAM_LINUX_NETDEV_STATISTICS_T, *P_PARAM_LINUX_NETDEV_STATISTICS_T;
833
834
835typedef struct _PARAM_MTK_WIFI_TEST_STRUC_T {
836 UINT_32 u4FuncIndex;
837 UINT_32 u4FuncData;
838} PARAM_MTK_WIFI_TEST_STRUC_T, *P_PARAM_MTK_WIFI_TEST_STRUC_T;
839
840
841/* 802.11 Media stream constraints */
842typedef enum _ENUM_MEDIA_STREAM_MODE {
843 ENUM_MEDIA_STREAM_OFF,
844 ENUM_MEDIA_STREAM_ON
845} ENUM_MEDIA_STREAM_MODE, *P_ENUM_MEDIA_STREAM_MODE;
846
847/* for NDIS 5.1 Media Streaming Change */
848typedef struct _PARAM_MEDIA_STREAMING_INDICATION {
849 PARAM_STATUS_INDICATION_T rStatus;
850 ENUM_MEDIA_STREAM_MODE eMediaStreamMode;
851} PARAM_MEDIA_STREAMING_INDICATION, *P_PARAM_MEDIA_STREAMING_INDICATION;
852
853
854#define PARAM_PROTOCOL_ID_DEFAULT 0x00
855#define PARAM_PROTOCOL_ID_TCP_IP 0x02
856#define PARAM_PROTOCOL_ID_IPX 0x06
857#define PARAM_PROTOCOL_ID_NBF 0x07
858#define PARAM_PROTOCOL_ID_MAX 0x0F
859#define PARAM_PROTOCOL_ID_MASK 0x0F
860
861/* for NDIS OID_GEN_NETWORK_LAYER_ADDRESSES */
862typedef struct _PARAM_NETWORK_ADDRESS_IP
863{
864 UINT_16 sin_port;
865 UINT_32 in_addr;
866 UINT_8 sin_zero[8];
867} PARAM_NETWORK_ADDRESS_IP, *P_PARAM_NETWORK_ADDRESS_IP;
868
869typedef struct _PARAM_NETWORK_ADDRESS {
870 UINT_16 u2AddressLength; // length in bytes of Address[] in this
871 UINT_16 u2AddressType; // type of this address (PARAM_PROTOCOL_ID_XXX above)
872 UINT_8 aucAddress[1]; // actually AddressLength bytes long
873} PARAM_NETWORK_ADDRESS, *P_PARAM_NETWORK_ADDRESS;
874
875// The following is used with OID_GEN_NETWORK_LAYER_ADDRESSES to set network layer addresses on an interface
876
877typedef struct _PARAM_NETWORK_ADDRESS_LIST
878{
879 UINT_32 u4AddressCount; // number of addresses following
880 UINT_16 u2AddressType; // type of this address (NDIS_PROTOCOL_ID_XXX above)
881 PARAM_NETWORK_ADDRESS arAddress[1]; // actually AddressCount elements long
882} PARAM_NETWORK_ADDRESS_LIST, *P_PARAM_NETWORK_ADDRESS_LIST;
883
884#if CFG_SLT_SUPPORT
885
886#define FIXED_BW_LG20 0x0000
887#define FIXED_BW_UL20 0x2000
888#define FIXED_BW_DL40 0x3000
889
890#define FIXED_EXT_CHNL_U20 0x4000 // For AGG register.
891#define FIXED_EXT_CHNL_L20 0xC000 // For AGG regsiter.
892
893typedef enum _ENUM_MTK_LP_TEST_MODE_T {
894 ENUM_MTK_LP_TEST_NORMAL,
895 ENUM_MTK_LP_TEST_GOLDEN_SAMPLE,
896 ENUM_MTK_LP_TEST_DUT,
897 ENUM_MTK_LP_TEST_MODE_NUM
898} ENUM_MTK_LP_TEST_MODE_T, *P_ENUM_MTK_LP_TEST_MODE_T;
899
900typedef enum _ENUM_MTK_SLT_FUNC_IDX_T {
901 ENUM_MTK_SLT_FUNC_DO_NOTHING,
902 ENUM_MTK_SLT_FUNC_INITIAL,
903 ENUM_MTK_SLT_FUNC_RATE_SET,
904 ENUM_MTK_SLT_FUNC_LP_SET,
905 ENUM_MTK_SLT_FUNC_NUM
906} ENUM_MTK_SLT_FUNC_IDX_T, *P_ENUM_MTK_SLT_FUNC_IDX_T;
907
908typedef struct _PARAM_MTK_SLT_LP_TEST_STRUC_T {
909 ENUM_MTK_LP_TEST_MODE_T rLpTestMode;
910 UINT_32 u4BcnRcvNum;
911} PARAM_MTK_SLT_LP_TEST_STRUC_T, *P_PARAM_MTK_SLT_LP_TEST_STRUC_T;
912
913typedef struct _PARAM_MTK_SLT_TR_TEST_STRUC_T {
914 ENUM_PARAM_NETWORK_TYPE_T rNetworkType; // Network Type OFDM5G or OFDM2.4G
915 UINT_32 u4FixedRate; // Fixed Rate including BW
916} PARAM_MTK_SLT_TR_TEST_STRUC_T, *P_PARAM_MTK_SLT_TR_TEST_STRUC_T;
917
918typedef struct _PARAM_MTK_SLT_INITIAL_STRUC_T {
919 UINT_8 aucTargetMacAddr[PARAM_MAC_ADDR_LEN];
920 UINT_16 u2SiteID;
921} PARAM_MTK_SLT_INITIAL_STRUC_T, *P_PARAM_MTK_SLT_INITIAL_STRUC_T;
922
923typedef struct _PARAM_MTK_SLT_TEST_STRUC_T {
924 ENUM_MTK_SLT_FUNC_IDX_T rSltFuncIdx;
925 UINT_32 u4Length; /* Length of structure,
926 including myself */
927 UINT_32 u4FuncInfoLen; /* Include following content
928 field and myself */
929 union {
930 PARAM_MTK_SLT_INITIAL_STRUC_T rMtkInitTest;
931 PARAM_MTK_SLT_LP_TEST_STRUC_T rMtkLpTest;
932 PARAM_MTK_SLT_TR_TEST_STRUC_T rMtkTRTest;
933 } unFuncInfoContent;
934
935} PARAM_MTK_SLT_TEST_STRUC_T, *P_PARAM_MTK_SLT_TEST_STRUC_T;
936
937#endif
938
939/*--------------------------------------------------------------*/
940/*! \brief For Fixed Rate Configuration (Registry) */
941/*--------------------------------------------------------------*/
942typedef enum _ENUM_REGISTRY_FIXED_RATE_T {
943 FIXED_RATE_NONE,
944 FIXED_RATE_1M,
945 FIXED_RATE_2M,
946 FIXED_RATE_5_5M,
947 FIXED_RATE_11M,
948 FIXED_RATE_6M,
949 FIXED_RATE_9M,
950 FIXED_RATE_12M,
951 FIXED_RATE_18M,
952 FIXED_RATE_24M,
953 FIXED_RATE_36M,
954 FIXED_RATE_48M,
955 FIXED_RATE_54M,
956 FIXED_RATE_MCS0_20M_800NS,
957 FIXED_RATE_MCS1_20M_800NS,
958 FIXED_RATE_MCS2_20M_800NS,
959 FIXED_RATE_MCS3_20M_800NS,
960 FIXED_RATE_MCS4_20M_800NS,
961 FIXED_RATE_MCS5_20M_800NS,
962 FIXED_RATE_MCS6_20M_800NS,
963 FIXED_RATE_MCS7_20M_800NS,
964 FIXED_RATE_MCS0_20M_400NS,
965 FIXED_RATE_MCS1_20M_400NS,
966 FIXED_RATE_MCS2_20M_400NS,
967 FIXED_RATE_MCS3_20M_400NS,
968 FIXED_RATE_MCS4_20M_400NS,
969 FIXED_RATE_MCS5_20M_400NS,
970 FIXED_RATE_MCS6_20M_400NS,
971 FIXED_RATE_MCS7_20M_400NS,
972 FIXED_RATE_MCS0_40M_800NS,
973 FIXED_RATE_MCS1_40M_800NS,
974 FIXED_RATE_MCS2_40M_800NS,
975 FIXED_RATE_MCS3_40M_800NS,
976 FIXED_RATE_MCS4_40M_800NS,
977 FIXED_RATE_MCS5_40M_800NS,
978 FIXED_RATE_MCS6_40M_800NS,
979 FIXED_RATE_MCS7_40M_800NS,
980 FIXED_RATE_MCS32_800NS,
981 FIXED_RATE_MCS0_40M_400NS,
982 FIXED_RATE_MCS1_40M_400NS,
983 FIXED_RATE_MCS2_40M_400NS,
984 FIXED_RATE_MCS3_40M_400NS,
985 FIXED_RATE_MCS4_40M_400NS,
986 FIXED_RATE_MCS5_40M_400NS,
987 FIXED_RATE_MCS6_40M_400NS,
988 FIXED_RATE_MCS7_40M_400NS,
989 FIXED_RATE_MCS32_400NS,
990 FIXED_RATE_NUM
991} ENUM_REGISTRY_FIXED_RATE_T, *P_ENUM_REGISTRY_FIXED_RATE_T;
992
993typedef enum _ENUM_BT_CMD_T {
994 BT_CMD_PROFILE = 0,
995 BT_CMD_UPDATE,
996 BT_CMD_NUM
997} ENUM_BT_CMD_T;
998
999typedef enum _ENUM_BT_PROFILE_T {
1000 BT_PROFILE_CUSTOM = 0,
1001 BT_PROFILE_SCO,
1002 BT_PROFILE_ACL,
1003 BT_PROFILE_MIXED,
1004 BT_PROFILE_NO_CONNECTION,
1005 BT_PROFILE_NUM
1006} ENUM_BT_PROFILE_T;
1007
1008typedef struct _PTA_PROFILE_T {
1009 ENUM_BT_PROFILE_T eBtProfile;
1010 union {
1011 UINT_8 aucBTPParams[BT_PROFILE_PARAM_LEN];
1012 /* 0: sco reserved slot time,
1013 1: sco idle slot time,
1014 2: acl throughput,
1015 3: bt tx power,
1016 4: bt rssi
1017 5: VoIP interval
1018 6: BIT(0) Use this field, BIT(1) 0 apply single/ 1 dual PTA setting.
1019 */
1020 UINT_32 au4Btcr[4];
1021 } u;
1022} PTA_PROFILE_T, *P_PTA_PROFILE_T;
1023
1024typedef struct _PTA_IPC_T {
1025 UINT_8 ucCmd;
1026 UINT_8 ucLen;
1027 union {
1028 PTA_PROFILE_T rProfile;
1029 UINT_8 aucBTPParams[BT_PROFILE_PARAM_LEN];
1030 } u;
1031} PARAM_PTA_IPC_T, *P_PARAM_PTA_IPC_T, PTA_IPC_T, *P_PTA_IPC_T;
1032
1033/*--------------------------------------------------------------*/
1034/*! \brief CFG80211 Scan Request Container */
1035/*--------------------------------------------------------------*/
1036
1037typedef struct _PARAM_SCAN_REQUEST_EXT_T {
1038 PARAM_SSID_T rSsid;
1039 UINT_32 u4IELength;
1040 PUINT_8 pucIE;
1041} PARAM_SCAN_REQUEST_EXT_T, *P_PARAM_SCAN_REQUEST_EXT_T;
1042
1043#if CFG_SUPPORT_HOTSPOT_2_0
1044typedef struct _PARAM_HS20_SET_BSSID_POOL {
1045 BOOLEAN fgIsEnable;
1046 UINT_8 ucNumBssidPool;
1047 PARAM_MAC_ADDRESS arBSSID[8];
1048} PARAM_HS20_SET_BSSID_POOL, *P_PARAM_HS20_SET_BSSID_POOL;
1049
1050#endif
1051
1052
1053/*******************************************************************************
1054* P U B L I C D A T A
1055********************************************************************************
1056*/
1057
1058/*******************************************************************************
1059* P R I V A T E D A T A
1060********************************************************************************
1061*/
1062
1063/*******************************************************************************
1064* M A C R O S
1065********************************************************************************
1066*/
1067
1068/*******************************************************************************
1069* F U N C T I O N D E C L A R A T I O N S
1070********************************************************************************
1071*/
1072/*--------------------------------------------------------------*/
1073/* Routines to set parameters or query information. */
1074/*--------------------------------------------------------------*/
1075/***** Routines in wlan_oid.c *****/
1076WLAN_STATUS
1077wlanoidQueryNetworkTypesSupported(
1078 IN P_ADAPTER_T prAdapter,
1079 OUT PVOID pvQueryBuffer,
1080 IN UINT_32 u4QueryBufferLen,
1081 OUT PUINT_32 pu4QueryInfoLen
1082 );
1083
1084WLAN_STATUS
1085wlanoidQueryNetworkTypeInUse(
1086 IN P_ADAPTER_T prAdapter,
1087 OUT PVOID pvQueryBuffer,
1088 IN UINT_32 u4QueryBufferLen,
1089 OUT PUINT_32 pu4QueryInfoLen
1090 );
1091
1092WLAN_STATUS
1093wlanoidSetNetworkTypeInUse (
1094 IN P_ADAPTER_T prAdapter,
1095 IN PVOID pvSetBuffer,
1096 IN UINT_32 u4SetBufferLen,
1097 OUT PUINT_32 pu4SetInfoLen
1098 );
1099
1100WLAN_STATUS
1101wlanoidQueryBssid(
1102 IN P_ADAPTER_T prAdapter,
1103 OUT PVOID pvQueryBuffer,
1104 IN UINT_32 u4QueryBufferLen,
1105 OUT PUINT_32 pu4QueryInfoLen
1106 );
1107
1108WLAN_STATUS
1109wlanoidSetBssidListScan(
1110 IN P_ADAPTER_T prAdapter,
1111 IN PVOID pvSetBuffer,
1112 IN UINT_32 u4SetBufferLen,
1113 OUT PUINT_32 pu4SetInfoLen
1114 );
1115
1116WLAN_STATUS
1117wlanoidSetBssidListScanExt (
1118 IN P_ADAPTER_T prAdapter,
1119 IN PVOID pvSetBuffer,
1120 IN UINT_32 u4SetBufferLen,
1121 OUT PUINT_32 pu4SetInfoLen
1122 );
1123
1124WLAN_STATUS
1125wlanoidQueryBssidList(
1126 IN P_ADAPTER_T prAdapter,
1127 OUT PVOID pvQueryBuffer,
1128 IN UINT_32 u4QueryBufferLen,
1129 OUT PUINT_32 pu4QueryInfoLen
1130 );
1131
1132WLAN_STATUS
1133wlanoidSetBssid(
1134 IN P_ADAPTER_T prAdapter,
1135 IN PVOID pvSetBuffer,
1136 IN UINT_32 u4SetBufferLen,
1137 OUT PUINT_32 pu4SetInfoLen
1138 );
1139
1140WLAN_STATUS
1141wlanoidSetSsid(
1142 IN P_ADAPTER_T prAdapter,
1143 IN PVOID pvSetBuffer,
1144 IN UINT_32 u4SetBufferLen,
1145 OUT PUINT_32 pu4SetInfoLen
1146 );
1147
1148WLAN_STATUS
1149wlanoidQuerySsid(
1150 IN P_ADAPTER_T prAdapter,
1151 OUT PVOID pvQueryBuffer,
1152 IN UINT_32 u4QueryBufferLen,
1153 OUT PUINT_32 pu4QueryInfoLen
1154 );
1155
1156WLAN_STATUS
1157wlanoidQueryInfrastructureMode(
1158 IN P_ADAPTER_T prAdapter,
1159 OUT PVOID pvQueryBuffer,
1160 IN UINT_32 u4QueryBufferLen,
1161 OUT PUINT_32 pu4QueryInfoLen
1162 );
1163
1164WLAN_STATUS
1165wlanoidSetInfrastructureMode(
1166 IN P_ADAPTER_T prAdapter,
1167 IN PVOID pvSetBuffer,
1168 IN UINT_32 u4SetBufferLen,
1169 OUT PUINT_32 pu4SetInfoLen
1170 );
1171
1172WLAN_STATUS
1173wlanoidQueryAuthMode(
1174 IN P_ADAPTER_T prAdapter,
1175 OUT PVOID pvQueryBuffer,
1176 IN UINT_32 u4QueryBufferLen,
1177 OUT PUINT_32 pu4QueryInfoLen
1178 );
1179
1180WLAN_STATUS
1181wlanoidSetAuthMode(
1182 IN P_ADAPTER_T prAdapter,
1183 IN PVOID pvSetBuffer,
1184 IN UINT_32 u4SetBufferLen,
1185 OUT PUINT_32 pu4SetInfoLen
1186 );
1187
1188#if 0
1189WLAN_STATUS
1190wlanoidQueryPrivacyFilter (
1191 IN P_ADAPTER_T prAdapter,
1192 OUT PVOID pvQueryBuffer,
1193 IN UINT_32 u4QueryBufferLen,
1194 OUT PUINT_32 pu4QueryInfoLen
1195 );
1196
1197
1198WLAN_STATUS
1199wlanoidSetPrivacyFilter (
1200 IN P_ADAPTER_T prAdapter,
1201 IN PVOID pvSetBuffer,
1202 IN UINT_32 u4SetBufferLen,
1203 OUT PUINT_32 pu4SetInfoLen
1204 );
1205#endif
1206
1207WLAN_STATUS
1208wlanoidSetEncryptionStatus(
1209 IN P_ADAPTER_T prAdapter,
1210 IN PVOID pvSetBuffer,
1211 IN UINT_32 u4SetBufferLen,
1212 OUT PUINT_32 pu4SetInfoLen
1213 );
1214
1215WLAN_STATUS
1216wlanoidQueryEncryptionStatus(
1217 IN P_ADAPTER_T prAdapter,
1218 IN PVOID pvQueryBuffer,
1219 IN UINT_32 u4QueryBufferLen,
1220 OUT PUINT_32 pu4QueryInfoLen
1221 );
1222
1223WLAN_STATUS
1224wlanoidSetAddWep(
1225 IN P_ADAPTER_T prAdapter,
1226 IN PVOID pvSetBuffer,
1227 IN UINT_32 u4SetBufferLen,
1228 OUT PUINT_32 pu4SetInfoLen
1229 );
1230
1231WLAN_STATUS
1232wlanoidSetRemoveWep(
1233 IN P_ADAPTER_T prAdapter,
1234 IN PVOID pvSetBuffer,
1235 IN UINT_32 u4SetBufferLen,
1236 OUT PUINT_32 pu4SetInfoLen
1237 );
1238
1239WLAN_STATUS
1240_wlanoidSetAddKey (
1241 IN P_ADAPTER_T prAdapter,
1242 IN PVOID pvSetBuffer,
1243 IN UINT_32 u4SetBufferLen,
1244 IN BOOLEAN fgIsOid,
1245 IN UINT_8 ucAlgorithmId,
1246 OUT PUINT_32 pu4SetInfoLen
1247 );
1248
1249WLAN_STATUS
1250wlanoidSetAddKey(
1251 IN P_ADAPTER_T prAdapter,
1252 IN PVOID pvSetBuffer,
1253 IN UINT_32 u4SetBufferLen,
1254 OUT PUINT_32 pu4SetInfoLen
1255 );
1256
1257WLAN_STATUS
1258wlanoidSetRemoveKey(
1259 IN P_ADAPTER_T prAdapter,
1260 IN PVOID pvSetBuffer,
1261 IN UINT_32 u4SetBufferLen,
1262 OUT PUINT_32 pu4SetInfoLen
1263 );
1264
1265WLAN_STATUS
1266wlanoidSetReloadDefaults(
1267 IN P_ADAPTER_T prAdapter,
1268 IN PVOID pvSetBuffer,
1269 IN UINT_32 u4SetBufferLen,
1270 OUT PUINT_32 pu4SetInfoLen
1271 );
1272
1273WLAN_STATUS
1274wlanoidSetTest(
1275 IN P_ADAPTER_T prAdapter,
1276 IN PVOID pvSetBuffer,
1277 IN UINT_32 u4SetBufferLen,
1278 OUT PUINT_32 pu4SetInfoLen
1279 );
1280
1281WLAN_STATUS
1282wlanoidQueryCapability(
1283 IN P_ADAPTER_T prAdapter,
1284 OUT PVOID pvQueryBuffer,
1285 IN UINT_32 u4QueryBufferLen,
1286 OUT PUINT_32 pu4QueryInfoLen
1287 );
1288
1289WLAN_STATUS
1290wlanoidQueryFrequency (
1291 IN P_ADAPTER_T prAdapter,
1292 OUT PVOID pvQueryBuffer,
1293 IN UINT_32 u4QueryBufferLen,
1294 OUT PUINT_32 pu4QueryInfoLen
1295 );
1296
1297WLAN_STATUS
1298wlanoidSetFrequency (
1299 IN P_ADAPTER_T prAdapter,
1300 IN PVOID pvSetBuffer,
1301 IN UINT_32 u4SetBufferLen,
1302 OUT PUINT_32 pu4SetInfoLen
1303 );
1304
1305
1306WLAN_STATUS
1307wlanoidQueryAtimWindow (
1308 IN P_ADAPTER_T prAdapter,
1309 OUT PVOID pvQueryBuffer,
1310 IN UINT_32 u4QueryBufferLen,
1311 OUT PUINT_32 pu4QueryInfoLen
1312 );
1313
1314WLAN_STATUS
1315wlanoidSetAtimWindow (
1316 IN P_ADAPTER_T prAdapter,
1317 IN PVOID pvSetBuffer,
1318 IN UINT_32 u4SetBufferLen,
1319 OUT PUINT_32 pu4SetInfoLen
1320 );
1321
1322
1323WLAN_STATUS
1324wlanoidSetChannel (
1325 IN P_ADAPTER_T prAdapter,
1326 IN PVOID pvSetBuffer,
1327 IN UINT_32 u4SetBufferLen,
1328 OUT PUINT_32 pu4SetInfoLen
1329 );
1330
1331WLAN_STATUS
1332wlanoidQueryRssi(
1333 IN P_ADAPTER_T prAdapter,
1334 OUT PVOID pvQueryBuffer,
1335 IN UINT_32 u4QueryBufferLen,
1336 OUT PUINT_32 pu4QueryInfoLen
1337 );
1338
1339WLAN_STATUS
1340wlanoidQueryRssiTrigger(
1341 IN P_ADAPTER_T prAdapter,
1342 OUT PVOID pvQueryBuffer,
1343 IN UINT_32 u4QueryBufferLen,
1344 OUT PUINT_32 pu4QueryInfoLen
1345 );
1346
1347WLAN_STATUS
1348wlanoidSetRssiTrigger(
1349 IN P_ADAPTER_T prAdapter,
1350 IN PVOID pvSetBuffer,
1351 IN UINT_32 u4SetBufferLen,
1352 OUT PUINT_32 pu4SetInfoLen
1353 );
1354
1355WLAN_STATUS
1356wlanoidQueryRtsThreshold (
1357 IN P_ADAPTER_T prAdapter,
1358 OUT PVOID pvQueryBuffer,
1359 IN UINT_32 u4QueryBufferLen,
1360 OUT PUINT_32 pu4QueryInfoLen
1361 );
1362
1363WLAN_STATUS
1364wlanoidSetRtsThreshold (
1365 IN P_ADAPTER_T prAdapter,
1366 IN PVOID pvSetBuffer,
1367 IN UINT_32 u4SetBufferLen,
1368 OUT PUINT_32 pu4SetInfoLen
1369 );
1370
1371WLAN_STATUS
1372wlanoidQuery802dot11PowerSaveProfile (
1373 IN P_ADAPTER_T prAdapter,
1374 IN PVOID pvQueryBuffer,
1375 IN UINT_32 u4QueryBufferLen,
1376 OUT PUINT_32 pu4QueryInfoLen
1377 );
1378
1379WLAN_STATUS
1380wlanoidSet802dot11PowerSaveProfile (
1381 IN P_ADAPTER_T prAdapter,
1382 IN PVOID prSetBuffer,
1383 IN UINT_32 u4SetBufferLen,
1384 OUT PUINT_32 pu4SetInfoLen
1385 );
1386
1387WLAN_STATUS
1388wlanoidQueryPmkid(
1389 IN P_ADAPTER_T prAdapter,
1390 OUT PVOID pvQueryBuffer,
1391 IN UINT_32 u4QueryBufferLen,
1392 OUT PUINT_32 pu4QueryInfoLen
1393 );
1394
1395WLAN_STATUS
1396wlanoidSetPmkid(
1397 IN P_ADAPTER_T prAdapter,
1398 IN PVOID pvSetBuffer,
1399 IN UINT_32 u4SetBufferLen,
1400 OUT PUINT_32 pu4SetInfoLen
1401 );
1402
1403WLAN_STATUS
1404wlanoidQuerySupportedRates(
1405 IN P_ADAPTER_T prAdapter,
1406 OUT PVOID pvQueryBuffer,
1407 IN UINT_32 u4QueryBufferLen,
1408 OUT PUINT_32 pu4QueryInfoLen
1409 );
1410
1411WLAN_STATUS
1412wlanoidQueryDesiredRates (
1413 IN P_ADAPTER_T prAdapter,
1414 OUT PVOID pvQueryBuffer,
1415 IN UINT_32 u4QueryBufferLen,
1416 OUT PUINT_32 pu4QueryInfoLen
1417 );
1418
1419WLAN_STATUS
1420wlanoidSetDesiredRates (
1421 IN P_ADAPTER_T prAdapter,
1422 IN PVOID pvSetBuffer,
1423 IN UINT_32 u4SetBufferLen,
1424 OUT PUINT_32 pu4SetInfoLen
1425 );
1426
1427WLAN_STATUS
1428wlanoidQueryPermanentAddr (
1429 IN P_ADAPTER_T prAdapter,
1430 IN PVOID pvQueryBuf,
1431 IN UINT_32 u4QueryBufLen,
1432 OUT PUINT_32 pu4QueryInfoLen
1433 );
1434
1435WLAN_STATUS
1436wlanoidQueryCurrentAddr (
1437 IN P_ADAPTER_T prAdapter,
1438 IN PVOID pvQueryBuf,
1439 IN UINT_32 u4QueryBufLen,
1440 OUT PUINT_32 pu4QueryInfoLen
1441 );
1442
1443WLAN_STATUS
1444wlanoidQueryPermanentAddr (
1445 IN P_ADAPTER_T prAdapter,
1446 IN PVOID pvQueryBuf,
1447 IN UINT_32 u4QueryBufLen,
1448 OUT PUINT_32 pu4QueryInfoLen
1449 );
1450
1451WLAN_STATUS
1452wlanoidQueryLinkSpeed(
1453 IN P_ADAPTER_T prAdapter,
1454 IN PVOID pvQueryBuffer,
1455 IN UINT_32 u4QueryBufferLen,
1456 OUT PUINT_32 pu4QueryInfoLen
1457 );
1458
1459WLAN_STATUS
1460wlanoidQueryMcrRead (
1461 IN P_ADAPTER_T prAdapter,
1462 IN PVOID pvQueryBuffer,
1463 IN UINT_32 u4QueryBufferLen,
1464 OUT PUINT_32 pu4QueryInfoLen
1465 );
1466
1467WLAN_STATUS
1468wlanoidQueryMemDump (
1469 IN P_ADAPTER_T prAdapter,
1470 IN PVOID pvQueryBuffer,
1471 IN UINT_32 u4QueryBufferLen,
1472 OUT PUINT_32 pu4QueryInfoLen
1473 );
1474
1475WLAN_STATUS
1476wlanoidSetMcrWrite (
1477 IN P_ADAPTER_T prAdapter,
1478 IN PVOID pvSetBuffer,
1479 IN UINT_32 u4SetBufferLen,
1480 OUT PUINT_32 pu4SetInfoLen
1481 );
1482
1483
1484WLAN_STATUS
1485wlanoidQuerySwCtrlRead (
1486 IN P_ADAPTER_T prAdapter,
1487 IN PVOID pvQueryBuffer,
1488 IN UINT_32 u4QueryBufferLen,
1489 OUT PUINT_32 pu4QueryInfoLen
1490 );
1491
1492WLAN_STATUS
1493wlanoidSetSwCtrlWrite (
1494 IN P_ADAPTER_T prAdapter,
1495 IN PVOID pvSetBuffer,
1496 IN UINT_32 u4SetBufferLen,
1497 OUT PUINT_32 pu4SetInfoLen
1498 );
1499
1500
1501WLAN_STATUS
1502wlanoidQueryEepromRead (
1503 IN P_ADAPTER_T prAdapter,
1504 IN PVOID pvQueryBuffer,
1505 IN UINT_32 u4QueryBufferLen,
1506 OUT PUINT_32 pu4QueryInfoLen
1507 );
1508
1509WLAN_STATUS
1510wlanoidSetEepromWrite (
1511 IN P_ADAPTER_T prAdapter,
1512 IN PVOID pvSetBuffer,
1513 IN UINT_32 u4SetBufferLen,
1514 OUT PUINT_32 pu4SetInfoLen
1515 );
1516
1517WLAN_STATUS
1518wlanoidQueryRfTestRxStatus (
1519 IN P_ADAPTER_T prAdapter,
1520 IN PVOID pvQueryBuffer,
1521 IN UINT_32 u4QueryBufferLen,
1522 OUT PUINT_32 pu4QueryInfoLen
1523 );
1524
1525WLAN_STATUS
1526wlanoidQueryRfTestTxStatus (
1527 IN P_ADAPTER_T prAdapter,
1528 IN PVOID pvQueryBuffer,
1529 IN UINT_32 u4QueryBufferLen,
1530 OUT PUINT_32 pu4QueryInfoLen
1531 );
1532
1533WLAN_STATUS
1534wlanoidQueryOidInterfaceVersion (
1535 IN P_ADAPTER_T prAdapter,
1536 IN PVOID pvQueryBuffer,
1537 IN UINT_32 u4QueryBufferLen,
1538 OUT PUINT_32 pu4QueryInfoLen
1539 );
1540
1541WLAN_STATUS
1542wlanoidQueryVendorId(
1543 IN P_ADAPTER_T prAdapter,
1544 OUT PVOID pvQueryBuffer,
1545 IN UINT_32 u4QueryBufferLen,
1546 OUT PUINT_32 pu4QueryInfoLen
1547 );
1548
1549WLAN_STATUS
1550wlanoidQueryMulticastList(
1551 IN P_ADAPTER_T prAdapter,
1552 OUT PVOID pvQueryBuffer,
1553 IN UINT_32 u4QueryBufferLen,
1554 OUT PUINT_32 pu4QueryInfoLen
1555 );
1556
1557WLAN_STATUS
1558wlanoidSetMulticastList(
1559 IN P_ADAPTER_T prAdapter,
1560 IN PVOID pvSetBuffer,
1561 IN UINT_32 u4SetBufferLen,
1562 OUT PUINT_32 pu4SetInfoLen
1563 );
1564
1565WLAN_STATUS
1566wlanoidQueryRcvError (
1567 IN P_ADAPTER_T prAdapter,
1568 IN PVOID pvQueryBuffer,
1569 IN UINT_32 u4QueryBufferLen,
1570 OUT PUINT_32 pu4QueryInfoLen
1571 );
1572
1573WLAN_STATUS
1574wlanoidQueryRcvNoBuffer (
1575 IN P_ADAPTER_T prAdapter,
1576 IN PVOID pvQueryBuffer,
1577 IN UINT_32 u4QueryBufferLen,
1578 OUT PUINT_32 pu4QueryInfoLen
1579 );
1580
1581WLAN_STATUS
1582wlanoidQueryRcvCrcError (
1583 IN P_ADAPTER_T prAdapter,
1584 IN PVOID pvQueryBuffer,
1585 IN UINT_32 u4QueryBufferLen,
1586 OUT PUINT_32 pu4QueryInfoLen
1587 );
1588
1589WLAN_STATUS
1590wlanoidQueryStatistics (
1591 IN P_ADAPTER_T prAdapter,
1592 IN PVOID pvQueryBuffer,
1593 IN UINT_32 u4QueryBufferLen,
1594 OUT PUINT_32 pu4QueryInfoLen
1595 );
1596WLAN_STATUS
1597wlanoidQueryStatisticsPL (
1598 IN P_ADAPTER_T prAdapter,
1599 IN PVOID pvQueryBuffer,
1600 IN UINT_32 u4QueryBufferLen,
1601 OUT PUINT_32 pu4QueryInfoLen
1602 );
1603
1604
1605#ifdef LINUX
1606
1607WLAN_STATUS
1608wlanoidQueryStatisticsForLinux (
1609 IN P_ADAPTER_T prAdapter,
1610 IN PVOID pvQueryBuffer,
1611 IN UINT_32 u4QueryBufferLen,
1612 OUT PUINT_32 pu4QueryInfoLen
1613 );
1614
1615#endif
1616
1617WLAN_STATUS
1618wlanoidQueryMediaStreamMode(
1619 IN P_ADAPTER_T prAdapter,
1620 IN PVOID pvQueryBuffer,
1621 IN UINT_32 u4QueryBufferLen,
1622 OUT PUINT_32 pu4QueryInfoLen
1623 );
1624
1625WLAN_STATUS
1626wlanoidSetMediaStreamMode(
1627 IN P_ADAPTER_T prAdapter,
1628 IN PVOID pvSetBuffer,
1629 IN UINT_32 u4SetBufferLen,
1630 OUT PUINT_32 pu4SetInfoLen
1631 );
1632
1633WLAN_STATUS
1634wlanoidQueryRcvOk(
1635 IN P_ADAPTER_T prAdapter,
1636 IN PVOID pvQueryBuffer,
1637 IN UINT_32 u4QueryBufferLen,
1638 OUT PUINT_32 pu4QueryInfoLen
1639 );
1640
1641WLAN_STATUS
1642wlanoidQueryXmitOk(
1643 IN P_ADAPTER_T prAdapter,
1644 IN PVOID pvQueryBuffer,
1645 IN UINT_32 u4QueryBufferLen,
1646 OUT PUINT_32 pu4QueryInfoLen
1647 );
1648
1649WLAN_STATUS
1650wlanoidQueryXmitError (
1651 IN P_ADAPTER_T prAdapter,
1652 IN PVOID pvQueryBuffer,
1653 IN UINT_32 u4QueryBufferLen,
1654 OUT PUINT_32 pu4QueryInfoLen
1655 );
1656
1657WLAN_STATUS
1658wlanoidQueryXmitOneCollision (
1659 IN P_ADAPTER_T prAdapter,
1660 IN PVOID pvQueryBuffer,
1661 IN UINT_32 u4QueryBufferLen,
1662 OUT PUINT_32 pu4QueryInfoLen
1663 );
1664
1665WLAN_STATUS
1666wlanoidQueryXmitMoreCollisions (
1667 IN P_ADAPTER_T prAdapter,
1668 IN PVOID pvQueryBuffer,
1669 IN UINT_32 u4QueryBufferLen,
1670 OUT PUINT_32 pu4QueryInfoLen
1671 );
1672
1673WLAN_STATUS
1674wlanoidQueryXmitMaxCollisions (
1675 IN P_ADAPTER_T prAdapter,
1676 IN PVOID pvQueryBuffer,
1677 IN UINT_32 u4QueryBufferLen,
1678 OUT PUINT_32 pu4QueryInfoLen
1679 );
1680
1681
1682WLAN_STATUS
1683wlanoidSetCurrentPacketFilter(
1684 IN P_ADAPTER_T prAdapter,
1685 IN PVOID pvSetBuffer,
1686 IN UINT_32 u4SetBufferLen,
1687 OUT PUINT_32 pu4SetInfoLen
1688 );
1689
1690WLAN_STATUS
1691wlanoidQueryCurrentPacketFilter (
1692 IN P_ADAPTER_T prAdapter,
1693 IN PVOID pvQueryBuffer,
1694 IN UINT_32 u4QueryBufferLen,
1695 OUT PUINT_32 pu4QueryInfoLen
1696 );
1697
1698
1699WLAN_STATUS
1700wlanoidSetAcpiDevicePowerState (
1701 IN P_ADAPTER_T prAdapter,
1702 IN PVOID pvSetBuffer,
1703 IN UINT_32 u4SetBufferLen,
1704 OUT PUINT_32 pu4SetInfoLen
1705 );
1706
1707WLAN_STATUS
1708wlanoidQueryAcpiDevicePowerState (
1709 IN P_ADAPTER_T prAdapter,
1710 IN PVOID pvQueryBuffer,
1711 IN UINT_32 u4QueryBufferLen,
1712 OUT PUINT_32 pu4QueryInfoLen
1713 );
1714
1715
1716WLAN_STATUS
1717wlanoidSetDisassociate (
1718 IN P_ADAPTER_T prAdapter,
1719 IN PVOID pvSetBuffer,
1720 IN UINT_32 u4SetBufferLen,
1721 OUT PUINT_32 pu4SetInfoLen
1722 );
1723
1724WLAN_STATUS
1725wlanoidQueryFragThreshold (
1726 IN P_ADAPTER_T prAdapter,
1727 OUT PVOID pvQueryBuffer,
1728 IN UINT_32 u4QueryBufferLen,
1729 OUT PUINT_32 pu4QueryInfoLen
1730 );
1731
1732WLAN_STATUS
1733wlanoidSetFragThreshold (
1734 IN P_ADAPTER_T prAdapter,
1735 IN PVOID pvSetBuffer,
1736 IN UINT_32 u4SetBufferLen,
1737 OUT PUINT_32 pu4SetInfoLen
1738 );
1739
1740
1741WLAN_STATUS
1742wlanoidQueryAdHocMode (
1743 IN P_ADAPTER_T prAdapter,
1744 OUT PVOID pvQueryBuffer,
1745 IN UINT_32 u4QueryBufferLen,
1746 OUT PUINT_32 pu4QueryInfoLen
1747 );
1748
1749WLAN_STATUS
1750wlanoidSetAdHocMode (
1751 IN P_ADAPTER_T prAdapter,
1752 IN PVOID pvSetBuffer,
1753 IN UINT_32 u4SetBufferLen,
1754 OUT PUINT_32 pu4SetInfoLen
1755 );
1756
1757WLAN_STATUS
1758wlanoidQueryBeaconInterval (
1759 IN P_ADAPTER_T prAdapter,
1760 OUT PVOID pvQueryBuffer,
1761 IN UINT_32 u4QueryBufferLen,
1762 OUT PUINT_32 pu4QueryInfoLen
1763 );
1764
1765WLAN_STATUS
1766wlanoidSetBeaconInterval (
1767 IN P_ADAPTER_T prAdapter,
1768 IN PVOID pvSetBuffer,
1769 IN UINT_32 u4SetBufferLen,
1770 OUT PUINT_32 pu4SetInfoLen
1771 );
1772
1773WLAN_STATUS
1774wlanoidSetCurrentAddr (
1775 IN P_ADAPTER_T prAdapter,
1776 IN PVOID pvSetBuffer,
1777 IN UINT_32 u4SetBufferLen,
1778 OUT PUINT_32 pu4SetInfoLen
1779 );
1780
1781#if CFG_TCP_IP_CHKSUM_OFFLOAD
1782WLAN_STATUS
1783wlanoidSetCSUMOffload (
1784 IN P_ADAPTER_T prAdapter,
1785 IN PVOID pvSetBuffer,
1786 IN UINT_32 u4SetBufferLen,
1787 OUT PUINT_32 pu4SetInfoLen
1788);
1789#endif /* CFG_TCP_IP_CHKSUM_OFFLOAD */
1790
1791WLAN_STATUS
1792wlanoidSetNetworkAddress (
1793 IN P_ADAPTER_T prAdapter,
1794 IN PVOID pvSetBuffer,
1795 IN UINT_32 u4SetBufferLen,
1796 OUT PUINT_32 pu4SetInfoLen
1797 );
1798
1799WLAN_STATUS
1800wlanoidQueryMaxFrameSize (
1801 IN P_ADAPTER_T prAdapter,
1802 OUT PVOID pvQueryBuffer,
1803 IN UINT_32 u4QueryBufferLen,
1804 OUT PUINT_32 pu4QueryInfoLen
1805 );
1806
1807WLAN_STATUS
1808wlanoidQueryMaxTotalSize (
1809 IN P_ADAPTER_T prAdapter,
1810 OUT PVOID pvQueryBuffer,
1811 IN UINT_32 u4QueryBufferLen,
1812 OUT PUINT_32 pu4QueryInfoLen
1813 );
1814
1815WLAN_STATUS
1816wlanoidSetCurrentLookahead (
1817 IN P_ADAPTER_T prAdapter,
1818 IN PVOID pvSetBuffer,
1819 IN UINT_32 u4SetBufferLen,
1820 OUT PUINT_32 pu4SetInfoLen
1821 );
1822
1823/* RF Test related APIs */
1824WLAN_STATUS
1825wlanoidRftestSetTestMode (
1826 IN P_ADAPTER_T prAdapter,
1827 IN PVOID pvSetBuffer,
1828 IN UINT_32 u4SetBufferLen,
1829 OUT PUINT_32 pu4SetInfoLen
1830 );
1831
1832WLAN_STATUS
1833wlanoidRftestSetAbortTestMode (
1834 IN P_ADAPTER_T prAdapter,
1835 IN PVOID pvSetBuffer,
1836 IN UINT_32 u4SetBufferLen,
1837 OUT PUINT_32 pu4SetInfoLen
1838 );
1839
1840WLAN_STATUS
1841wlanoidRftestQueryAutoTest (
1842 IN P_ADAPTER_T prAdapter,
1843 OUT PVOID pvQueryBuffer,
1844 IN UINT_32 u4QueryBufferLen,
1845 OUT PUINT_32 pu4QueryInfoLen
1846 );
1847
1848WLAN_STATUS
1849wlanoidRftestSetAutoTest (
1850 IN P_ADAPTER_T prAdapter,
1851 OUT PVOID pvSetBuffer,
1852 IN UINT_32 u4SetBufferLen,
1853 OUT PUINT_32 pu4SetInfoLen
1854 );
1855
1856#if CFG_SUPPORT_WAPI
1857WLAN_STATUS
1858wlanoidSetWapiMode (
1859 IN P_ADAPTER_T prAdapter,
1860 IN PVOID pvSetBuffer,
1861 IN UINT_32 u4SetBufferLen,
1862 OUT PUINT_32 pu4SetInfoLen
1863 );
1864
1865WLAN_STATUS
1866wlanoidSetWapiAssocInfo (
1867 IN P_ADAPTER_T prAdapter,
1868 IN PVOID pvSetBuffer,
1869 IN UINT_32 u4SetBufferLen,
1870 OUT PUINT_32 pu4SetInfoLen
1871 );
1872
1873WLAN_STATUS
1874wlanoidSetWapiKey(
1875 IN P_ADAPTER_T prAdapter,
1876 IN PVOID pvSetBuffer,
1877 IN UINT_32 u4SetBufferLen,
1878 OUT PUINT_32 pu4SetInfoLen
1879 );
1880#endif
1881
1882#if CFG_SUPPORT_WPS2
1883WLAN_STATUS
1884wlanoidSetWSCAssocInfo (
1885 IN P_ADAPTER_T prAdapter,
1886 IN PVOID pvSetBuffer,
1887 IN UINT_32 u4SetBufferLen,
1888 OUT PUINT_32 pu4SetInfoLen
1889 );
1890#endif
1891
1892#if CFG_ENABLE_WAKEUP_ON_LAN
1893WLAN_STATUS
1894wlanoidSetAddWakeupPattern (
1895 IN P_ADAPTER_T prAdapter,
1896 IN PVOID pvSetBuffer,
1897 IN UINT_32 u4SetBufferLen,
1898 OUT PUINT_32 pu4SetInfoLen
1899 );
1900
1901WLAN_STATUS
1902wlanoidSetRemoveWakeupPattern (
1903 IN P_ADAPTER_T prAdapter,
1904 IN PVOID pvSetBuffer,
1905 IN UINT_32 u4SetBufferLen,
1906 OUT PUINT_32 pu4SetInfoLen
1907 );
1908
1909WLAN_STATUS
1910wlanoidQueryEnableWakeup (
1911 IN P_ADAPTER_T prAdapter,
1912 OUT PVOID pvQueryBuffer,
1913 IN UINT_32 u4QueryBufferLen,
1914 OUT PUINT_32 u4QueryInfoLen
1915 );
1916
1917WLAN_STATUS
1918wlanoidSetEnableWakeup (
1919 IN P_ADAPTER_T prAdapter,
1920 IN PVOID pvSetBuffer,
1921 IN UINT_32 u4SetBufferLen,
1922 OUT PUINT_32 pu4SetInfoLen
1923 );
1924#endif
1925
1926WLAN_STATUS
1927wlanoidSetWiFiWmmPsTest (
1928 IN P_ADAPTER_T prAdapter,
1929 IN PVOID pvSetBuffer,
1930 IN UINT_32 u4SetBufferLen,
1931 OUT PUINT_32 pu4SetInfoLen
1932 );
1933
1934WLAN_STATUS
1935wlanoidSetTxAmpdu (
1936 IN P_ADAPTER_T prAdapter,
1937 IN PVOID pvSetBuffer,
1938 IN UINT_32 u4SetBufferLen,
1939 OUT PUINT_32 pu4SetInfoLen
1940 );
1941
1942WLAN_STATUS
1943wlanoidQueryBSSInfo (
1944 IN P_ADAPTER_T prAdapter,
1945 IN PVOID pvSetBuffer,
1946 IN UINT_32 u4SetBufferLen,
1947 OUT PUINT_32 pu4SetInfoLen
1948 );
1949
1950
1951WLAN_STATUS
1952wlanoidSetAddbaReject(
1953 IN P_ADAPTER_T prAdapter,
1954 IN PVOID pvSetBuffer,
1955 IN UINT_32 u4SetBufferLen,
1956 OUT PUINT_32 pu4SetInfoLen
1957 );
1958
1959WLAN_STATUS
1960wlanoidQueryNvramRead (
1961 IN P_ADAPTER_T prAdapter,
1962 OUT PVOID pvQueryBuffer,
1963 IN UINT_32 u4QueryBufferLen,
1964 OUT PUINT_32 pu4QueryInfoLen
1965 );
1966
1967WLAN_STATUS
1968wlanoidSetNvramWrite (
1969 IN P_ADAPTER_T prAdapter,
1970 IN PVOID pvSetBuffer,
1971 IN UINT_32 u4SetBufferLen,
1972 OUT PUINT_32 pu4SetInfoLen
1973 );
1974
1975WLAN_STATUS
1976wlanoidQueryCfgSrcType(
1977 IN P_ADAPTER_T prAdapter,
1978 OUT PVOID pvQueryBuffer,
1979 IN UINT_32 u4QueryBufferLen,
1980 OUT PUINT_32 pu4QueryInfoLen
1981 );
1982
1983WLAN_STATUS
1984wlanoidQueryEepromType(
1985 IN P_ADAPTER_T prAdapter,
1986 OUT PVOID pvQueryBuffer,
1987 IN UINT_32 u4QueryBufferLen,
1988 OUT PUINT_32 pu4QueryInfoLen
1989 );
1990
1991WLAN_STATUS
1992wlanoidSetCountryCode (
1993 IN P_ADAPTER_T prAdapter,
1994 IN PVOID pvSetBuffer,
1995 IN UINT_32 u4SetBufferLen,
1996 OUT PUINT_32 pu4SetInfoLen
1997 );
1998
1999WLAN_STATUS
2000wlanSendMemDumpCmd (
2001 IN P_ADAPTER_T prAdapter,
2002 IN PVOID pvQueryBuffer,
2003 IN UINT_32 u4QueryBufferLen
2004 );
2005
2006#if CFG_SLT_SUPPORT
2007
2008WLAN_STATUS
2009wlanoidQuerySLTStatus(
2010 IN P_ADAPTER_T prAdapter,
2011 OUT PVOID pvQueryBuffer,
2012 IN UINT_32 u4QueryBufferLen,
2013 OUT PUINT_32 pu4QueryInfoLen
2014 );
2015
2016WLAN_STATUS
2017wlanoidUpdateSLTMode(
2018 IN P_ADAPTER_T prAdapter,
2019 IN PVOID pvSetBuffer,
2020 IN UINT_32 u4SetBufferLen,
2021 OUT PUINT_32 pu4SetInfoLen
2022 );
2023
2024#endif
2025
2026#if 0
2027WLAN_STATUS
2028wlanoidSetNoaParam (
2029 IN P_ADAPTER_T prAdapter,
2030 IN PVOID pvSetBuffer,
2031 IN UINT_32 u4SetBufferLen,
2032 OUT PUINT_32 pu4SetInfoLen
2033 );
2034
2035WLAN_STATUS
2036wlanoidSetOppPsParam (
2037 IN P_ADAPTER_T prAdapter,
2038 IN PVOID pvSetBuffer,
2039 IN UINT_32 u4SetBufferLen,
2040 OUT PUINT_32 pu4SetInfoLen
2041 );
2042
2043WLAN_STATUS
2044wlanoidSetUApsdParam (
2045 IN P_ADAPTER_T prAdapter,
2046 IN PVOID pvSetBuffer,
2047 IN UINT_32 u4SetBufferLen,
2048 OUT PUINT_32 pu4SetInfoLen
2049 );
2050#endif
2051
2052/*----------------------------------------------------------------------------*/
2053WLAN_STATUS
2054wlanoidSetBT (
2055 IN P_ADAPTER_T prAdapter,
2056 IN PVOID pvSetBuffer,
2057 IN UINT_32 u4SetBufferLen,
2058 OUT PUINT_32 pu4SetInfoLen
2059 );
2060
2061WLAN_STATUS
2062wlanoidQueryBT (
2063 IN P_ADAPTER_T prAdapter,
2064 OUT PVOID pvQueryBuffer,
2065 IN UINT_32 u4QueryBufferLen,
2066 OUT PUINT_32 pu4QueryInfoLen
2067 );
2068
2069WLAN_STATUS
2070wlanoidSetTxPower (
2071 IN P_ADAPTER_T prAdapter,
2072 IN PVOID pvSetBuffer,
2073 IN UINT_32 u4SetBufferLen,
2074 OUT PUINT_32 pu4SetInfoLen
2075 );
2076
2077#if CFG_SUPPORT_BUILD_DATE_CODE
2078WLAN_STATUS
2079wlanoidQueryBuildDateCode (
2080 IN P_ADAPTER_T prAdapter,
2081 OUT PVOID pvQueryBuffer,
2082 IN UINT_32 u4QueryBufferLen,
2083 OUT PUINT_32 pu4QueryInfoLen
2084 );
2085
2086#endif
2087
2088/*
2089WLAN_STATUS
2090wlanoidQueryBtSingleAntenna (
2091 IN P_ADAPTER_T prAdapter,
2092 OUT PVOID pvQueryBuffer,
2093 IN UINT_32 u4QueryBufferLen,
2094 OUT PUINT_32 pu4QueryInfoLen
2095 );
2096
2097WLAN_STATUS
2098wlanoidSetBtSingleAntenna (
2099 IN P_ADAPTER_T prAdapter,
2100 IN PVOID pvSetBuffer,
2101 IN UINT_32 u4SetBufferLen,
2102 OUT PUINT_32 pu4SetInfoLen
2103 );
2104
2105WLAN_STATUS
2106wlanoidSetPta (
2107 IN P_ADAPTER_T prAdapter,
2108 IN PVOID pvSetBuffer,
2109 IN UINT_32 u4SetBufferLen,
2110 OUT PUINT_32 pu4SetInfoLen
2111 );
2112
2113WLAN_STATUS
2114wlanoidQueryPta (
2115 IN P_ADAPTER_T prAdapter,
2116 OUT PVOID pvQueryBuffer,
2117 IN UINT_32 u4QueryBufferLen,
2118 OUT PUINT_32 pu4QueryInfoLen
2119 );
2120*/
2121
2122#if CFG_ENABLE_WIFI_DIRECT
2123WLAN_STATUS
2124wlanoidSetP2pMode (
2125 IN P_ADAPTER_T prAdapter,
2126 IN PVOID pvSetBuffer,
2127 IN UINT_32 u4SetBufferLen,
2128 OUT PUINT_32 pu4SetInfoLen
2129 );
2130#endif
2131
2132#if CFG_SUPPORT_HOTSPOT_2_0
2133WLAN_STATUS
2134wlanoidSetHS20Info (
2135 IN P_ADAPTER_T prAdapter,
2136 IN PVOID pvSetBuffer,
2137 IN UINT_32 u4SetBufferLen,
2138 OUT PUINT_32 pu4SetInfoLen
2139 );
2140
2141WLAN_STATUS
2142wlanoidSetInterworkingInfo (
2143 IN P_ADAPTER_T prAdapter,
2144 IN PVOID pvSetBuffer,
2145 IN UINT_32 u4SetBufferLen,
2146 OUT PUINT_32 pu4SetInfoLen
2147 );
2148
2149WLAN_STATUS
2150wlanoidSetRoamingConsortiumIEInfo (
2151 IN P_ADAPTER_T prAdapter,
2152 IN PVOID pvSetBuffer,
2153 IN UINT_32 u4SetBufferLen,
2154 OUT PUINT_32 pu4SetInfoLen
2155 );
2156
2157WLAN_STATUS
2158wlanoidSetHS20BssidPool(
2159 IN P_ADAPTER_T prAdapter,
2160 IN PVOID pvSetBuffer,
2161 IN UINT_32 u4SetBufferLen,
2162 OUT PUINT_32 pu4SetInfoLen
2163 );
2164#endif
2165
2166WLAN_STATUS
2167wlanoidSetRoamingInfo (
2168 IN P_ADAPTER_T prAdapter,
2169 IN PVOID pvQueryBuffer,
2170 IN UINT_32 u4QueryBufferLen,
2171 OUT PUINT_32 pu4QueryInfoLen
2172 );
2173
2174/*******************************************************************************
2175* F U N C T I O N S
2176********************************************************************************
2177*/
2178
2179WLAN_STATUS
2180wlanoidSetChipConfig(
2181 IN P_ADAPTER_T prAdapter,
2182 IN PVOID pvSetBuffer,
2183 IN UINT_32 u4SetBufferLen,
2184 OUT PUINT_32 pu4SetInfoLen
2185 );
2186
2187#endif /* _WLAN_OID_H */
2188