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