blob: e7a48724e1743c6385fa9c014c101e833bbfb826 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam1ed83fc2014-02-19 01:15:45 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
45 Copyright (c) 2010-2011 QUALCOMM Incorporated.
46 All Rights Reserved.
47 Qualcomm Confidential and Proprietary
48===========================================================================*/
49
50
51/*===========================================================================
52
53 EDIT HISTORY FOR FILE
54
55
56 This section contains comments describing changes made to the module.
57 Notice that changes are listed in reverse chronological order.
58
59
60 $Header:$ $DateTime: $ $Author: $
61
62
63when who what, where, why
64-------- --- ----------------------------------------------------------
6510/05/11 hap Adding support for Keep Alive
6608/04/10 lti Created module.
67
68===========================================================================*/
69
70
71
72/*===========================================================================
73
74 INCLUDE FILES FOR MODULE
75
76===========================================================================*/
77
78/*----------------------------------------------------------------------------
79 * Include Files
80 * -------------------------------------------------------------------------*/
81#include "wlan_qct_pal_api.h"
82#include "wlan_qct_pal_type.h"
83#include "wlan_qct_pack_align.h"
84#include "wlan_qct_wdi_cfg.h"
85
86/*----------------------------------------------------------------------------
87 * Preprocessor Definitions and Constants
88 * -------------------------------------------------------------------------*/
89#ifdef __cplusplus
90 extern "C" {
91#endif
92
93/* MAC ADDRESS LENGTH - per spec*/
94#define WDI_MAC_ADDR_LEN 6
95
96/* Max number of 11b rates -> 1,2,5.5,11 */
97#define WDI_NUM_11B_RATES 4
98
99/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
100#define WDI_NUM_11A_RATES 8
101
102/* Max number of legacy rates -> 72, 96, 108*/
103#define WDI_NUM_POLARIS_RATES 3
104
105/* Max supported MCS set*/
106#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
107
108/*Max number of Access Categories for QoS - per spec */
109#define WDI_MAX_NO_AC 4
110
111/*Max. size for reserving the Beacon Template */
112#define WDI_BEACON_TEMPLATE_SIZE 0x180
113
114#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
115
116#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
117
118#define WDI_MAX_SSID_SIZE 32
119
120/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
121from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
122of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
123
124#define FRAGMENT_SIZE 3072
125
126/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800127#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Beacon Filter Length*/
130#define WDI_BEACON_FILTER_LEN 70
131
132/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
133#define WDI_COEX_IND_DATA_SIZE (4)
134
135#define WDI_CIPHER_SEQ_CTR_SIZE 6
136
137#define WDI_NUM_BSSID 2
138
139/*Version string max length (including NUL) */
140#define WDI_VERSION_LENGTH 64
141
142
143/*WDI Response timeout - how long will WDI wait for a response from the device
144 - it should be large enough to allow any other failure mechanism to kick
145 in before we get to a timeout (ms units)*/
146#define WDI_RESPONSE_TIMEOUT 10000
147
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700148/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
149 * Apps initiated SSR will be performed */
150#define WDI_SSR_TIMEOUT 5000
151
Jeff Johnson295189b2012-06-20 16:38:30 -0700152#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
153
Yue Mab9c86f42013-08-14 15:59:08 -0700154/* Periodic Tx pattern offload feature */
155#define PERIODIC_TX_PTRN_MAX_SIZE 1536
156#define MAXNUM_PERIODIC_TX_PTRNS 6
157
Jeff Johnson295189b2012-06-20 16:38:30 -0700158/*============================================================================
159 * GENERIC STRUCTURES
160
161============================================================================*/
162
163/*---------------------------------------------------------------------------
164 WDI Version Information
165---------------------------------------------------------------------------*/
166typedef struct
167{
168 wpt_uint8 revision;
169 wpt_uint8 version;
170 wpt_uint8 minor;
171 wpt_uint8 major;
172} WDI_WlanVersionType;
173
174/*---------------------------------------------------------------------------
175 WDI Device Capability
176---------------------------------------------------------------------------*/
177typedef struct
178{
179 /*If this flag is true it means that the device can support 802.3/ETH2 to
180 802.11 translation*/
181 wpt_boolean bFrameXtlSupported;
182
183 /*Maximum number of BSSes supported by the Device */
184 wpt_uint8 ucMaxBSSSupported;
185
186 /*Maximum number of stations supported by the Device */
187 wpt_uint8 ucMaxSTASupported;
188}WDI_DeviceCapabilityType;
189
190/*---------------------------------------------------------------------------
191 WDI Channel Offset
192---------------------------------------------------------------------------*/
193typedef enum
194{
195 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
196 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700197 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
198#ifdef WLAN_FEATURE_11AC
199 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
203 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
205 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
206#endif
207 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700208}WDI_HTSecondaryChannelOffset;
209
210/*---------------------------------------------------------------------------
211 WDI_MacFrameCtl
212 Frame control field format (2 bytes)
213---------------------------------------------------------------------------*/
214typedef struct
215{
216 wpt_uint8 protVer :2;
217 wpt_uint8 type :2;
218 wpt_uint8 subType :4;
219
220 wpt_uint8 toDS :1;
221 wpt_uint8 fromDS :1;
222 wpt_uint8 moreFrag :1;
223 wpt_uint8 retry :1;
224 wpt_uint8 powerMgmt :1;
225 wpt_uint8 moreData :1;
226 wpt_uint8 wep :1;
227 wpt_uint8 order :1;
228
229} WDI_MacFrameCtl;
230
231/*---------------------------------------------------------------------------
232 WDI Sequence control field
233---------------------------------------------------------------------------*/
234typedef struct
235{
236 wpt_uint8 fragNum : 4;
237 wpt_uint8 seqNumLo : 4;
238 wpt_uint8 seqNumHi : 8;
239} WDI_MacSeqCtl;
240
241/*---------------------------------------------------------------------------
242 Management header format
243---------------------------------------------------------------------------*/
244typedef struct
245{
246 WDI_MacFrameCtl fc;
247 wpt_uint8 durationLo;
248 wpt_uint8 durationHi;
249 wpt_uint8 da[WDI_MAC_ADDR_LEN];
250 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
251 wpt_macAddr bssId;
252 WDI_MacSeqCtl seqControl;
253} WDI_MacMgmtHdr;
254
255/*---------------------------------------------------------------------------
256 NV Blob management sturcture
257 ---------------------------------------------------------------------------*/
258
259typedef struct
260{
261 /* NV image fragments count */
262 wpt_uint16 usTotalFragment;
263
264 /* NV fragment size */
265 wpt_uint16 usFragmentSize;
266
267 /* current fragment to be sent */
268 wpt_uint16 usCurrentFragment;
269
270} WDI_NvBlobInfoParams;
271
272
273/*---------------------------------------------------------------------------
274 Data path enums memory pool resource
275 ---------------------------------------------------------------------------*/
276
277typedef enum
278{
279 /* managment resource pool ID */
280 WDI_MGMT_POOL_ID = 0,
281 /* Data resource pool ID */
282 WDI_DATA_POOL_ID = 1
283}WDI_ResPoolType;
284
285/*============================================================================
286 * GENERIC STRUCTURES - END
287 ============================================================================*/
288
289/*----------------------------------------------------------------------------
290 * Type Declarations
291 * -------------------------------------------------------------------------*/
292/*---------------------------------------------------------------------------
293 WDI Status
294---------------------------------------------------------------------------*/
295typedef enum
296{
297 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
298 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
299 synchronous way - no rsp will be generated*/
300 WDI_STATUS_PENDING, /* Operation result is pending and will be
301 provided asynchronously through the Req Status
302 Callback */
303 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
304 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
305 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
306 failure*/
307 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
308 of the driver*/
309 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
310
311 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
312 WDI_STATUS_MAX
313
314}WDI_Status;
315
316
317/*---------------------------------------------------------------------------
318 WDI_ReqStatusCb
319
320 DESCRIPTION
321
322 This callback is invoked by DAL to deliver to UMAC the result of posting
323 a previous request for which the return status was PENDING.
324
325 PARAMETERS
326
327 IN
328 wdiStatus: response status received from the Control Transport
329 pUserData: user data
330
331
332
333 RETURN VALUE
334 The result code associated with performing the operation
335---------------------------------------------------------------------------*/
336typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
337 void* pUserData);
338
339/*---------------------------------------------------------------------------
340 WDI_LowLevelIndEnumType
341 Types of indication that can be posted to UMAC by DAL
342---------------------------------------------------------------------------*/
343typedef enum
344{
345 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
346 passed. */
347 WDI_RSSI_NOTIFICATION_IND,
348
349 /*Link loss in the low MAC */
350 WDI_MISSED_BEACON_IND,
351
352 /*when hardware has signaled an unknown addr2 frames. The indication will
353 contain info from frames to be passed to the UMAC, this may use this info to
354 deauth the STA*/
355 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
356
357 /*MIC Failure detected by HW*/
358 WDI_MIC_FAILURE_IND,
359
360 /*Fatal Error Ind*/
361 WDI_FATAL_ERROR_IND,
362
363 /*Delete Station Ind*/
364 WDI_DEL_STA_IND,
365
366 /*Indication from Coex*/
367 WDI_COEX_IND,
368
369 /* Indication for Tx Complete */
370 WDI_TX_COMPLETE_IND,
371
372 /*.P2P_NOA_Attr_Indication */
373 WDI_P2P_NOA_ATTR_IND,
374
375 /* Preferred Network Found Indication */
376 WDI_PREF_NETWORK_FOUND_IND,
377
378 WDI_WAKE_REASON_IND,
379
380 /* Tx PER Tracking Indication */
381 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800382
Viral Modid86bde22012-12-10 13:09:21 -0800383 /* P2P_NOA_Start_Indication */
384 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800385
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530386 /* TDLS_Indication */
387 WDI_TDLS_IND,
388
Leo Changd9df8aa2013-09-26 13:32:26 -0700389 /* LPHB Indication from FW to umac */
390 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700391
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700392 /* IBSS Peer Inactivity Indication */
393 WDI_IBSS_PEER_INACTIVITY_IND,
394
Yue Mab9c86f42013-08-14 15:59:08 -0700395 /* Periodic Tx Pattern FW Indication */
396 WDI_PERIODIC_TX_PTRN_FW_IND,
397
Rajeev79dbe4c2013-10-05 11:03:42 +0530398#ifdef FEATURE_WLAN_BATCH_SCAN
399 /*Batch scan result indication from FW*/
400 WDI_BATCH_SCAN_RESULT_IND,
401#endif
402
Leo Chang0b0e45a2013-12-15 15:18:55 -0800403#ifdef FEATURE_WLAN_CH_AVOID
404 WDI_CH_AVOID_IND,
405#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530406#ifdef WLAN_FEATURE_LINK_LAYER_STATS
407 WDI_LL_STATS_RESULTS_IND,
408#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530409#ifdef WLAN_FEATURE_EXTSCAN
410 WDI_EXTSCAN_PROGRESS_IND,
411 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
412 WDI_EXTSCAN_SCAN_RESULT_IND,
413 WDI_EXTSCAN_GET_CAPABILITIES_IND,
414 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
415 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
416#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530417 /*Delete BA Ind*/
418 WDI_DEL_BA_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800419
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 WDI_MAX_IND
421}WDI_LowLevelIndEnumType;
422
423
424/*---------------------------------------------------------------------------
425 WDI_LowRSSIThIndType
426---------------------------------------------------------------------------*/
427typedef struct
428{
429 /*Positive crossing of Rssi Thresh1*/
430 wpt_uint32 bRssiThres1PosCross : 1;
431 /*Negative crossing of Rssi Thresh1*/
432 wpt_uint32 bRssiThres1NegCross : 1;
433 /*Positive crossing of Rssi Thresh2*/
434 wpt_uint32 bRssiThres2PosCross : 1;
435 /*Negative crossing of Rssi Thresh2*/
436 wpt_uint32 bRssiThres2NegCross : 1;
437 /*Positive crossing of Rssi Thresh3*/
438 wpt_uint32 bRssiThres3PosCross : 1;
439 /*Negative crossing of Rssi Thresh3*/
440 wpt_uint32 bRssiThres3NegCross : 1;
441
Srinivasdaaec712012-12-12 15:59:44 -0800442 wpt_uint32 avgRssi : 8;
443 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700444
445}WDI_LowRSSIThIndType;
446
447
448/*---------------------------------------------------------------------------
449 WDI_UnkAddr2FrmRxIndType
450---------------------------------------------------------------------------*/
451typedef struct
452{
453 /*Rx Bd data of the unknown received addr2 frame.*/
454 void* bufRxBd;
455
456 /*Buffer Length*/
457 wpt_uint16 usBufLen;
458}WDI_UnkAddr2FrmRxIndType;
459
460/*---------------------------------------------------------------------------
461 WDI_DeleteSTAIndType
462---------------------------------------------------------------------------*/
463typedef struct
464{
465 /*ASSOC ID, as assigned by UMAC*/
466 wpt_uint16 usAssocId;
467
468 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
469 wpt_uint8 ucSTAIdx;
470
471 /*BSSID of STA*/
472 wpt_macAddr macBSSID;
473
474 /*MAC ADDR of STA*/
475 wpt_macAddr macADDR2;
476
477 /* To unify the keepalive / unknown A2 / tim-based disa*/
478 wpt_uint16 wptReasonCode;
479
480}WDI_DeleteSTAIndType;
481
482/*---------------------------------------------------------------------------
483 WDI_MicFailureIndType
484---------------------------------------------------------------------------*/
485typedef struct
486{
487 /*current BSSID*/
488 wpt_macAddr bssId;
489
490 /*Source mac address*/
491 wpt_macAddr macSrcAddr;
492
493 /*Transmitter mac address*/
494 wpt_macAddr macTaAddr;
495
496 /*Destination mac address*/
497 wpt_macAddr macDstAddr;
498
499 /*Multicast flag*/
500 wpt_uint8 ucMulticast;
501
502 /*First byte of IV*/
503 wpt_uint8 ucIV1;
504
505 /*Key Id*/
506 wpt_uint8 keyId;
507
508 /*Sequence Number*/
509 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
510
511 /*receive address */
512 wpt_macAddr macRxAddr;
513}WDI_MicFailureIndType;
514
515/*---------------------------------------------------------------------------
516 WDI_CoexIndType
517---------------------------------------------------------------------------*/
518typedef struct
519{
520 wpt_uint32 coexIndType;
521 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
522} WDI_CoexIndType;
523
524/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530525 WDI_DHCPInd
526---------------------------------------------------------------------------*/
527
528typedef struct
529{
530 wpt_uint8 device_mode;
531 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
532}WDI_DHCPInd;
533
534/*---------------------------------------------------------------------------
535
Jeff Johnson295189b2012-06-20 16:38:30 -0700536 WDI_MacSSid
537---------------------------------------------------------------------------*/
538typedef struct
539{
540 wpt_uint8 ucLength;
541 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
542} WDI_MacSSid;
543
544#ifdef FEATURE_WLAN_SCAN_PNO
545/*---------------------------------------------------------------------------
546 WDI_PrefNetworkFoundInd
547---------------------------------------------------------------------------*/
548typedef struct
549{
550 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700551 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700552 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700553 wpt_uint8 rssi;
554 wpt_uint16 frameLength;
555 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700556} WDI_PrefNetworkFoundInd;
557#endif // FEATURE_WLAN_SCAN_PNO
558
Jeff Johnson295189b2012-06-20 16:38:30 -0700559/*---------------------------------------------------------------------------
560 *WDI_P2pNoaAttrIndType
561 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700562typedef struct
563{
564 wpt_uint8 ucIndex ;
565 wpt_uint8 ucOppPsFlag ;
566 wpt_uint16 usCtWin ;
567
568 wpt_uint16 usNoa1IntervalCnt;
569 wpt_uint16 usRsvd1 ;
570 wpt_uint32 uslNoa1Duration;
571 wpt_uint32 uslNoa1Interval;
572 wpt_uint32 uslNoa1StartTime;
573
574 wpt_uint16 usNoa2IntervalCnt;
575 wpt_uint16 usRsvd2;
576 wpt_uint32 uslNoa2Duration;
577 wpt_uint32 uslNoa2Interval;
578 wpt_uint32 uslNoa2StartTime;
579
580 wpt_uint32 status;
581}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800582
583/*---------------------------------------------------------------------------
584 *WDI_P2pNoaStartIndType
585 *-------------------------------------------------------------------------*/
586typedef struct
587{
588 wpt_uint32 status;
589 wpt_uint32 bssIdx;
590}WDI_P2pNoaStartIndType;
591
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530592/*---------------------------------------------------------------------------
593 *WDI_TdlsIndType
594 *-------------------------------------------------------------------------*/
595typedef struct
596{
597 wpt_uint16 status;
598 wpt_uint16 assocId;
599 wpt_uint16 staIdx;
600 wpt_uint16 reasonCode;
601}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700602
603#ifdef WLAN_WAKEUP_EVENTS
604/*---------------------------------------------------------------------------
605 WDI_WakeReasonIndType
606---------------------------------------------------------------------------*/
607typedef struct
608{
609 wpt_uint32 ulReason; /* see tWakeReasonType */
610 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
611 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
612 HAL truncates the data (i.e. data packets) this length
613 will be less than the actual length */
614 wpt_uint32 ulActualDataLen; /* actual length of data */
615 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
616 see specific wake type */
617} WDI_WakeReasonIndType;
618#endif // WLAN_WAKEUP_EVENTS
619
620/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800621 WDI_MissedBeaconIndType
622-----------------------------------------------------------------------------*/
623typedef struct
624{
625 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
626} WDI_MissedBeaconIndType;
627
Leo Chang9056f462013-08-01 19:21:11 -0700628#ifdef FEATURE_WLAN_LPHB
629/*---------------------------------------------------------------------------
630 WDI_LPHBTimeoutIndData
631-----------------------------------------------------------------------------*/
632typedef struct
633{
634 wpt_uint8 bssIdx;
635 wpt_uint8 sessionIdx;
636 wpt_uint8 protocolType; /*TCP or UDP*/
637 wpt_uint8 eventReason;
638} WDI_LPHBTimeoutIndData;
639#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800640
Yue Mab9c86f42013-08-14 15:59:08 -0700641/*-----------------------------------------------------------------------------
642WDI_PeriodicTxPtrnFwIndType
643-----------------------------------------------------------------------------*/
644typedef struct
645{
646 wpt_uint8 bssIdx;
647 wpt_uint32 selfStaIdx;
648 wpt_uint32 status;
649 wpt_uint32 patternIdBitmap;
650} WDI_PeriodicTxPtrnFwIndType;
651
Rajeev79dbe4c2013-10-05 11:03:42 +0530652#ifdef FEATURE_WLAN_BATCH_SCAN
653/*---------------------------------------------------------------------------
654 WDI_SetBatchScanReqType
655---------------------------------------------------------------------------*/
656typedef struct
657{
658 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
659 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
660 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
661 wpt_uint8 rfBand; /* band to scan :
662 0 ->both Band, 1->2.4Ghz Only
663 and 2-> 5GHz Only */
664 wpt_uint32 rtt; /* set if required to do RTT it is not
665 supported in current version */
666}WDI_SetBatchScanReqType;
667
668/*---------------------------------------------------------------------------
669 WDI_SetBatchScanRspType
670---------------------------------------------------------------------------*/
671typedef struct
672{
673 /*max number of scans which FW can cache*/
674 wpt_uint32 nScansToBatch;
675}WDI_SetBatchScanRspType;
676
677/*---------------------------------------------------------------------------
678 WDI_TriggerBatchScanResultIndType
679---------------------------------------------------------------------------*/
680typedef struct
681{
682 wpt_uint32 param;
683}WDI_TriggerBatchScanResultIndType;
684
685/*---------------------------------------------------------------------------
686 WDI_StopBatchScanIndType
687---------------------------------------------------------------------------*/
688typedef struct
689{
690 /*max number of scans which FW can cache*/
691 wpt_uint32 param;
692}WDI_StopBatchScanIndType;
693
694
695/*---------------------------------------------------------------------------
696 * WDI_BatchScanResultIndType
697 *--------------------------------------------------------------------------*/
698typedef struct
699{
700 wpt_uint32 bssid[6]; /* BSSID */
701 wpt_uint32 ssid[32]; /* SSID */
702 wpt_uint32 ch; /* Channel */
703 wpt_uint32 rssi; /* RSSI or Level */
704 /* Timestamp when Network was found. Used to calculate age based on
705 timestamp in GET_RSP msg header */
706 wpt_uint32 timestamp;
707} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
708
709typedef struct
710{
711 wpt_uint32 scanId; /*Scan List ID*/
712 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
713 wpt_uint32 numNetworksInScanList;
714 /*Variable data ptr: Number of AP in Scan List*/
715 wpt_uint32 scanList[1];
716} tWDIBatchScanList, *tpWDIBatchScanList;
717
718typedef struct
719{
720 wpt_uint32 timestamp;
721 wpt_uint32 numScanLists;
722 wpt_boolean isLastResult;
723 /* Variable Data ptr: Number of Scan Lists*/
724 wpt_uint32 scanResults[1];
725} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
726
727#endif
728
729
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800730/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700731 WDI_IbssPeerInactivityIndType
732-----------------------------------------------------------------------------*/
733typedef struct
734{
735 wpt_uint8 bssIdx;
736 wpt_uint8 staIdx;
737 wpt_macAddr staMacAddr;
738}WDI_IbssPeerInactivityIndType;
739
740/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700741 WDI_TxRateFlags
742-----------------------------------------------------------------------------*/
743typedef enum
744{
745 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
746 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
747 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
748 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
749 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
750 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
751 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
752 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
753 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
754} WDI_TxRateFlags;
755
756/*---------------------------------------------------------------------------
757 WDI_RateUpdateIndParams
758-----------------------------------------------------------------------------*/
759typedef struct
760{
761 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
762 * param ucastDataRate can be used to control RA behavior of unicast data to
763 */
764 wpt_int32 ucastDataRate;
765
766 /* TX flag to differentiate between HT20, HT40 etc */
767 WDI_TxRateFlags ucastDataRateTxFlag;
768
769 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
770 wpt_macAddr bssid;
771
772 /*
773 * 0 implies MCAST RA, positive value implies fixed rate,
774 * -1 implies ignore this param
775 */
776 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
777
778 /* TX flag to differentiate between HT20, HT40 etc */
779 WDI_TxRateFlags reliableMcastDataRateTxFlag;
780
781 /*
782 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
783 * 0 implies ignore
784 */
785 wpt_uint32 mcastDataRate24GHz;
786
787 /* TX flag to differentiate between HT20, HT40 etc */
788 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
789
790 /*
791 * MCAST(or BCAST) fixed data rate in 5 GHz,
792 * unit Mbpsx10, 0 implies ignore
793 */
794 wpt_uint32 mcastDataRate5GHz;
795
796 /* TX flag to differentiate between HT20, HT40 etc */
797 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
798
799 /*
800 * Request status callback offered by UMAC - it is called if the current
801 * req has returned PENDING as status; it delivers the status of sending
802 * the message over the BUS
803 */
804 WDI_ReqStatusCb wdiReqStatusCB;
805
806 /*
807 * The user data passed in by UMAC, it will be sent back when the above
808 * function pointer will be called
809 */
810 void *pUserData;
811
812} WDI_RateUpdateIndParams;
813
Leo Chang0b0e45a2013-12-15 15:18:55 -0800814#ifdef FEATURE_WLAN_CH_AVOID
815#define WDI_CH_AVOID_MAX_RANGE 4
816
817typedef struct
818{
819 wpt_uint32 startFreq;
820 wpt_uint32 endFreq;
821} WDI_ChAvoidFreqType;
822
823typedef struct
824{
825 wpt_uint32 avoidRangeCount;
826 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
827} WDI_ChAvoidIndType;
828#endif /* FEATURE_WLAN_CH_AVOID */
829
Dino Mycled3d50022014-07-07 12:58:25 +0530830#ifdef WLAN_FEATURE_LINK_LAYER_STATS
831typedef struct
832{
833 void *pLinkLayerStatsResults;
834 wpt_macAddr macAddr;
835} WDI_LinkLayerStatsResults;
836
837#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530838
839typedef struct
840{
841 /*STA Index*/
842 wpt_uint16 staIdx;
843
844 /*Peer MAC*/
845 wpt_macAddr peerMacAddr;
846
847 // TID for which a BA session timeout is being triggered
848 wpt_uint8 baTID;
849 // DELBA direction
850 // 1 - Originator
851 // 0 - Recipient
852 wpt_uint8 baDirection;
853 wpt_uint32 reasonCode;
854 /*MAC ADDR of STA*/
855 wpt_macAddr bssId; // TO SUPPORT BT-AMP
856} WDI_DeleteBAIndType;
857
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700858/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700859 WDI_LowLevelIndType
860 Inidcation type and information about the indication being carried
861 over
862---------------------------------------------------------------------------*/
863typedef struct
864{
865 /*Inidcation type*/
866 WDI_LowLevelIndEnumType wdiIndicationType;
867
868 /*Indication data*/
869 union
870 {
871 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
872 WDI_LowRSSIThIndType wdiLowRSSIInfo;
873
874 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
875 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
876
877 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
878 WDI_MicFailureIndType wdiMICFailureInfo;
879
880 /*Error code for WDI_FATAL_ERROR_IND*/
881 wpt_uint16 usErrorCode;
882
883 /*Delete STA Indication*/
884 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
885
886 /*Coex Indication*/
887 WDI_CoexIndType wdiCoexInfo;
888
889 /* Tx Complete Indication */
890 wpt_uint32 tx_complete_status;
891
Jeff Johnson295189b2012-06-20 16:38:30 -0700892 /* P2P NOA ATTR Indication */
893 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800894 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530895 /* TDLS Indications */
896 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700897
898
899#ifdef FEATURE_WLAN_SCAN_PNO
900 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
901#endif // FEATURE_WLAN_SCAN_PNO
902
903#ifdef WLAN_WAKEUP_EVENTS
904 WDI_WakeReasonIndType wdiWakeReasonInd;
905#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800906 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700907
Leo Chang9056f462013-08-01 19:21:11 -0700908#ifdef FEATURE_WLAN_LPHB
909 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
910#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700911
912 /* IBSS Peer Inactivity Indication */
913 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
914
Yue Mab9c86f42013-08-14 15:59:08 -0700915 /* Periodic TX Pattern FW Indication */
916 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530917
918#ifdef FEATURE_WLAN_BATCH_SCAN
919 /*batch scan result indication from FW*/
920 void *pBatchScanResult;
921#endif
922
Leo Chang0b0e45a2013-12-15 15:18:55 -0800923#ifdef FEATURE_WLAN_CH_AVOID
924 WDI_ChAvoidIndType wdiChAvoidInd;
925#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530926
927#ifdef WLAN_FEATURE_LINK_LAYER_STATS
928 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530929 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530930#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530931#ifdef WLAN_FEATURE_EXTSCAN
932 /*EXTSCAN Results from FW*/
933 void *pEXTScanIndData;
934#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530935 WDI_DeleteBAIndType wdiDeleteBAInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700936 } wdiIndicationData;
937}WDI_LowLevelIndType;
938
939/*---------------------------------------------------------------------------
940 WDI_LowLevelIndCBType
941
942 DESCRIPTION
943
944 This callback is invoked by DAL to deliver to UMAC certain indications
945 that has either received from the lower device or has generated itself.
946
947 PARAMETERS
948
949 IN
950 pwdiInd: information about the indication sent over
951 pUserData: user data provided by UMAC during registration
952
953
954
955 RETURN VALUE
956 The result code associated with performing the operation
957---------------------------------------------------------------------------*/
958typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
959 void* pUserData);
960
961/*---------------------------------------------------------------------------
962 WDI_DriverType
963---------------------------------------------------------------------------*/
964typedef enum
965{
966 WDI_DRIVER_TYPE_PRODUCTION = 0,
967 WDI_DRIVER_TYPE_MFG = 1,
968 WDI_DRIVER_TYPE_DVT = 2
969} WDI_DriverType;
970
971/*---------------------------------------------------------------------------
972 WDI_StartReqParamsType
973---------------------------------------------------------------------------*/
974typedef struct
975{
976 /*This is a TLV formatted buffer containing all config values that can
977 be set through the DAL Interface
978
979 The TLV is expected to be formatted like this:
980
981 0 7 15 31 ....
982 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
983
984 Or from a C construct point of VU it would look like this:
985
986 typedef struct WPT_PACK_POST
987 {
988 #ifdef WPT_BIG_ENDIAN
989 wpt_uint32 ucCfgId:8;
990 wpt_uint32 ucCfgLen:8;
991 wpt_uint32 usReserved:16;
992 #else
993 wpt_uint32 usReserved:16;
994 wpt_uint32 ucCfgLen:8;
995 wpt_uint32 ucCfgId:8;
996 #endif
997
998 wpt_uint8 ucCfgBody[ucCfgLen];
999 }WDI_ConfigType;
1000
1001 Multiple such tuplets are to be placed in the config buffer. One for
1002 each required configuration item:
1003
1004 | TLV 1 | TLV2 | ....
1005
1006 The buffer is expected to be a flat area of memory that can be manipulated
1007 with standard memory routines.
1008
1009 For more info please check paragraph 2.3.1 Config Structure from the
1010 HAL LLD.
1011
1012 For a list of accepted configuration list and IDs please look up
1013 wlan_qct_dal_cfg.h
1014
1015 */
1016 void* pConfigBuffer;
1017
1018 /*Length of the config buffer above*/
1019 wpt_uint16 usConfigBufferLen;
1020
1021 /*Production or FTM driver*/
1022 WDI_DriverType wdiDriverType;
1023
1024 /*Should device enable frame translation */
1025 wpt_uint8 bFrameTransEnabled;
1026
1027 /*Request status callback offered by UMAC - it is called if the current
1028 req has returned PENDING as status; it delivers the status of sending
1029 the message over the BUS */
1030 WDI_ReqStatusCb wdiReqStatusCB;
1031
1032 /*The user data passed in by UMAC, it will be sent back when the above
1033 function pointer will be called */
1034 void* pUserData;
1035
1036 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1037 wishes to send something back independent of a request*/
1038 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1039
1040 /*The user data passed in by UMAC, it will be sent back when the indication
1041 function pointer will be called */
1042 void* pIndUserData;
1043}WDI_StartReqParamsType;
1044
1045
1046/*---------------------------------------------------------------------------
1047 WDI_StartRspParamsType
1048---------------------------------------------------------------------------*/
1049typedef struct
1050{
1051 /*Status of the response*/
1052 WDI_Status wdiStatus;
1053
1054 /*Max number of STA supported by the device*/
1055 wpt_uint8 ucMaxStations;
1056
1057 /*Max number of BSS supported by the device*/
1058 wpt_uint8 ucMaxBssids;
1059
1060 /*Version of the WLAN HAL API with which we were compiled*/
1061 WDI_WlanVersionType wlanCompiledVersion;
1062
1063 /*Version of the WLAN HAL API that was reported*/
1064 WDI_WlanVersionType wlanReportedVersion;
1065
1066 /*WCNSS Software version string*/
1067 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1068
1069 /*WCNSS Hardware version string*/
1070 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1071}WDI_StartRspParamsType;
1072
1073
1074/*---------------------------------------------------------------------------
1075 WDI_StopType
1076---------------------------------------------------------------------------*/
1077typedef enum
1078{
1079 /*Device is being stopped due to a reset*/
1080 WDI_STOP_TYPE_SYS_RESET,
1081
1082 /*Device is being stopped due to entering deep sleep*/
1083 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1084
1085 /*Device is being stopped because the RF needs to shut off
1086 (e.g.:Airplane mode)*/
1087 WDI_STOP_TYPE_RF_KILL
1088}WDI_StopType;
1089
1090/*---------------------------------------------------------------------------
1091 WDI_StopReqParamsType
1092---------------------------------------------------------------------------*/
1093typedef struct
1094{
1095
1096 /*The reason for which the device is being stopped*/
1097 WDI_StopType wdiStopReason;
1098
1099 /*Request status callback offered by UMAC - it is called if the current
1100 req has returned PENDING as status; it delivers the status of sending
1101 the message over the BUS */
1102 WDI_ReqStatusCb wdiReqStatusCB;
1103
1104 /*The user data passed in by UMAC, it will be sent back when the above
1105 function pointer will be called */
1106 void* pUserData;
1107}WDI_StopReqParamsType;
1108
1109
1110/*---------------------------------------------------------------------------
1111 WDI_ScanMode
1112---------------------------------------------------------------------------*/
1113typedef enum
1114{
1115 WDI_SCAN_MODE_NORMAL = 0,
1116 WDI_SCAN_MODE_LEARN,
1117 WDI_SCAN_MODE_SCAN,
1118 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001119 WDI_SCAN_MODE_SUSPEND_LINK,
1120 WDI_SCAN_MODE_ROAM_SCAN,
1121 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1122
Jeff Johnson295189b2012-06-20 16:38:30 -07001123} WDI_ScanMode;
1124
1125/*---------------------------------------------------------------------------
1126 WDI_ScanEntry
1127---------------------------------------------------------------------------*/
1128typedef struct
1129{
1130 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1131 wpt_uint8 activeBSScnt;
1132}WDI_ScanEntry;
1133
1134/*---------------------------------------------------------------------------
1135 WDI_InitScanReqInfoType
1136---------------------------------------------------------------------------*/
1137typedef struct
1138{
1139 /*LEARN - AP Role
1140 SCAN - STA Role*/
1141 WDI_ScanMode wdiScanMode;
1142
1143 /*BSSID of the BSS*/
1144 wpt_macAddr macBSSID;
1145
1146 /*Whether BSS needs to be notified*/
1147 wpt_boolean bNotifyBSS;
1148
1149 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1150 CTS to Self). Must always be a valid frame type.*/
1151 wpt_uint8 ucFrameType;
1152
1153 /*UMAC has the option of passing the MAC frame to be used for notifying
1154 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1155 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1156 frameType.*/
1157 wpt_uint8 ucFrameLength;
1158
1159 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1160 WDI_MacMgmtHdr wdiMACMgmtHdr;
1161
1162 /*Entry to hold number of active BSS to send NULL frames before
1163 * initiating SCAN*/
1164 WDI_ScanEntry wdiScanEntry;
1165
1166 /* Flag to enable/disable Single NOA*/
1167 wpt_boolean bUseNOA;
1168
1169 /* Indicates the scan duration (in ms) */
1170 wpt_uint16 scanDuration;
1171
1172}WDI_InitScanReqInfoType;
1173
1174/*---------------------------------------------------------------------------
1175 WDI_InitScanReqParamsType
1176---------------------------------------------------------------------------*/
1177typedef struct
1178{
1179 /*The info associated with the request that needs to be sent over to the
1180 device*/
1181 WDI_InitScanReqInfoType wdiReqInfo;
1182
1183 /*Request status callback offered by UMAC - it is called if the current
1184 req has returned PENDING as status; it delivers the status of sending
1185 the message over the BUS */
1186 WDI_ReqStatusCb wdiReqStatusCB;
1187
1188 /*The user data passed in by UMAC, it will be sent back when the above
1189 function pointer will be called */
1190 void* pUserData;
1191}WDI_InitScanReqParamsType;
1192
1193/*---------------------------------------------------------------------------
1194 WDI_StartScanReqParamsType
1195---------------------------------------------------------------------------*/
1196typedef struct
1197{
1198 /*Indicates the channel to scan*/
1199 wpt_uint8 ucChannel;
1200
1201 /*Request status callback offered by UMAC - it is called if the current
1202 req has returned PENDING as status; it delivers the status of sending
1203 the message over the BUS */
1204 WDI_ReqStatusCb wdiReqStatusCB;
1205
1206 /*The user data passed in by UMAC, it will be sent back when the above
1207 function pointer will be called */
1208 void* pUserData;
1209}WDI_StartScanReqParamsType;
1210
1211/*---------------------------------------------------------------------------
1212 WDI_StartScanRspParamsType
1213---------------------------------------------------------------------------*/
1214typedef struct
1215{
1216 /*Indicates the status of the operation */
1217 WDI_Status wdiStatus;
1218
1219#if defined WLAN_FEATURE_VOWIFI
1220 wpt_uint32 aStartTSF[2];
1221 wpt_int8 ucTxMgmtPower;
1222#endif
1223}WDI_StartScanRspParamsType;
1224
1225/*---------------------------------------------------------------------------
1226 WDI_EndScanReqParamsType
1227---------------------------------------------------------------------------*/
1228typedef struct
1229{
1230 /*Indicates the channel to stop scanning. Not used really. But retained
1231 for symmetry with "start Scan" message. It can also help in error
1232 check if needed.*/
1233 wpt_uint8 ucChannel;
1234
1235 /*Request status callback offered by UMAC - it is called if the current
1236 req has returned PENDING as status; it delivers the status of sending
1237 the message over the BUS */
1238 WDI_ReqStatusCb wdiReqStatusCB;
1239
1240 /*The user data passed in by UMAC, it will be sent back when the above
1241 function pointer will be called */
1242 void* pUserData;
1243}WDI_EndScanReqParamsType;
1244
1245/*---------------------------------------------------------------------------
1246 WDI_PhyChanBondState
1247---------------------------------------------------------------------------*/
1248typedef enum
1249{
1250 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1251 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1252 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001253 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1254#ifdef WLAN_FEATURE_11AC
1255 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1256 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1257 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1258 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1259 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1260 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1261 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1262#endif
1263 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001264} WDI_PhyChanBondState;
1265
1266/*---------------------------------------------------------------------------
1267 WDI_FinishScanReqInfoType
1268---------------------------------------------------------------------------*/
1269typedef struct
1270{
1271 /*LEARN - AP Role
1272 SCAN - STA Role*/
1273 WDI_ScanMode wdiScanMode;
1274
1275 /*Operating channel to tune to.*/
1276 wpt_uint8 ucCurrentOperatingChannel;
1277
1278 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1279 40 MHz extension channel in combination with the control channel*/
1280 WDI_PhyChanBondState wdiCBState;
1281
1282 /*BSSID of the BSS*/
1283 wpt_macAddr macBSSID;
1284
1285 /*Whether BSS needs to be notified*/
1286 wpt_boolean bNotifyBSS;
1287
1288 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1289 CTS to Self). Must always be a valid frame type.*/
1290 wpt_uint8 ucFrameType;
1291
1292 /*UMAC has the option of passing the MAC frame to be used for notifying
1293 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1294 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1295 frameType.*/
1296 wpt_uint8 ucFrameLength;
1297
1298 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1299 WDI_MacMgmtHdr wdiMACMgmtHdr;
1300
1301 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1302 WDI_ScanEntry wdiScanEntry;
1303
1304}WDI_FinishScanReqInfoType;
1305
1306/*---------------------------------------------------------------------------
1307 WDI_SwitchChReqInfoType
1308---------------------------------------------------------------------------*/
1309typedef struct
1310{
1311 /*Indicates the channel to switch to.*/
1312 wpt_uint8 ucChannel;
1313
1314 /*Local power constraint*/
1315 wpt_uint8 ucLocalPowerConstraint;
1316
1317 /*Secondary channel offset */
1318 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1319
1320#ifdef WLAN_FEATURE_VOWIFI
1321 wpt_int8 cMaxTxPower;
1322
1323 /*Self STA Mac address*/
1324 wpt_macAddr macSelfStaMacAddr;
1325#endif
1326 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1327 request has power constraints, this should be applied only to that session */
1328 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1329 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1330 */
1331 wpt_macAddr macBSSId;
1332
1333}WDI_SwitchChReqInfoType;
1334
1335/*---------------------------------------------------------------------------
1336 WDI_SwitchChReqParamsType
1337---------------------------------------------------------------------------*/
1338typedef struct
1339{
1340 /*Channel Info*/
1341 WDI_SwitchChReqInfoType wdiChInfo;
1342
1343 /*Request status callback offered by UMAC - it is called if the current
1344 req has returned PENDING as status; it delivers the status of sending
1345 the message over the BUS */
1346 WDI_ReqStatusCb wdiReqStatusCB;
1347
1348 /*The user data passed in by UMAC, it will be sent back when the above
1349 function pointer will be called */
1350 void* pUserData;
1351}WDI_SwitchChReqParamsType;
1352
1353/*---------------------------------------------------------------------------
1354 WDI_FinishScanReqParamsType
1355---------------------------------------------------------------------------*/
1356typedef struct
1357{
1358 /*Info for the Finish Scan request that will be sent down to the device*/
1359 WDI_FinishScanReqInfoType wdiReqInfo;
1360
1361 /*Request status callback offered by UMAC - it is called if the current
1362 req has returned PENDING as status; it delivers the status of sending
1363 the message over the BUS */
1364 WDI_ReqStatusCb wdiReqStatusCB;
1365
1366 /*The user data passed in by UMAC, it will be sent back when the above
1367 function pointer will be called */
1368 void* pUserData;
1369}WDI_FinishScanReqParamsType;
1370
1371/*---------------------------------------------------------------------------
1372 WDI_JoinReqInfoType
1373---------------------------------------------------------------------------*/
1374typedef struct
1375{
1376 /*Indicates the BSSID to which STA is going to associate*/
1377 wpt_macAddr macBSSID;
1378
1379 /*Indicates the MAC Address of the current Self STA*/
1380 wpt_macAddr macSTASelf;
1381
1382 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1383 wpt_uint32 linkState;
1384
1385 /*Indicates the channel to switch to.*/
1386 WDI_SwitchChReqInfoType wdiChannelInfo;
1387
1388}WDI_JoinReqInfoType;
1389
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001390typedef enum
1391{
1392 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1393 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1394 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1395 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1396 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1397} WDI_ChanSwitchSource;
1398
1399/*---------------------------------------------------------------------------
1400 WDI_SwitchChReqInfoType_V1
1401---------------------------------------------------------------------------*/
1402typedef struct
1403{
1404 /*Indicates the channel to switch to.*/
1405 wpt_uint8 ucChannel;
1406
1407 /*Local power constraint*/
1408 wpt_uint8 ucLocalPowerConstraint;
1409
1410 /*Secondary channel offset */
1411 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1412
1413#ifdef WLAN_FEATURE_VOWIFI
1414 wpt_int8 cMaxTxPower;
1415 /*Self STA Mac address*/
1416 wpt_macAddr macSelfStaMacAddr;
1417#endif
1418 /* VO Wifi comment: BSSID is needed to identify which session
1419 issued this request. As the request has power constraints, this
1420 should be applied only to that session
1421 */
1422 /* V IMP: Keep bssId field at the end of this msg. It is used to
1423 maintain backward compatibility by way of ignoring if using new
1424 host/old FW or old host/new FW since it is at the end of this struct
1425 */
1426 wpt_macAddr macBSSId;
1427 /* Source of Channel Switch */
1428 WDI_ChanSwitchSource channelSwitchSrc;
1429}WDI_SwitchChReqInfoType_V1;
1430
1431/*--------------------------------------------------------------------
1432 WDI_SwitchChReqParamsType_V1
1433----------------------------------------------------------------------*/
1434typedef struct
1435{
1436 /*Channel Info*/
1437 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1438
1439 /*Request status callback offered by UMAC - it is called if the current
1440 req has returned PENDING as status; it delivers the status of sending
1441 the message over the BUS */
1442 WDI_ReqStatusCb wdiReqStatusCB;
1443
1444 /*The user data passed in by UMAC, it will be sent back when the above
1445 function pointer will be called */
1446 void* pUserData;
1447}WDI_SwitchChReqParamsType_V1;
1448
Jeff Johnson295189b2012-06-20 16:38:30 -07001449/*---------------------------------------------------------------------------
1450 WDI_JoinReqParamsType
1451---------------------------------------------------------------------------*/
1452typedef struct
1453{
1454 /*Info for the Join request that will be sent down to the device*/
1455 WDI_JoinReqInfoType wdiReqInfo;
1456
1457 /*Request status callback offered by UMAC - it is called if the current
1458 req has returned PENDING as status; it delivers the status of sending
1459 the message over the BUS */
1460 WDI_ReqStatusCb wdiReqStatusCB;
1461
1462 /*The user data passed in by UMAC, it will be sent back when the above
1463 function pointer will be called */
1464 void* pUserData;
1465}WDI_JoinReqParamsType;
1466
1467/*---------------------------------------------------------------------------
1468 WDI_BssType
1469---------------------------------------------------------------------------*/
1470typedef enum
1471{
1472 WDI_INFRASTRUCTURE_MODE,
1473 WDI_INFRA_AP_MODE, //Added for softAP support
1474 WDI_IBSS_MODE,
1475 WDI_BTAMP_STA_MODE,
1476 WDI_BTAMP_AP_MODE,
1477 WDI_BSS_AUTO_MODE,
1478}WDI_BssType;
1479
1480/*---------------------------------------------------------------------------
1481 WDI_NwType
1482---------------------------------------------------------------------------*/
1483typedef enum
1484{
1485 WDI_11A_NW_TYPE,
1486 WDI_11B_NW_TYPE,
1487 WDI_11G_NW_TYPE,
1488 WDI_11N_NW_TYPE,
1489} WDI_NwType;
1490
1491/*---------------------------------------------------------------------------
1492 WDI_ConfigAction
1493---------------------------------------------------------------------------*/
1494typedef enum
1495{
1496 WDI_ADD_BSS,
1497 WDI_UPDATE_BSS
1498} WDI_ConfigAction;
1499
1500/*---------------------------------------------------------------------------
1501 WDI_HTOperatingMode
1502---------------------------------------------------------------------------*/
1503typedef enum
1504{
1505 WDI_HT_OP_MODE_PURE,
1506 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1507 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1508 WDI_HT_OP_MODE_MIXED
1509
1510} WDI_HTOperatingMode;
1511
1512
1513/*---------------------------------------------------------------------------
1514 WDI_STAEntryType
1515---------------------------------------------------------------------------*/
1516typedef enum
1517{
1518 WDI_STA_ENTRY_SELF,
1519 WDI_STA_ENTRY_PEER,
1520 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001521 WDI_STA_ENTRY_BCAST,
1522#ifdef FEATURE_WLAN_TDLS
1523 WDI_STA_ENTRY_TDLS_PEER,
1524#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001525}WDI_STAEntryType;
1526
1527/*---------------------------------------------------------------------------
1528 WDI_ConfigActionType
1529---------------------------------------------------------------------------*/
1530typedef enum
1531{
1532 WDI_ADD_STA,
1533 WDI_UPDATE_STA
1534} WDI_ConfigActionType;
1535
1536/*----------------------------------------------------------------------------
1537 Each station added has a rate mode which specifies the sta attributes
1538 ----------------------------------------------------------------------------*/
1539typedef enum
1540{
1541 WDI_RESERVED_1 = 0,
1542 WDI_RESERVED_2,
1543 WDI_RESERVED_3,
1544 WDI_11b,
1545 WDI_11bg,
1546 WDI_11a,
1547 WDI_11n,
1548} WDI_RateModeType;
1549
1550/*---------------------------------------------------------------------------
1551 WDI_SupportedRatesType
1552---------------------------------------------------------------------------*/
1553typedef struct
1554{
1555 /*
1556 * For Self STA Entry: this represents Self Mode.
1557 * For Peer Stations, this represents the mode of the peer.
1558 * On Station:
1559 * --this mode is updated when PE adds the Self Entry.
1560 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1561 * ON AP:
1562 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1563 * to indicate the self mode of the AP.
1564 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1565 */
1566
1567 WDI_RateModeType opRateMode;
1568
1569 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1570 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1571 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1572 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1573
1574 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1575 First 26 bits are reserved for those Titan rates and
1576 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1577 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1578
1579 /*
1580 * 0-76 bits used, remaining reserved
1581 * bits 0-15 and 32 should be set.
1582 */
1583 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1584
1585 /*
1586 * RX Highest Supported Data Rate defines the highest data
1587 * rate that the STA is able to receive, in unites of 1Mbps.
1588 * This value is derived from "Supported MCS Set field" inside
1589 * the HT capability element.
1590 */
1591 wpt_uint16 aRxHighestDataRate;
1592
Jeff Johnsone7245742012-09-05 17:12:55 -07001593
1594#ifdef WLAN_FEATURE_11AC
1595 /*Indicates the Maximum MCS that can be received for each number
1596 of spacial streams */
1597 wpt_uint16 vhtRxMCSMap;
1598 /*Indicate the highest VHT data rate that the STA is able to receive*/
1599 wpt_uint16 vhtRxHighestDataRate;
1600 /*Indicates the Maximum MCS that can be transmitted for each number
1601 of spacial streams */
1602 wpt_uint16 vhtTxMCSMap;
1603 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1604 wpt_uint16 vhtTxHighestDataRate;
1605#endif
1606
Jeff Johnson295189b2012-06-20 16:38:30 -07001607} WDI_SupportedRates;
1608
1609/*--------------------------------------------------------------------------
1610 WDI_HTMIMOPowerSaveState
1611 Spatial Multiplexing(SM) Power Save mode
1612 --------------------------------------------------------------------------*/
1613typedef enum
1614{
1615 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1616 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1617 WDI_HT_MIMO_PS_NA = 2, // reserved
1618 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1619} WDI_HTMIMOPowerSaveState;
1620
1621/*---------------------------------------------------------------------------
1622 WDI_ConfigStaReqInfoType
1623---------------------------------------------------------------------------*/
1624typedef struct
1625{
1626 /*BSSID of STA*/
1627 wpt_macAddr macBSSID;
1628
1629 /*ASSOC ID, as assigned by UMAC*/
1630 wpt_uint16 usAssocId;
1631
1632 /*Used for configuration of different HW modules.*/
1633 WDI_STAEntryType wdiSTAType;
1634
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001635 /*STA Index */
1636 wpt_uint8 staIdx;
1637
Jeff Johnson295189b2012-06-20 16:38:30 -07001638 /*Short Preamble Supported.*/
1639 wpt_uint8 ucShortPreambleSupported;
1640
1641 /*MAC Address of STA*/
1642 wpt_macAddr macSTA;
1643
1644 /*Listen interval of the STA*/
1645 wpt_uint16 usListenInterval;
1646
1647 /*Support for 11e/WMM*/
1648 wpt_uint8 ucWMMEnabled;
1649
1650 /*11n HT capable STA*/
1651 wpt_uint8 ucHTCapable;
1652
1653 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1654 wpt_uint8 ucTXChannelWidthSet;
1655
1656 /*RIFS mode 0 - NA, 1 - Allowed*/
1657 wpt_uint8 ucRIFSMode;
1658
1659 /*L-SIG TXOP Protection mechanism
1660 0 - No Support, 1 - Supported
1661 SG - there is global field*/
1662 wpt_uint8 ucLSIGTxopProtection;
1663
1664 /*Max Ampdu Size supported by STA. Device programming.
1665 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1666 wpt_uint8 ucMaxAmpduSize;
1667
1668 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1669 wpt_uint8 ucMaxAmpduDensity;
1670
1671 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1672 wpt_uint8 ucMaxAmsduSize;
1673
1674 /*Short GI support for 40Mhz packets*/
1675 wpt_uint8 ucShortGI40Mhz;
1676
1677 /*Short GI support for 20Mhz packets*/
1678 wpt_uint8 ucShortGI20Mhz;
1679
1680 /*These rates are the intersection of peer and self capabilities.*/
1681 WDI_SupportedRates wdiSupportedRates;
1682
1683 /*Robust Management Frame (RMF) enabled/disabled*/
1684 wpt_uint8 ucRMFEnabled;
1685
1686 /* The unicast encryption type in the association */
1687 wpt_uint32 ucEncryptType;
1688
1689 /*HAL should update the existing STA entry, if this flag is set. UMAC
1690 will set this flag in case of RE-ASSOC, where we want to reuse the old
1691 STA ID.*/
1692 WDI_ConfigActionType wdiAction;
1693
1694 /*U-APSD Flags: 1b per AC. Encoded as follows:
1695 b7 b6 b5 b4 b3 b2 b1 b0 =
1696 X X X X BE BK VI VO
1697 */
1698 wpt_uint8 ucAPSD;
1699
1700 /*Max SP Length*/
1701 wpt_uint8 ucMaxSPLen;
1702
1703 /*11n Green Field preamble support*/
1704 wpt_uint8 ucGreenFieldCapable;
1705
1706 /*MIMO Power Save mode*/
1707 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1708
1709 /*Delayed BA Support*/
1710 wpt_uint8 ucDelayedBASupport;
1711
1712 /*Max AMPDU duration in 32us*/
1713 wpt_uint8 us32MaxAmpduDuratio;
1714
1715 /*HT STA should set it to 1 if it is enabled in BSS
1716 HT STA should set it to 0 if AP does not support it. This indication is
1717 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1718 */
1719 wpt_uint8 ucDsssCckMode40Mhz;
1720
1721 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001722#ifdef WLAN_FEATURE_11AC
1723 wpt_uint8 ucVhtCapableSta;
1724 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001725 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301726 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001727#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001728
1729 wpt_uint8 ucHtLdpcEnabled;
1730 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001731}WDI_ConfigStaReqInfoType;
1732
1733
1734/*---------------------------------------------------------------------------
1735 WDI_RateSet
1736
1737 12 Bytes long because this structure can be used to represent rate
1738 and extended rate set IEs
1739 The parser assume this to be at least 12
1740---------------------------------------------------------------------------*/
1741#define WDI_RATESET_EID_MAX 12
1742
1743typedef struct
1744{
1745 wpt_uint8 ucNumRates;
1746 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1747} WDI_RateSet;
1748
1749/*---------------------------------------------------------------------------
1750 WDI_AciAifsnType
1751 access category record
1752---------------------------------------------------------------------------*/
1753typedef struct
1754{
1755 wpt_uint8 rsvd : 1;
1756 wpt_uint8 aci : 2;
1757 wpt_uint8 acm : 1;
1758 wpt_uint8 aifsn : 4;
1759} WDI_AciAifsnType;
1760
1761/*---------------------------------------------------------------------------
1762 WDI_CWType
1763 contention window size
1764---------------------------------------------------------------------------*/
1765typedef struct
1766{
1767 wpt_uint8 max : 4;
1768 wpt_uint8 min : 4;
1769} WDI_CWType;
1770
1771/*---------------------------------------------------------------------------
1772 WDI_EdcaParamRecord
1773---------------------------------------------------------------------------*/
1774typedef struct
1775{
1776 /*Access Category Record*/
1777 WDI_AciAifsnType wdiACI;
1778
1779 /*Contention WIndow Size*/
1780 WDI_CWType wdiCW;
1781
1782 /*TX Oportunity Limit*/
1783 wpt_uint16 usTXOPLimit;
1784} WDI_EdcaParamRecord;
1785
1786/*---------------------------------------------------------------------------
1787 WDI_EDCAParamsType
1788---------------------------------------------------------------------------*/
1789typedef struct
1790{
1791 /*BSS Index*/
1792 wpt_uint8 ucBSSIdx;
1793
1794 /*?*/
1795 wpt_boolean bHighPerformance;
1796
1797 /*Best Effort*/
1798 WDI_EdcaParamRecord wdiACBE;
1799
1800 /*Background*/
1801 WDI_EdcaParamRecord wdiACBK;
1802
1803 /*Video*/
1804 WDI_EdcaParamRecord wdiACVI;
1805
1806 /*Voice*/
1807 WDI_EdcaParamRecord acvo; // voice
1808} WDI_EDCAParamsType;
1809
1810/* operMode in ADD BSS message */
1811#define WDI_BSS_OPERATIONAL_MODE_AP 0
1812#define WDI_BSS_OPERATIONAL_MODE_STA 1
1813
1814/*---------------------------------------------------------------------------
1815 WDI_ConfigBSSRspParamsType
1816---------------------------------------------------------------------------*/
1817typedef struct
1818{
1819 /*Status of the response*/
1820 WDI_Status wdiStatus;
1821
1822 /*BSSID of the BSS*/
1823 wpt_macAddr macBSSID;
1824
1825 /*BSS Index*/
1826 wpt_uint8 ucBSSIdx;
1827
1828 /*Unicast DPU signature*/
1829 wpt_uint8 ucUcastSig;
1830
1831 /*Broadcast DPU Signature*/
1832 wpt_uint8 ucBcastSig;
1833
1834 /*MAC Address of STA*/
1835 wpt_macAddr macSTA;
1836
1837 /*BSS STA ID*/
1838 wpt_uint8 ucSTAIdx;
1839
1840#ifdef WLAN_FEATURE_VOWIFI
1841 /*HAL fills in the tx power used for mgmt frames in this field */
1842 wpt_int8 ucTxMgmtPower;
1843#endif
1844
1845}WDI_ConfigBSSRspParamsType;
1846
1847/*---------------------------------------------------------------------------
1848 WDI_DelBSSReqParamsType
1849---------------------------------------------------------------------------*/
1850typedef struct
1851{
1852 /*BSS Index of the BSS*/
1853 wpt_uint8 ucBssIdx;
1854
1855 /*Request status callback offered by UMAC - it is called if the current
1856 req has returned PENDING as status; it delivers the status of sending
1857 the message over the BUS */
1858 WDI_ReqStatusCb wdiReqStatusCB;
1859
1860 /*The user data passed in by UMAC, it will be sent back when the above
1861 function pointer will be called */
1862 void* pUserData;
1863}WDI_DelBSSReqParamsType;
1864
1865/*---------------------------------------------------------------------------
1866 WDI_DelBSSRspParamsType
1867---------------------------------------------------------------------------*/
1868typedef struct
1869{
1870 /*Status of the response*/
1871 WDI_Status wdiStatus;
1872
1873 /*BSSID of the BSS*/
1874 wpt_macAddr macBSSID;
1875
1876 wpt_uint8 ucBssIdx;
1877
1878}WDI_DelBSSRspParamsType;
1879
1880/*---------------------------------------------------------------------------
1881 WDI_ConfigSTARspParamsType
1882---------------------------------------------------------------------------*/
1883typedef struct
1884{
1885 /*Status of the response*/
1886 WDI_Status wdiStatus;
1887
1888 /*STA Idx allocated by HAL*/
1889 wpt_uint8 ucSTAIdx;
1890
1891 /*MAC Address of STA*/
1892 wpt_macAddr macSTA;
1893
1894 /* BSSID Index of BSS to which the station is associated */
1895 wpt_uint8 ucBssIdx;
1896
1897 /* DPU Index - PTK */
1898 wpt_uint8 ucDpuIndex;
1899
1900 /* Bcast DPU Index - GTK */
1901 wpt_uint8 ucBcastDpuIndex;
1902
1903 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1904 wpt_uint8 ucBcastMgmtDpuIdx;
1905
1906 /*Unicast DPU signature*/
1907 wpt_uint8 ucUcastSig;
1908
1909 /*Broadcast DPU Signature*/
1910 wpt_uint8 ucBcastSig;
1911
1912 /* IGTK DPU signature*/
1913 wpt_uint8 ucMgmtSig;
1914
1915}WDI_ConfigSTARspParamsType;
1916
1917/*---------------------------------------------------------------------------
1918 WDI_PostAssocRspParamsType
1919---------------------------------------------------------------------------*/
1920typedef struct
1921{
1922 /*Status of the response*/
1923 WDI_Status wdiStatus;
1924
1925 /*Parameters related to the BSS*/
1926 WDI_ConfigBSSRspParamsType bssParams;
1927
1928 /*Parameters related to the self STA*/
1929 WDI_ConfigSTARspParamsType staParams;
1930
1931}WDI_PostAssocRspParamsType;
1932
1933/*---------------------------------------------------------------------------
1934 WDI_DelSTAReqParamsType
1935---------------------------------------------------------------------------*/
1936typedef struct
1937{
1938 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1939 wpt_uint8 ucSTAIdx;
1940
1941 /*Request status callback offered by UMAC - it is called if the current
1942 req has returned PENDING as status; it delivers the status of sending
1943 the message over the BUS */
1944 WDI_ReqStatusCb wdiReqStatusCB;
1945
1946 /*The user data passed in by UMAC, it will be sent back when the above
1947 function pointer will be called */
1948 void* pUserData;
1949}WDI_DelSTAReqParamsType;
1950
1951/*---------------------------------------------------------------------------
1952 WDI_DelSTARspParamsType
1953---------------------------------------------------------------------------*/
1954typedef struct
1955{
1956 /*Status of the response*/
1957 WDI_Status wdiStatus;
1958
1959 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1960 wpt_uint8 ucSTAIdx;
1961}WDI_DelSTARspParamsType;
1962
1963/*---------------------------------------------------------------------------
1964 WDI_EncryptType
1965---------------------------------------------------------------------------*/
1966typedef enum
1967{
1968 WDI_ENCR_NONE,
1969 WDI_ENCR_WEP40,
1970 WDI_ENCR_WEP104,
1971 WDI_ENCR_TKIP,
1972 WDI_ENCR_CCMP,
1973#if defined(FEATURE_WLAN_WAPI)
1974 WDI_ENCR_WPI,
1975#endif
1976 WDI_ENCR_AES_128_CMAC
1977} WDI_EncryptType;
1978
1979/*---------------------------------------------------------------------------
1980 WDI_KeyDirectionType
1981---------------------------------------------------------------------------*/
1982typedef enum
1983{
1984 WDI_TX_ONLY,
1985 WDI_RX_ONLY,
1986 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001988 WDI_DONOT_USE_KEY_DIRECTION
1989} WDI_KeyDirectionType;
1990
1991#define WDI_MAX_ENCR_KEYS 4
1992#define WDI_MAX_KEY_LENGTH 32
1993#if defined(FEATURE_WLAN_WAPI)
1994#define WDI_MAX_KEY_RSC_LEN 16
1995#define WDI_WAPI_KEY_RSC_LEN 16
1996#else
1997#define WDI_MAX_KEY_RSC_LEN 8
1998#endif
1999
2000typedef struct
2001{
2002 /* Key ID */
2003 wpt_uint8 keyId;
2004 /* 0 for multicast */
2005 wpt_uint8 unicast;
2006 /* Key Direction */
2007 WDI_KeyDirectionType keyDirection;
2008 /* Usage is unknown */
2009 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2010 /* =1 for authenticator, =0 for supplicant */
2011 wpt_uint8 paeRole;
2012 wpt_uint16 keyLength;
2013 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2014
2015}WDI_KeysType;
2016
2017/*---------------------------------------------------------------------------
2018 WDI_SetBSSKeyReqInfoType
2019---------------------------------------------------------------------------*/
2020typedef struct
2021{
2022 /*BSS Index of the BSS*/
2023 wpt_uint8 ucBssIdx;
2024
2025 /*Encryption Type used with peer*/
2026 WDI_EncryptType wdiEncType;
2027
2028 /*Number of keys*/
2029 wpt_uint8 ucNumKeys;
2030
2031 /*Array of keys.*/
2032 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2033
2034 /*Control for Replay Count, 1= Single TID based replay count on Tx
2035 0 = Per TID based replay count on TX */
2036 wpt_uint8 ucSingleTidRc;
2037}WDI_SetBSSKeyReqInfoType;
2038
2039/*---------------------------------------------------------------------------
2040 WDI_SetBSSKeyReqParamsType
2041---------------------------------------------------------------------------*/
2042typedef struct
2043{
2044 /*Key Info */
2045 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2046
2047 /*Request status callback offered by UMAC - it is called if the current
2048 req has returned PENDING as status; it delivers the status of sending
2049 the message over the BUS */
2050 WDI_ReqStatusCb wdiReqStatusCB;
2051
2052 /*The user data passed in by UMAC, it will be sent back when the above
2053 function pointer will be called */
2054 void* pUserData;
2055}WDI_SetBSSKeyReqParamsType;
2056
2057/*---------------------------------------------------------------------------
2058 WDI_WepType
2059---------------------------------------------------------------------------*/
2060typedef enum
2061{
2062 WDI_WEP_STATIC,
2063 WDI_WEP_DYNAMIC
2064
2065} WDI_WepType;
2066
2067/*---------------------------------------------------------------------------
2068 WDI_RemoveBSSKeyReqInfoType
2069---------------------------------------------------------------------------*/
2070typedef struct
2071{
2072 /*BSS Index of the BSS*/
2073 wpt_uint8 ucBssIdx;
2074
2075 /*Encryption Type used with peer*/
2076 WDI_EncryptType wdiEncType;
2077
2078 /*Key Id*/
2079 wpt_uint8 ucKeyId;
2080
2081 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2082 keys*/
2083 WDI_WepType wdiWEPType;
2084}WDI_RemoveBSSKeyReqInfoType;
2085
2086/*---------------------------------------------------------------------------
2087 WDI_RemoveBSSKeyReqParamsType
2088---------------------------------------------------------------------------*/
2089typedef struct
2090{
2091 /*Key Info */
2092 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2093
2094 /*Request status callback offered by UMAC - it is called if the current
2095 req has returned PENDING as status; it delivers the status of sending
2096 the message over the BUS */
2097 WDI_ReqStatusCb wdiReqStatusCB;
2098
2099 /*The user data passed in by UMAC, it will be sent back when the above
2100 function pointer will be called */
2101 void* pUserData;
2102}WDI_RemoveBSSKeyReqParamsType;
2103
2104/*---------------------------------------------------------------------------
2105 WDI_SetSTAKeyReqInfoType
2106---------------------------------------------------------------------------*/
2107typedef struct
2108{
2109 /*STA Index*/
2110 wpt_uint8 ucSTAIdx;
2111
2112 /*Encryption Type used with peer*/
2113 WDI_EncryptType wdiEncType;
2114
2115 /*STATIC/DYNAMIC*/
2116 WDI_WepType wdiWEPType;
2117
2118 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2119 wpt_uint8 ucDefWEPIdx;
2120
2121 /*Number of keys*/
2122 wpt_uint8 ucNumKeys;
2123
2124 /*Array of keys.*/
2125 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2126
2127 /*Control for Replay Count, 1= Single TID based replay count on Tx
2128 0 = Per TID based replay count on TX */
2129 wpt_uint8 ucSingleTidRc;
2130}WDI_SetSTAKeyReqInfoType;
2131
2132/*---------------------------------------------------------------------------
2133 WDI_ConfigBSSReqInfoType
2134---------------------------------------------------------------------------*/
2135typedef struct
2136{
2137 /*Peer BSSID*/
2138 wpt_macAddr macBSSID;
2139
2140 /*Self MAC Address*/
2141 wpt_macAddr macSelfAddr;
2142
2143 /*BSS Type*/
2144 WDI_BssType wdiBSSType;
2145
2146 /*Operational Mode: AP =0, STA = 1*/
2147 wpt_uint8 ucOperMode;
2148
2149 /*Network Type*/
2150 WDI_NwType wdiNWType;
2151
2152 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2153 wpt_uint8 ucShortSlotTimeSupported;
2154
2155 /*Co-exist with 11a STA*/
2156 wpt_uint8 ucllaCoexist;
2157
2158 /*Co-exist with 11b STA*/
2159 wpt_uint8 ucllbCoexist;
2160
2161 /*Co-exist with 11g STA*/
2162 wpt_uint8 ucllgCoexist;
2163
2164 /*Coexistence with 11n STA*/
2165 wpt_uint8 ucHT20Coexist;
2166
2167 /*Non GF coexist flag*/
2168 wpt_uint8 ucllnNonGFCoexist;
2169
2170 /*TXOP protection support*/
2171 wpt_uint8 ucTXOPProtectionFullSupport;
2172
2173 /*RIFS mode*/
2174 wpt_uint8 ucRIFSMode;
2175
2176 /*Beacon Interval in TU*/
2177 wpt_uint16 usBeaconInterval;
2178
2179 /*DTIM period*/
2180 wpt_uint8 ucDTIMPeriod;
2181
2182 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2183 wpt_uint8 ucTXChannelWidthSet;
2184
2185 /*Operating channel*/
2186 wpt_uint8 ucCurrentOperChannel;
2187
2188 /*Extension channel for channel bonding*/
2189 wpt_uint8 ucCurrentExtChannel;
2190
2191 /*Context of the station being added in HW.*/
2192 WDI_ConfigStaReqInfoType wdiSTAContext;
2193
2194 /*SSID of the BSS*/
2195 WDI_MacSSid wdiSSID;
2196
2197 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2198 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2199 WDI_ConfigAction wdiAction;
2200
2201 /*Basic Rate Set*/
2202 WDI_RateSet wdiRateSet;
2203
2204 /*Enable/Disable HT capabilities of the BSS*/
2205 wpt_uint8 ucHTCapable;
2206
2207 /* Enable/Disable OBSS protection */
2208 wpt_uint8 ucObssProtEnabled;
2209
2210 /*RMF enabled/disabled*/
2211 wpt_uint8 ucRMFEnabled;
2212
2213 /*Determines the current HT Operating Mode operating mode of the
2214 802.11n STA*/
2215 WDI_HTOperatingMode wdiHTOperMod;
2216
2217 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2218 wpt_uint8 ucDualCTSProtection;
2219
2220 /* Probe Response Max retries */
2221 wpt_uint8 ucMaxProbeRespRetryLimit;
2222
2223 /* To Enable Hidden ssid */
2224 wpt_uint8 bHiddenSSIDEn;
2225
2226 /* To Enable Disable FW Proxy Probe Resp */
2227 wpt_uint8 bProxyProbeRespEn;
2228
2229 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2230 EDCA params or might not desire to apply EDCA params during config BSS.
2231 0 implies Not Valid ; Non-Zero implies valid*/
2232 wpt_uint8 ucEDCAParamsValid;
2233
2234 /*EDCA Parameters for BK*/
2235 WDI_EdcaParamRecord wdiBKEDCAParams;
2236
2237 /*EDCA Parameters for BE*/
2238 WDI_EdcaParamRecord wdiBEEDCAParams;
2239
2240 /*EDCA Parameters for VI*/
2241 WDI_EdcaParamRecord wdiVIEDCAParams;
2242
2243 /*EDCA Parameters for VO*/
2244 WDI_EdcaParamRecord wdiVOEDCAParams;
2245
2246#ifdef WLAN_FEATURE_VOWIFI
2247 /*max power to be used after applying the power constraint, if any */
2248 wpt_int8 cMaxTxPower;
2249#endif
2250
2251 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2252 wpt_uint8 ucPersona;
2253
2254 /* Spectrum Mangement Indicator */
2255 wpt_uint8 bSpectrumMgtEn;
2256
2257#ifdef WLAN_FEATURE_VOWIFI_11R
2258 wpt_uint8 bExtSetStaKeyParamValid;
2259 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2260#endif
2261
Jeff Johnsone7245742012-09-05 17:12:55 -07002262#ifdef WLAN_FEATURE_11AC
2263 wpt_uint8 ucVhtCapableSta;
2264 wpt_uint8 ucVhtTxChannelWidthSet;
2265#endif
2266
Jeff Johnson295189b2012-06-20 16:38:30 -07002267}WDI_ConfigBSSReqInfoType;
2268
2269/*---------------------------------------------------------------------------
2270 WDI_PostAssocReqParamsType
2271---------------------------------------------------------------------------*/
2272typedef struct
2273{
2274 /*Config STA arguments.*/
2275 WDI_ConfigStaReqInfoType wdiSTAParams;
2276
2277 /*Config BSS Arguments*/
2278 WDI_ConfigBSSReqInfoType wdiBSSParams;
2279
2280 /*Request status callback offered by UMAC - it is called if the current
2281 req has returned PENDING as status; it delivers the status of sending
2282 the message over the BUS */
2283 WDI_ReqStatusCb wdiReqStatusCB;
2284
2285 /*The user data passed in by UMAC, it will be sent back when the above
2286 function pointer will be called */
2287 void* pUserData;
2288}WDI_PostAssocReqParamsType;
2289
2290/*---------------------------------------------------------------------------
2291 WDI_ConfigBSSReqParamsType
2292---------------------------------------------------------------------------*/
2293typedef struct
2294{
2295 /*Info for the Join request that will be sent down to the device*/
2296 WDI_ConfigBSSReqInfoType wdiReqInfo;
2297
2298 /*Request status callback offered by UMAC - it is called if the current
2299 req has returned PENDING as status; it delivers the status of sending
2300 the message over the BUS */
2301 WDI_ReqStatusCb wdiReqStatusCB;
2302
2303 /*The user data passed in by UMAC, it will be sent back when the above
2304 function pointer will be called */
2305 void* pUserData;
2306}WDI_ConfigBSSReqParamsType;
2307
2308/*---------------------------------------------------------------------------
2309 WDI_SetSTAKeyReqParamsType
2310---------------------------------------------------------------------------*/
2311typedef struct
2312{
2313 /*Key Info*/
2314 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2315
2316 /*Request status callback offered by UMAC - it is called if the current
2317 req has returned PENDING as status; it delivers the status of sending
2318 the message over the BUS */
2319 WDI_ReqStatusCb wdiReqStatusCB;
2320
2321 /*The user data passed in by UMAC, it will be sent back when the above
2322 function pointer will be called */
2323 void* pUserData;
2324}WDI_SetSTAKeyReqParamsType;
2325
2326/*---------------------------------------------------------------------------
2327 WDI_RemoveSTAKeyReqInfoType
2328---------------------------------------------------------------------------*/
2329typedef struct
2330{
2331 /*STA Index*/
2332 wpt_uint8 ucSTAIdx;
2333
2334 /*Encryption Type used with peer*/
2335 WDI_EncryptType wdiEncType;
2336
2337 /*Key Id*/
2338 wpt_uint8 ucKeyId;
2339
2340 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2341 the same key is used for both broadcast and unicast.*/
2342 wpt_uint8 ucUnicast;
2343}WDI_RemoveSTAKeyReqInfoType;
2344
2345/*---------------------------------------------------------------------------
2346 WDI_RemoveSTAKeyReqParamsType
2347---------------------------------------------------------------------------*/
2348typedef struct
2349{
2350 /*Key Info */
2351 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2352
2353 /*Request status callback offered by UMAC - it is called if the current
2354 req has returned PENDING as status; it delivers the status of sending
2355 the message over the BUS */
2356 WDI_ReqStatusCb wdiReqStatusCB;
2357
2358 /*The user data passed in by UMAC, it will be sent back when the above
2359 function pointer will be called */
2360 void* pUserData;
2361}WDI_RemoveSTAKeyReqParamsType;
2362
2363/*---------------------------------------------------------------------------
2364 QOS Parameters
2365---------------------------------------------------------------------------*/
2366
2367/*---------------------------------------------------------------------------
2368 WDI_TSInfoTfc
2369---------------------------------------------------------------------------*/
2370typedef struct
2371{
2372 wpt_uint16 ackPolicy:2;
2373 wpt_uint16 userPrio:3;
2374 wpt_uint16 psb:1;
2375 wpt_uint16 aggregation : 1;
2376 wpt_uint16 accessPolicy : 2;
2377 wpt_uint16 direction : 2;
2378 wpt_uint16 tsid : 4;
2379 wpt_uint16 trafficType : 1;
2380} WDI_TSInfoTfc;
2381
2382/*---------------------------------------------------------------------------
2383 WDI_TSInfoSch
2384---------------------------------------------------------------------------*/
2385typedef struct
2386{
2387 wpt_uint8 rsvd : 7;
2388 wpt_uint8 schedule : 1;
2389} WDI_TSInfoSch;
2390
2391/*---------------------------------------------------------------------------
2392 WDI_TSInfoType
2393---------------------------------------------------------------------------*/
2394typedef struct
2395{
2396 WDI_TSInfoTfc wdiTraffic;
2397 WDI_TSInfoSch wdiSchedule;
2398} WDI_TSInfoType;
2399
2400/*---------------------------------------------------------------------------
2401 WDI_TspecIEType
2402---------------------------------------------------------------------------*/
2403typedef struct
2404{
2405 wpt_uint8 ucType;
2406 wpt_uint8 ucLength;
2407 WDI_TSInfoType wdiTSinfo;
2408 wpt_uint16 usNomMsduSz;
2409 wpt_uint16 usMaxMsduSz;
2410 wpt_uint32 uMinSvcInterval;
2411 wpt_uint32 uMaxSvcInterval;
2412 wpt_uint32 uInactInterval;
2413 wpt_uint32 uSuspendInterval;
2414 wpt_uint32 uSvcStartTime;
2415 wpt_uint32 uMinDataRate;
2416 wpt_uint32 uMeanDataRate;
2417 wpt_uint32 uPeakDataRate;
2418 wpt_uint32 uMaxBurstSz;
2419 wpt_uint32 uDelayBound;
2420 wpt_uint32 uMinPhyRate;
2421 wpt_uint16 usSurplusBw;
2422 wpt_uint16 usMediumTime;
2423}WDI_TspecIEType;
2424
2425/*---------------------------------------------------------------------------
2426 WDI_AddTSReqInfoType
2427---------------------------------------------------------------------------*/
2428typedef struct
2429{
2430 /*STA Index*/
2431 wpt_uint8 ucSTAIdx;
2432
2433 /*Identifier for TSpec*/
2434 wpt_uint16 ucTspecIdx;
2435
2436 /*Tspec IE negotiated OTA*/
2437 WDI_TspecIEType wdiTspecIE;
2438
2439 /*UAPSD delivery and trigger enabled flags */
2440 wpt_uint8 ucUapsdFlags;
2441
2442 /*SI for each AC*/
2443 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2444
2445 /*Suspend Interval for each AC*/
2446 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2447
2448 /*DI for each AC*/
2449 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2450
2451}WDI_AddTSReqInfoType;
2452
2453
2454/*---------------------------------------------------------------------------
2455 WDI_AddTSReqParamsType
2456---------------------------------------------------------------------------*/
2457typedef struct
2458{
2459 /*TSpec Info */
2460 WDI_AddTSReqInfoType wdiTsInfo;
2461
2462 /*Request status callback offered by UMAC - it is called if the current
2463 req has returned PENDING as status; it delivers the status of sending
2464 the message over the BUS */
2465 WDI_ReqStatusCb wdiReqStatusCB;
2466
2467 /*The user data passed in by UMAC, it will be sent back when the above
2468 function pointer will be called */
2469 void* pUserData;
2470}WDI_AddTSReqParamsType;
2471
2472/*---------------------------------------------------------------------------
2473 WDI_DelTSReqInfoType
2474---------------------------------------------------------------------------*/
2475typedef struct
2476{
2477 /*STA Index*/
2478 wpt_uint8 ucSTAIdx;
2479
2480 /*Identifier for TSpec*/
2481 wpt_uint16 ucTspecIdx;
2482
2483 /*BSSID of the BSS*/
2484 wpt_macAddr macBSSID;
2485}WDI_DelTSReqInfoType;
2486
2487/*---------------------------------------------------------------------------
2488 WDI_DelTSReqParamsType
2489---------------------------------------------------------------------------*/
2490typedef struct
2491{
2492 /*Del TSpec Info*/
2493 WDI_DelTSReqInfoType wdiDelTSInfo;
2494
2495 /*Request status callback offered by UMAC - it is called if the current
2496 req has returned PENDING as status; it delivers the status of sending
2497 the message over the BUS */
2498 WDI_ReqStatusCb wdiReqStatusCB;
2499
2500 /*The user data passed in by UMAC, it will be sent back when the above
2501 function pointer will be called */
2502 void* pUserData;
2503}WDI_DelTSReqParamsType;
2504
2505/*---------------------------------------------------------------------------
2506 WDI_UpdateEDCAInfoType
2507---------------------------------------------------------------------------*/
2508typedef struct
2509{
krunal soni0b366c02013-07-17 19:55:57 -07002510 /*BSS Index of the BSS*/
2511 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002512
Jeff Johnson295189b2012-06-20 16:38:30 -07002513 /*EDCA params for BE*/
2514 WDI_EdcaParamRecord wdiEdcaBEInfo;
2515
2516 /*EDCA params for BK*/
2517 WDI_EdcaParamRecord wdiEdcaBKInfo;
2518
2519 /*EDCA params for VI*/
2520 WDI_EdcaParamRecord wdiEdcaVIInfo;
2521
2522 /*EDCA params for VO*/
2523 WDI_EdcaParamRecord wdiEdcaVOInfo;
2524
2525}WDI_UpdateEDCAInfoType;
2526
2527/*---------------------------------------------------------------------------
2528 WDI_UpdateEDCAParamsType
2529---------------------------------------------------------------------------*/
2530typedef struct
2531{
2532 /*EDCA Info */
2533 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2534
2535 /*Request status callback offered by UMAC - it is called if the current
2536 req has returned PENDING as status; it delivers the status of sending
2537 the message over the BUS */
2538 WDI_ReqStatusCb wdiReqStatusCB;
2539
2540 /*The user data passed in by UMAC, it will be sent back when the above
2541 function pointer will be called */
2542 void* pUserData;
2543}WDI_UpdateEDCAParamsType;
2544
2545/*---------------------------------------------------------------------------
2546 WDI_AddBASessionReqinfoType
2547---------------------------------------------------------------------------*/
2548typedef struct
2549{
2550 /*Indicates the station for which BA is added..*/
2551 wpt_uint8 ucSTAIdx;
2552
2553 /*The peer mac address*/
2554 wpt_macAddr macPeerAddr;
2555
2556 /*TID for which BA was negotiated*/
2557 wpt_uint8 ucBaTID;
2558
2559 /*Delayed or imediate */
2560 wpt_uint8 ucBaPolicy;
2561
2562 /*The number of buffers for this TID (baTID)*/
2563 wpt_uint16 usBaBufferSize;
2564
2565 /*BA timeout in TU's*/
2566 wpt_uint16 usBaTimeout;
2567
2568 /*b0..b3 - Fragment Number - Always set to 0
2569 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2570 wpt_uint16 usBaSSN;
2571
2572 /*Originator/Recipient*/
2573 wpt_uint8 ucBaDirection;
2574
2575}WDI_AddBASessionReqinfoType;
2576
2577
2578/*---------------------------------------------------------------------------
2579 WDI_AddBASessionReqParamsType
2580---------------------------------------------------------------------------*/
2581typedef struct
2582{
2583 /*BA Session Info Type*/
2584 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2585
2586 /*Request status callback offered by UMAC - it is called if the current
2587 req has returned PENDING as status; it delivers the status of sending
2588 the message over the BUS */
2589 WDI_ReqStatusCb wdiReqStatusCB;
2590
2591 /*The user data passed in by UMAC, it will be sent back when the above
2592 function pointer will be called */
2593 void* pUserData;
2594}WDI_AddBASessionReqParamsType;
2595
2596/*---------------------------------------------------------------------------
2597 WDI_AddBASessionRspParamsType
2598---------------------------------------------------------------------------*/
2599typedef struct
2600{
2601 /*Status of the response*/
2602 WDI_Status wdiStatus;
2603
2604 /* Dialog token */
2605 wpt_uint8 ucBaDialogToken;
2606
2607 /* TID for which the BA session has been setup */
2608 wpt_uint8 ucBaTID;
2609
2610 /* BA Buffer Size allocated for the current BA session */
2611 wpt_uint8 ucBaBufferSize;
2612
2613 /* BA session ID */
2614 wpt_uint16 usBaSessionID;
2615
2616 /* Reordering Window buffer */
2617 wpt_uint8 ucWinSize;
2618
2619 /*Station Index to id the sta */
2620 wpt_uint8 ucSTAIdx;
2621
2622 /* Starting Sequence Number */
2623 wpt_uint16 usBaSSN;
2624
2625}WDI_AddBASessionRspParamsType;
2626
2627/*---------------------------------------------------------------------------
2628 WDI_AddBAReqinfoType
2629---------------------------------------------------------------------------*/
2630typedef struct
2631{
2632 /*Indicates the station for which BA is added..*/
2633 wpt_uint8 ucSTAIdx;
2634
2635 /* Session Id */
2636 wpt_uint8 ucBaSessionID;
2637
2638 /* Reorder Window Size */
2639 wpt_uint8 ucWinSize;
2640
2641#ifdef FEATURE_ON_CHIP_REORDERING
2642 wpt_boolean bIsReorderingDoneOnChip;
2643#endif
2644
2645}WDI_AddBAReqinfoType;
2646
2647
2648/*---------------------------------------------------------------------------
2649 WDI_AddBAReqParamsType
2650---------------------------------------------------------------------------*/
2651typedef struct
2652{
2653 /*BA Info Type*/
2654 WDI_AddBAReqinfoType wdiBAInfoType;
2655
2656 /*Request status callback offered by UMAC - it is called if the current
2657 req has returned PENDING as status; it delivers the status of sending
2658 the message over the BUS */
2659 WDI_ReqStatusCb wdiReqStatusCB;
2660
2661 /*The user data passed in by UMAC, it will be sent back when the above
2662 function pointer will be called */
2663 void* pUserData;
2664}WDI_AddBAReqParamsType;
2665
2666
2667/*---------------------------------------------------------------------------
2668 WDI_AddBARspinfoType
2669---------------------------------------------------------------------------*/
2670typedef struct
2671{
2672 /*Status of the response*/
2673 WDI_Status wdiStatus;
2674
2675 /* Dialog token */
2676 wpt_uint8 ucBaDialogToken;
2677
2678}WDI_AddBARspinfoType;
2679
2680/*---------------------------------------------------------------------------
2681 WDI_TriggerBAReqCandidateType
2682---------------------------------------------------------------------------*/
2683typedef struct
2684{
2685 /* STA index */
2686 wpt_uint8 ucSTAIdx;
2687
2688 /* TID bit map for the STA's*/
2689 wpt_uint8 ucTidBitmap;
2690
2691}WDI_TriggerBAReqCandidateType;
2692
2693
2694/*---------------------------------------------------------------------------
2695 WDI_TriggerBAReqinfoType
2696---------------------------------------------------------------------------*/
2697typedef struct
2698{
2699 /*Indicates the station for which BA is added..*/
2700 wpt_uint8 ucSTAIdx;
2701
2702 /* Session Id */
2703 wpt_uint8 ucBASessionID;
2704
2705 /* Trigger BA Request candidate count */
2706 wpt_uint16 usBACandidateCnt;
2707
2708 /* WDI_TriggerBAReqCandidateType followed by this*/
2709
2710}WDI_TriggerBAReqinfoType;
2711
2712
2713/*---------------------------------------------------------------------------
2714 WDI_TriggerBAReqParamsType
2715---------------------------------------------------------------------------*/
2716typedef struct
2717{
2718 /*BA Trigger Info Type*/
2719 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2720
2721 /*Request status callback offered by UMAC - it is called if the current
2722 req has returned PENDING as status; it delivers the status of sending
2723 the message over the BUS */
2724 WDI_ReqStatusCb wdiReqStatusCB;
2725
2726 /*The user data passed in by UMAC, it will be sent back when the above
2727 function pointer will be called */
2728 void* pUserData;
2729}WDI_TriggerBAReqParamsType;
2730
2731/*---------------------------------------------------------------------------
2732 WDI_AddBAInfoType
2733---------------------------------------------------------------------------*/
2734typedef struct
2735{
2736 wpt_uint16 fBaEnable : 1;
2737 wpt_uint16 startingSeqNum: 12;
2738 wpt_uint16 reserved : 3;
2739}WDI_AddBAInfoType;
2740
2741/*---------------------------------------------------------------------------
2742 WDI_TriggerBARspCandidateType
2743---------------------------------------------------------------------------*/
2744#define STA_MAX_TC 8
2745
2746typedef struct
2747{
2748 /* STA index */
2749 wpt_macAddr macSTA;
2750
2751 /* BA Info */
2752 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2753}WDI_TriggerBARspCandidateType;
2754
2755/*---------------------------------------------------------------------------
2756 WDI_TriggerBARspParamsType
2757---------------------------------------------------------------------------*/
2758typedef struct
2759{
2760 /*Status of the response*/
2761 WDI_Status wdiStatus;
2762
2763 /*BSSID of the BSS*/
2764 wpt_macAddr macBSSID;
2765
2766 /* Trigger BA response candidate count */
2767 wpt_uint16 usBaCandidateCnt;
2768
2769 /* WDI_TriggerBARspCandidateType followed by this*/
2770
2771}WDI_TriggerBARspParamsType;
2772
2773/*---------------------------------------------------------------------------
2774 WDI_DelBAReqinfoType
2775---------------------------------------------------------------------------*/
2776typedef struct
2777{
2778 /*Indicates the station for which BA is added..*/
2779 wpt_uint8 ucSTAIdx;
2780
2781 /*TID for which BA was negotiated*/
2782 wpt_uint8 ucBaTID;
2783
2784 /*Originator/Recipient*/
2785 wpt_uint8 ucBaDirection;
2786
2787}WDI_DelBAReqinfoType;
2788
2789/*---------------------------------------------------------------------------
2790 WDI_DelBAReqParamsType
2791---------------------------------------------------------------------------*/
2792typedef struct
2793{
2794 /*BA Info */
2795 WDI_DelBAReqinfoType wdiBAInfo;
2796
2797 /*Request status callback offered by UMAC - it is called if the current
2798 req has returned PENDING as status; it delivers the status of sending
2799 the message over the BUS */
2800 WDI_ReqStatusCb wdiReqStatusCB;
2801
2802 /*The user data passed in by UMAC, it will be sent back when the above
2803 function pointer will be called */
2804 void* pUserData;
2805}WDI_DelBAReqParamsType;
2806
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002807/*---------------------------------------------------------------------------
2808 WDI_UpdateChannelReqinfoType
2809---------------------------------------------------------------------------*/
2810typedef struct
2811{
2812 /** primary 20 MHz channel frequency in mhz */
2813 wpt_uint32 mhz;
2814 /** Center frequency 1 in MHz*/
2815 wpt_uint32 band_center_freq1;
2816 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2817 wpt_uint32 band_center_freq2;
2818 /* The first 26 bits are a bit mask to indicate any channel flags,
2819 (see WLAN_HAL_CHAN_FLAG*)
2820 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2821 wpt_uint32 channel_info;
2822 /** contains min power, max power, reg power and reg class id. */
2823 wpt_uint32 reg_info_1;
2824 /** contains antennamax */
2825 wpt_uint32 reg_info_2;
2826}WDI_UpdateChannelReqinfoType;
2827
2828typedef struct
2829{
2830 wpt_uint8 numchan;
2831 WDI_UpdateChannelReqinfoType *pchanParam;
2832}WDI_UpdateChannelReqType;
2833/*---------------------------------------------------------------------------
2834 WDI_UpdateChReqParamsType
2835---------------------------------------------------------------------------*/
2836typedef struct
2837{
2838 /*BA Info */
2839 WDI_UpdateChannelReqType wdiUpdateChanParams;
2840
2841 /*Request status callback offered by UMAC - it is called if the current
2842 req has returned PENDING as status; it delivers the status of sending
2843 the message over the BUS */
2844 WDI_ReqStatusCb wdiReqStatusCB;
2845
2846 /*The user data passed in by UMAC, it will be sent back when the above
2847 function pointer will be called */
2848 void* pUserData;
2849}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002850
2851/*---------------------------------------------------------------------------
2852 WDI_SwitchCHRspParamsType
2853---------------------------------------------------------------------------*/
2854typedef struct
2855{
2856 /*Status of the response*/
2857 WDI_Status wdiStatus;
2858
2859 /*Indicates the channel that WLAN is on*/
2860 wpt_uint8 ucChannel;
2861
2862#ifdef WLAN_FEATURE_VOWIFI
2863 /*HAL fills in the tx power used for mgmt frames in this field.*/
2864 wpt_int8 ucTxMgmtPower;
2865#endif
2866
2867}WDI_SwitchCHRspParamsType;
2868
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002869/*--------------------------------------------------------------------
2870 WDI_SwitchChRspParamsType_V1
2871--------------------------------------------------------------------*/
2872typedef struct
2873{
2874 /*Status of the response*/
2875 WDI_Status wdiStatus;
2876
2877 /*Indicates the channel that WLAN is on*/
2878 wpt_uint8 ucChannel;
2879
2880#ifdef WLAN_FEATURE_VOWIFI
2881 /*HAL fills in the tx power used for mgmt frames in this field.*/
2882 wpt_int8 ucTxMgmtPower;
2883#endif
2884
2885 /* Source of Channel Switch */
2886 WDI_ChanSwitchSource channelSwitchSrc;
2887}WDI_SwitchChRspParamsType_V1;
2888
Jeff Johnson295189b2012-06-20 16:38:30 -07002889/*---------------------------------------------------------------------------
2890 WDI_ConfigSTAReqParamsType
2891---------------------------------------------------------------------------*/
2892typedef struct
2893{
2894 /*Info for the Join request that will be sent down to the device*/
2895 WDI_ConfigStaReqInfoType wdiReqInfo;
2896
2897 /*Request status callback offered by UMAC - it is called if the current
2898 req has returned PENDING as status; it delivers the status of sending
2899 the message over the BUS */
2900 WDI_ReqStatusCb wdiReqStatusCB;
2901
2902 /*The user data passed in by UMAC, it will be sent back when the above
2903 function pointer will be called */
2904 void* pUserData;
2905}WDI_ConfigSTAReqParamsType;
2906
2907
2908/*---------------------------------------------------------------------------
2909 WDI_UpdateBeaconParamsInfoType
2910---------------------------------------------------------------------------*/
2911
2912typedef struct
2913{
2914 /*BSS Index of the BSS*/
2915 wpt_uint8 ucBssIdx;
2916
2917 /*shortPreamble mode. HAL should update all the STA rates when it
2918 receives this message*/
2919 wpt_uint8 ucfShortPreamble;
2920 /* short Slot time.*/
2921 wpt_uint8 ucfShortSlotTime;
2922 /* Beacon Interval */
2923 wpt_uint16 usBeaconInterval;
2924 /*Protection related */
2925 wpt_uint8 ucllaCoexist;
2926 wpt_uint8 ucllbCoexist;
2927 wpt_uint8 ucllgCoexist;
2928 wpt_uint8 ucHt20MhzCoexist;
2929 wpt_uint8 ucllnNonGFCoexist;
2930 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2931 wpt_uint8 ucfRIFSMode;
2932
2933 wpt_uint16 usChangeBitmap;
2934}WDI_UpdateBeaconParamsInfoType;
2935
Mohit Khanna4a70d262012-09-11 16:30:12 -07002936#ifdef WLAN_FEATURE_11AC
2937typedef struct
2938{
2939 wpt_uint16 opMode;
2940 wpt_uint16 staId;
2941}WDI_UpdateVHTOpMode;
2942#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002943
2944/*---------------------------------------------------------------------------
2945 WDI_UpdateBeaconParamsType
2946---------------------------------------------------------------------------*/
2947typedef struct
2948{
2949 /*Update Beacon Params Info*/
2950 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2951
2952 /*Request status callback offered by UMAC - it is called if the current
2953 req has returned PENDING as status; it delivers the status of sending
2954 the message over the BUS */
2955 WDI_ReqStatusCb wdiReqStatusCB;
2956
2957 /*The user data passed in by UMAC, it will be sent back when the above
2958 function pointer will be called */
2959 void* pUserData;
2960}WDI_UpdateBeaconParamsType;
2961
2962/*---------------------------------------------------------------------------
2963 WDI_SendBeaconParamsInfoType
2964---------------------------------------------------------------------------*/
2965
2966typedef struct {
2967
2968 /*BSSID of the BSS*/
2969 wpt_macAddr macBSSID;
2970
2971 /* Beacon data */
2972 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2973
2974 /* length of the template */
2975 wpt_uint32 beaconLength;
2976
Jeff Johnson295189b2012-06-20 16:38:30 -07002977 /* TIM IE offset from the beginning of the template.*/
2978 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002979
Jeff Johnson295189b2012-06-20 16:38:30 -07002980 /* P2P IE offset from the beginning of the template */
2981 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002982} WDI_SendBeaconParamsInfoType;
2983
2984/*---------------------------------------------------------------------------
2985 WDI_SendBeaconParamsType
2986---------------------------------------------------------------------------*/
2987typedef struct
2988{
2989 /*Send Beacon Params Info*/
2990 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2991
2992 /*Request status callback offered by UMAC - it is called if the current
2993 req has returned PENDING as status; it delivers the status of sending
2994 the message over the BUS */
2995 WDI_ReqStatusCb wdiReqStatusCB;
2996
2997 /*The user data passed in by UMAC, it will be sent back when the above
2998 function pointer will be called */
2999 void* pUserData;
3000}WDI_SendBeaconParamsType;
3001
3002/*---------------------------------------------------------------------------
3003 WDI_LinkStateType
3004---------------------------------------------------------------------------*/
3005typedef enum
3006{
3007 WDI_LINK_IDLE_STATE = 0,
3008 WDI_LINK_PREASSOC_STATE = 1,
3009 WDI_LINK_POSTASSOC_STATE = 2,
3010 WDI_LINK_AP_STATE = 3,
3011 WDI_LINK_IBSS_STATE = 4,
3012
3013 // BT-AMP Case
3014 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3015 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3016 WDI_LINK_BTAMP_AP_STATE = 7,
3017 WDI_LINK_BTAMP_STA_STATE = 8,
3018
3019 // Reserved for HAL internal use
3020 WDI_LINK_LEARN_STATE = 9,
3021 WDI_LINK_SCAN_STATE = 10,
3022 WDI_LINK_FINISH_SCAN_STATE = 11,
3023 WDI_LINK_INIT_CAL_STATE = 12,
3024 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003025 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303026 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003027 WDI_LINK_MAX = 0x7FFFFFFF
3028} WDI_LinkStateType;
3029
3030/*---------------------------------------------------------------------------
3031 WDI_SetLinkReqInfoType
3032---------------------------------------------------------------------------*/
3033typedef struct
3034{
3035 /*BSSID of the BSS*/
3036 wpt_macAddr macBSSID;
3037
3038 /*Link state*/
3039 WDI_LinkStateType wdiLinkState;
3040
3041 /*BSSID of the BSS*/
3042 wpt_macAddr macSelfStaMacAddr;
3043}WDI_SetLinkReqInfoType;
3044
3045/*---------------------------------------------------------------------------
3046 WDI_SetLinkReqParamsType
3047---------------------------------------------------------------------------*/
3048typedef struct
3049{
3050 /*Link Info*/
3051 WDI_SetLinkReqInfoType wdiLinkInfo;
3052
3053 /*Request status callback offered by UMAC - it is called if the current
3054 req has returned PENDING as status; it delivers the status of sending
3055 the message over the BUS */
3056 WDI_ReqStatusCb wdiReqStatusCB;
3057
3058 /*The user data passed in by UMAC, it will be sent back when the above
3059 function pointer will be called */
3060 void* pUserData;
3061}WDI_SetLinkReqParamsType;
3062
3063/*---------------------------------------------------------------------------
3064 WDI_GetStatsParamsInfoType
3065---------------------------------------------------------------------------*/
3066typedef struct
3067{
3068 /*Indicates the station for which Get Stats are requested..*/
3069 wpt_uint8 ucSTAIdx;
3070
3071 /* categories of stats requested */
3072 wpt_uint32 uStatsMask;
3073}WDI_GetStatsParamsInfoType;
3074
3075/*---------------------------------------------------------------------------
3076 WDI_GetStatsReqParamsType
3077---------------------------------------------------------------------------*/
3078typedef struct
3079{
3080 /*Get Stats Params Info*/
3081 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3082
3083 /*Request status callback offered by UMAC - it is called if the current
3084 req has returned PENDING as status; it delivers the status of sending
3085 the message over the BUS */
3086 WDI_ReqStatusCb wdiReqStatusCB;
3087
3088 /*The user data passed in by UMAC, it will be sent back when the above
3089 function pointer will be called */
3090 void* pUserData;
3091}WDI_GetStatsReqParamsType;
3092
3093/*---------------------------------------------------------------------------
3094 WDI_GetStatsRspParamsType
3095---------------------------------------------------------------------------*/
3096typedef struct
3097{
3098 /*message type is same as the request type*/
3099 wpt_uint16 usMsgType;
3100
3101 /* length of the entire request, includes the pStatsBuf length too*/
3102 wpt_uint16 usMsgLen;
3103
3104 /*Result of the operation*/
3105 WDI_Status wdiStatus;
3106
3107 /*Indicates the station for which Get Stats are requested..*/
3108 wpt_uint8 ucSTAIdx;
3109
3110 /* categories of stats requested */
3111 wpt_uint32 uStatsMask;
3112
3113 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3114 * structure depending on statsMask.*/
3115}WDI_GetStatsRspParamsType;
3116
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003117#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003118/*---------------------------------------------------------------------------
3119 WDI_GetRoamRssiParamsInfoType
3120---------------------------------------------------------------------------*/
3121typedef struct
3122{
3123 /*Indicates the station for which Get Stats are requested..*/
3124 wpt_uint8 ucSTAIdx;
3125
3126 /* categories of stats requested */
3127 wpt_uint32 uStatsMask;
3128}WDI_GetRoamRssiParamsInfoType;
3129
3130/*---------------------------------------------------------------------------
3131 WDI_GetRoamRssiReqParamsType
3132---------------------------------------------------------------------------*/
3133typedef struct
3134{
3135 /*Get Roam Rssi Params Info*/
3136 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3137
3138 /*Request status callback offered by UMAC - it is called if the current
3139 req has returned PENDING as status; it delivers the status of sending
3140 the message over the BUS */
3141 WDI_ReqStatusCb wdiReqStatusCB;
3142
3143 /*The user data passed in by UMAC, it will be sent back when the above
3144 function pointer will be called */
3145 void* pUserData;
3146}WDI_GetRoamRssiReqParamsType;
3147
3148/*---------------------------------------------------------------------------
3149 WDI_GetRoamRssiRspParamsType
3150---------------------------------------------------------------------------*/
3151typedef struct
3152{
3153 /*Result of the operation*/
3154 WDI_Status wdiStatus;
3155
3156 /*Indicates the station for which Get Stats are requested..*/
3157 wpt_uint8 ucSTAIdx;
3158
3159 /* roam rssi requested */
3160 wpt_int8 rssi;
3161
3162 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3163 * structure depending on statsMask.*/
3164}WDI_GetRoamRssiRspParamsType;
3165#endif
3166
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003167#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003168/*---------------------------------------------------------------------------
3169 WDI_TSMStatsParamsInfoType
3170---------------------------------------------------------------------------*/
3171typedef struct
3172{
3173 /*Indicates the station for which Get Stats are requested..*/
3174 wpt_uint8 ucTid;
3175
3176 wpt_macAddr bssid;
3177}WDI_TSMStatsParamsInfoType;
3178
3179/*---------------------------------------------------------------------------
3180 WDI_TSMStatsReqParamsType
3181---------------------------------------------------------------------------*/
3182typedef struct
3183{
3184 /*Get TSM Stats Params Info*/
3185 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3186
3187 WDI_ReqStatusCb wdiReqStatusCB;
3188
3189 /*The user data passed in by UMAC, it will be sent back when the above
3190 function pointer will be called */
3191 void* pUserData;
3192
3193}WDI_TSMStatsReqParamsType;
3194
3195
3196/*---------------------------------------------------------------------------
3197 WDI_TSMStatsRspParamsType
3198---------------------------------------------------------------------------*/
3199typedef struct
3200{
3201 /*Indicates the status of the operation */
3202 WDI_Status wdiStatus;
3203
3204 wpt_uint16 UplinkPktQueueDly;
3205 wpt_uint16 UplinkPktQueueDlyHist[4];
3206 wpt_uint32 UplinkPktTxDly;
3207 wpt_uint16 UplinkPktLoss;
3208 wpt_uint16 UplinkPktCount;
3209 wpt_uint8 RoamingCount;
3210 wpt_uint16 RoamingDly;
3211}WDI_TSMStatsRspParamsType;
3212
3213
3214#endif
3215/*---------------------------------------------------------------------------
3216 WDI_UpdateCfgReqParamsType
3217---------------------------------------------------------------------------*/
3218typedef struct
3219{
3220 /*This is a TLV formatted buffer containing all config values that can
3221 be set through the DAL Interface
3222
3223 The TLV is expected to be formatted like this:
3224
3225 0 7 15 31 ....
3226 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3227
3228 Or from a C construct point of VU it would look like this:
3229
3230 typedef struct WPT_PACK_POST
3231 {
3232 #ifdef WPT_BIG_ENDIAN
3233 wpt_uint32 ucCfgId:8;
3234 wpt_uint32 ucCfgLen:8;
3235 wpt_uint32 usReserved:16;
3236 #else
3237 wpt_uint32 usReserved:16;
3238 wpt_uint32 ucCfgLen:8;
3239 wpt_uint32 ucCfgId:8;
3240 #endif
3241
3242 wpt_uint8 ucCfgBody[ucCfgLen];
3243 }WDI_ConfigType;
3244
3245 Multiple such tuplets are to be placed in the config buffer. One for
3246 each required configuration item:
3247
3248 | TLV 1 | TLV2 | ....
3249
3250 The buffer is expected to be a flat area of memory that can be manipulated
3251 with standard memory routines.
3252
3253 For more info please check paragraph 2.3.1 Config Structure from the
3254 HAL LLD.
3255
3256 For a list of accepted configuration list and IDs please look up
3257 wlan_qct_dal_cfg.h
3258 */
3259 void* pConfigBuffer;
3260
3261 /*Length of the config buffer above*/
3262 wpt_uint32 uConfigBufferLen;
3263
3264 /*Request status callback offered by UMAC - it is called if the current
3265 req has returned PENDING as status; it delivers the status of sending
3266 the message over the BUS */
3267 WDI_ReqStatusCb wdiReqStatusCB;
3268
3269 /*The user data passed in by UMAC, it will be sent back when the above
3270 function pointer will be called */
3271 void* pUserData;
3272}WDI_UpdateCfgReqParamsType;
3273
3274/*---------------------------------------------------------------------------
3275 WDI_UpdateProbeRspTemplateInfoType
3276---------------------------------------------------------------------------*/
3277//Default Beacon template size
3278#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3279
3280#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3281
3282typedef struct
3283{
3284 /*BSSID for which the Probe Template is to be used*/
3285 wpt_macAddr macBSSID;
3286
3287 /*Probe response template*/
3288 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3289
3290 /*Template Len*/
3291 wpt_uint32 uProbeRespTemplateLen;
3292
3293 /*Bitmap for the IEs that are to be handled at SLM level*/
3294 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3295
3296}WDI_UpdateProbeRspTemplateInfoType;
3297
3298/*---------------------------------------------------------------------------
3299 WDI_UpdateProbeRspParamsType
3300---------------------------------------------------------------------------*/
3301typedef struct
3302{
3303 /*Link Info*/
3304 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3305
3306 /*Request status callback offered by UMAC - it is called if the current
3307 req has returned PENDING as status; it delivers the status of sending
3308 the message over the BUS */
3309 WDI_ReqStatusCb wdiReqStatusCB;
3310
3311 /*The user data passed in by UMAC, it will be sent back when the above
3312 function pointer will be called */
3313 void* pUserData;
3314}WDI_UpdateProbeRspTemplateParamsType;
3315
3316/*---------------------------------------------------------------------------
3317 WDI_NvDownloadReqBlobInfo
3318---------------------------------------------------------------------------*/
3319
3320typedef struct
3321{
3322 /* Blob starting address*/
3323 void *pBlobAddress;
3324
3325 /* Blob size */
3326 wpt_uint32 uBlobSize;
3327
3328}WDI_NvDownloadReqBlobInfo;
3329
3330/*---------------------------------------------------------------------------
3331 WDI_NvDownloadReqParamsType
3332---------------------------------------------------------------------------*/
3333typedef struct
3334{
3335 /*NV Blob Info*/
3336 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3337
3338 /*Request status callback offered by UMAC - it is called if the current
3339 req has returned PENDING as status; it delivers the status of sending
3340 the message over the BUS */
3341 WDI_ReqStatusCb wdiReqStatusCB;
3342
3343 /*The user data passed in by UMAC, it will be sent back when the above
3344 function pointer will be called */
3345 void* pUserData;
3346
3347}WDI_NvDownloadReqParamsType;
3348
3349/*---------------------------------------------------------------------------
3350 WDI_NvDownloadRspInfoType
3351---------------------------------------------------------------------------*/
3352typedef struct
3353{
3354 /*Status of the response*/
3355 WDI_Status wdiStatus;
3356
3357}WDI_NvDownloadRspInfoType;
3358
3359/*---------------------------------------------------------------------------
3360 WDI_SetMaxTxPowerInfoType
3361---------------------------------------------------------------------------*/
3362
3363typedef struct
3364{
3365 /*BSSID is needed to identify which session issued this request. As the request has
3366 power constraints, this should be applied only to that session*/
3367 wpt_macAddr macBSSId;
3368
3369
3370 wpt_macAddr macSelfStaMacAddr;
3371
3372 /* In request power == MaxTxpower to be used.*/
3373 wpt_int8 ucPower;
3374
3375}WDI_SetMaxTxPowerInfoType;
3376
3377/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003378 WDI_SetTxPowerInfoType
3379---------------------------------------------------------------------------*/
3380
3381typedef struct
3382{
3383 wpt_uint8 bssIdx;
3384 /* In request power == MaxTxpower to be used.*/
3385 wpt_uint8 ucPower;
3386
3387}WDI_SetTxPowerInfoType;
3388
3389/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003390 WDI_SetMaxTxPowerParamsType
3391---------------------------------------------------------------------------*/
3392typedef struct
3393{
3394 /*Link Info*/
3395 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3396
3397 /*Request status callback offered by UMAC - it is called if the current
3398 req has returned PENDING as status; it delivers the status of sending
3399 the message over the BUS */
3400 WDI_ReqStatusCb wdiReqStatusCB;
3401
3402 /*The user data passed in by UMAC, it will be sent back when the above
3403 function pointer will be called */
3404 void* pUserData;
3405}WDI_SetMaxTxPowerParamsType;
3406
schang86c22c42013-03-13 18:41:24 -07003407/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003408 WDI_Band
3409---------------------------------------------------------------------------*/
3410typedef enum
3411{
3412 WDI_BAND_ALL,
3413 WDI_BAND_24,
3414 WDI_BAND_5G,
3415 WDI_BAND_MAX,
3416}eWDIBand;
3417
3418/*---------------------------------------------------------------------------
3419 WDI_MaxTxPowerPerBandInfoType
3420---------------------------------------------------------------------------*/
3421typedef struct
3422{
3423 eWDIBand bandInfo;
3424 /* In request power == MaxTxpower to be used.*/
3425 wpt_uint8 ucPower;
3426}WDI_MaxTxPowerPerBandInfoType;
3427
3428/*---------------------------------------------------------------------------
3429 WDI_SetMaxTxPowerPerBandParamsType
3430---------------------------------------------------------------------------*/
3431typedef struct
3432{
3433 /*Link Info*/
3434 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3435
3436 /*Request status callback offered by UMAC - it is called if the current
3437 req has returned PENDING as status; it delivers the status of sending
3438 the message over the BUS */
3439 WDI_ReqStatusCb wdiReqStatusCB;
3440
3441 /*The user data passed in by UMAC, it will be sent back when the above
3442 function pointer will be called */
3443 void* pUserData;
3444}WDI_SetMaxTxPowerPerBandParamsType;
3445
3446/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003447 WDI_SetTxPowerParamsType
3448---------------------------------------------------------------------------*/
3449typedef struct
3450{
3451 /*Link Info*/
3452 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3453
3454 /*Request status callback offered by UMAC - it is called if the current
3455 req has returned PENDING as status; it delivers the status of sending
3456 the message over the BUS */
3457 WDI_ReqStatusCb wdiReqStatusCB;
3458
3459 /*The user data passed in by UMAC, it will be sent back when the above
3460 function pointer will be called */
3461 void* pUserData;
3462}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003463
3464/*---------------------------------------------------------------------------
3465 WDI_SetMaxTxPowerRspMsg
3466---------------------------------------------------------------------------*/
3467
3468typedef struct
3469{
3470 /* In response, power==tx power used for management frames*/
3471 wpt_int8 ucPower;
3472
3473 /*Result of the operation*/
3474 WDI_Status wdiStatus;
3475
3476}WDI_SetMaxTxPowerRspMsg;
3477
schang86c22c42013-03-13 18:41:24 -07003478/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003479 WDI_SetMaxTxPowerPerBandRspMsg
3480---------------------------------------------------------------------------*/
3481typedef struct
3482{
3483 /* In response, power==tx power used for management frames*/
3484 wpt_int8 ucPower;
3485
3486 /*Result of the operation*/
3487 WDI_Status wdiStatus;
3488
3489}WDI_SetMaxTxPowerPerBandRspMsg;
3490
3491/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003492 WDI_SetTxPowerRspMsg
3493---------------------------------------------------------------------------*/
3494
3495typedef struct
3496{
3497 /* In response, power==tx power used for management frames*/
3498 wpt_int8 ucPower;
3499
3500 /*Result of the operation*/
3501 WDI_Status wdiStatus;
3502
3503}WDI_SetTxPowerRspMsg;
3504
Jeff Johnson295189b2012-06-20 16:38:30 -07003505typedef struct
3506{
3507 wpt_uint8 ucOpp_ps;
3508 wpt_uint32 uCtWindow;
3509 wpt_uint8 ucCount;
3510 wpt_uint32 uDuration;
3511 wpt_uint32 uInterval;
3512 wpt_uint32 uSingle_noa_duration;
3513 wpt_uint8 ucPsSelection;
3514}WDI_SetP2PGONOAReqInfoType;
3515
3516/*---------------------------------------------------------------------------
3517 WDI_SetP2PGONOAReqParamsType
3518---------------------------------------------------------------------------*/
3519typedef struct
3520{
3521 /*P2P GO NOA Req*/
3522 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3523
3524 /*Request status callback offered by UMAC - it is called if the current
3525 req has returned PENDING as status; it delivers the status of sending
3526 the message over the BUS */
3527 WDI_ReqStatusCb wdiReqStatusCB;
3528
3529 /*The user data passed in by UMAC, it will be sent back when the above
3530 function pointer will be called */
3531 void* pUserData;
3532}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003533
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303534#define WDI_MAX_SUPP_CHANNELS 128
3535#define WDI_MAX_SUPP_OPER_CLASSES 32
3536
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303537typedef struct
3538{
3539 wpt_uint16 uStaIdx;
3540 wpt_uint8 uIsResponder;
3541 wpt_uint8 uUapsdQueues;
3542 wpt_uint8 uMaxSp;
3543 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303544 wpt_uint8 uIsOffChannelSupported;
3545 wpt_uint8 peerCurrOperClass;
3546 wpt_uint8 selfCurrOperClass;
3547 wpt_uint8 validChannelsLen;
3548 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3549 wpt_uint8 validOperClassesLen;
3550 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303551}WDI_SetTDLSLinkEstablishReqInfoType;
3552/*---------------------------------------------------------------------------
3553 WDI_SetTDLSLinkEstablishReqParamsType
3554---------------------------------------------------------------------------*/
3555typedef struct
3556{
3557 /*TDLS Link Establish Req*/
3558 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3559
3560 /*Request status callback offered by UMAC - it is called if the current
3561 req has returned PENDING as status; it delivers the status of sending
3562 the message over the BUS */
3563 WDI_ReqStatusCb wdiReqStatusCB;
3564
3565 /*The user data passed in by UMAC, it will be sent back when the above
3566 function pointer will be called */
3567 void* pUserData;
3568}WDI_SetTDLSLinkEstablishReqParamsType;
3569
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303570typedef struct
3571{
3572 /*Result of the operation*/
3573 WDI_Status wdiStatus;
3574
3575 /*STA Idx*/
3576 wpt_uint16 uStaIdx;
3577}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003578
Atul Mittalc0f739f2014-07-31 13:47:47 +05303579
3580
3581typedef struct
3582{
3583 /*STA Index*/
3584 wpt_uint8 staIdx;
3585 /* if this is 1, self is initiator otherwise responder only*/
3586 wpt_uint8 isOffchannelInitiator;
3587 /*TDLS off channel related params */
3588 wpt_uint8 targetOperClass;
3589 wpt_uint8 targetChannel;
3590 wpt_uint8 secondaryChannelOffset;
3591 wpt_uint8 reserved[64];
3592}WDI_SetTDLSChanSwitchReqInfoType;
3593
3594typedef struct
3595{
3596 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3597 WDI_ReqStatusCb wdiReqStatusCB;
3598 void* pUserData;
3599}WDI_SetTDLSChanSwitchReqParamsType;
3600
3601
3602typedef struct
3603{
3604 /*Result of the operation*/
3605 WDI_Status wdiStatus;
3606
3607 /*STA Idx*/
3608 wpt_uint16 uStaIdx;
3609}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003610/*---------------------------------------------------------------------------
3611 WDI_SetAddSTASelfParamsType
3612---------------------------------------------------------------------------*/
3613typedef struct
3614{
3615 /*Self Station MAC address*/
3616 wpt_macAddr selfMacAddr;
3617
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003618 /*Self STA device mode*/
3619 wpt_uint32 currDeviceMode;
3620
Jeff Johnson295189b2012-06-20 16:38:30 -07003621 /*Status of the operation*/
3622 wpt_uint32 uStatus;
3623}WDI_AddSTASelfInfoType;
3624
3625/*---------------------------------------------------------------------------
3626 WDI_SetAddSTASelfParamsType
3627---------------------------------------------------------------------------*/
3628typedef struct
3629{
3630 /* Add Sta Self Req */
3631 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3632
3633 /*Request status callback offered by UMAC - it is called if the current
3634 req has returned PENDING as status; it delivers the status of sending
3635 the message over the BUS */
3636 WDI_ReqStatusCb wdiReqStatusCB;
3637
3638 /*The user data passed in by UMAC, it will be sent back when the above
3639 function pointer will be called */
3640 void* pUserData;
3641}WDI_AddSTASelfReqParamsType;
3642
3643
3644/*---------------------------------------------------------------------------
3645 WDI_AddSTASelfRspParamsType
3646---------------------------------------------------------------------------*/
3647typedef struct
3648{
3649 /*Status of the response*/
3650 WDI_Status wdiStatus;
3651
3652 /*STA Idx allocated by HAL*/
3653 wpt_uint8 ucSTASelfIdx;
3654
3655 /* DPU Index (IGTK, PTK, GTK all same) */
3656 wpt_uint8 dpuIdx;
3657
3658 /* DPU Signature */
3659 wpt_uint8 dpuSignature;
3660
3661 /*Self STA Mac*/
3662 wpt_macAddr macSelfSta;
3663
3664}WDI_AddSTASelfRspParamsType;
3665
3666/*---------------------------------------------------------------------------
3667 WDI_DelSTASelfReqParamsType
3668 Del Sta Self info passed to WDI form WDA
3669---------------------------------------------------------------------------*/
3670typedef struct
3671{
3672 wpt_macAddr selfMacAddr;
3673
3674}WDI_DelSTASelfInfoType;
3675
3676/*---------------------------------------------------------------------------
3677 WDI_DelSTASelfReqParamsType
3678 Del Sta Self info passed to WDI form WDA
3679---------------------------------------------------------------------------*/
3680typedef struct
3681{
3682 /*Del Sta Self Info Type */
3683 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3684 /*Request status callback offered by UMAC - it is called if the current req
3685 has returned PENDING as status; it delivers the status of sending the message
3686 over the BUS */
3687 WDI_ReqStatusCb wdiReqStatusCB;
3688 /*The user data passed in by UMAC, it will be sent back when the above
3689 function pointer will be called */
3690 void* pUserData;
3691}WDI_DelSTASelfReqParamsType;
3692
3693/*---------------------------------------------------------------------------
3694 WDI_DelSTASelfRspParamsType
3695---------------------------------------------------------------------------*/
3696typedef struct
3697{
3698 /*Status of the response*/
3699 WDI_Status wdiStatus;
3700
3701 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3702// wpt_uint8 ucSTAIdx;
3703}WDI_DelSTASelfRspParamsType;
3704
3705/*---------------------------------------------------------------------------
3706 WDI_UapsdInfoType
3707 UAPSD parameters passed per AC to WDA from UMAC
3708---------------------------------------------------------------------------*/
3709typedef struct
3710{
3711 wpt_uint8 ucSTAIdx; // STA index
3712 wpt_uint8 ucAc; // Access Category
3713 wpt_uint8 ucUp; // User Priority
3714 wpt_uint32 uSrvInterval; // Service Interval
3715 wpt_uint32 uSusInterval; // Suspend Interval
3716 wpt_uint32 uDelayInterval; // Delay Interval
3717} WDI_UapsdInfoType;
3718
3719/*---------------------------------------------------------------------------
3720 WDI_SetUapsdAcParamsReqParamsType
3721 UAPSD parameters passed per AC to WDI from WDA
3722---------------------------------------------------------------------------*/
3723typedef struct
3724{
3725 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3726 WDI_UapsdInfoType wdiUapsdInfo;
3727 /*Request status callback offered by UMAC - it is called if the current req
3728 has returned PENDING as status; it delivers the status of sending the message
3729 over the BUS */
3730 WDI_ReqStatusCb wdiReqStatusCB;
3731 /*The user data passed in by UMAC, it will be sent back when the above
3732 function pointer will be called */
3733 void* pUserData;
3734}WDI_SetUapsdAcParamsReqParamsType;
3735
3736/*---------------------------------------------------------------------------
3737 WDI_EnterBmpsReqinfoType
3738 Enter BMPS parameters passed to WDA from UMAC
3739---------------------------------------------------------------------------*/
3740typedef struct
3741{
3742 //TBTT value derived from the last beacon
3743 wpt_uint8 ucBssIdx;
3744 wpt_uint64 uTbtt;
3745 wpt_uint8 ucDtimCount;
3746 //DTIM period given to HAL during association may not be valid,
3747 //if association is based on ProbeRsp instead of beacon.
3748 wpt_uint8 ucDtimPeriod;
3749 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3750 DXE when DXE wakes up from power save*/
3751 unsigned int dxePhyAddr;
3752
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003753 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003754 wpt_uint32 rssiFilterPeriod;
3755 wpt_uint32 numBeaconPerRssiAverage;
3756 wpt_uint8 bRssiFilterEnable;
3757}WDI_EnterBmpsReqinfoType;
3758
3759/*---------------------------------------------------------------------------
3760 WDI_EnterBmpsReqParamsType
3761 Enter BMPS parameters passed to WDI from WDA
3762---------------------------------------------------------------------------*/
3763typedef struct
3764{
3765 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3766 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3767 /*Request status callback offered by UMAC - it is called if the current req
3768 has returned PENDING as status; it delivers the status of sending the message
3769 over the BUS */
3770 WDI_ReqStatusCb wdiReqStatusCB;
3771 /*The user data passed in by UMAC, it will be sent back when the above
3772 function pointer will be called */
3773 void* pUserData;
3774}WDI_EnterBmpsReqParamsType;
3775
3776/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303777 WDI_EnterImpsReqParamsType
3778 Enter IMPS parameters passed to WDI from WDA
3779---------------------------------------------------------------------------*/
3780typedef struct
3781{
3782 /*Request status callback offered by UMAC - it is called if the current req
3783 has returned PENDING as status; it delivers the status of sending the message
3784 over the BUS */
3785 WDI_ReqStatusCb wdiReqStatusCB;
3786 /*The user data passed in by UMAC, it will be sent back when the above
3787 function pointer will be called */
3788 void* pUserData;
3789}WDI_EnterImpsReqParamsType;
3790
3791/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003792 WDI_EnterBmpsReqParamsType
3793 Enter BMPS parameters passed from WDI to WDA
3794---------------------------------------------------------------------------*/
3795typedef struct
3796{
3797 /*Status of the response*/
3798 WDI_Status wdiStatus;
3799
3800 /*BssIDX of the session*/
3801 wpt_uint8 bssIdx;
3802}WDI_EnterBmpsRspParamsType;
3803
3804/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003805 WDI_ExitBmpsReqinfoType
3806 Exit BMPS parameters passed to WDA from UMAC
3807---------------------------------------------------------------------------*/
3808typedef struct
3809{
3810 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003811 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003812}WDI_ExitBmpsReqinfoType;
3813
3814/*---------------------------------------------------------------------------
3815 WDI_ExitBmpsReqParamsType
3816 Exit BMPS parameters passed to WDI from WDA
3817---------------------------------------------------------------------------*/
3818typedef struct
3819{
3820 /*Exit BMPS Info Type, same as tExitBmpsParams */
3821 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3822 /*Request status callback offered by UMAC - it is called if the current req
3823 has returned PENDING as status; it delivers the status of sending the message
3824 over the BUS */
3825 WDI_ReqStatusCb wdiReqStatusCB;
3826 /*The user data passed in by UMAC, it will be sent back when the above
3827 function pointer will be called */
3828 void* pUserData;
3829}WDI_ExitBmpsReqParamsType;
3830
3831/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003832 WDI_ExitBmpsReqParamsType
3833 Exit BMPS parameters passed from WDI to WDA
3834---------------------------------------------------------------------------*/
3835typedef struct
3836{
3837 /*Status of the response*/
3838 WDI_Status wdiStatus;
3839
3840 /*BssIDX of the session*/
3841 wpt_uint8 bssIdx;
3842}WDI_ExitBmpsRspParamsType;
3843
3844/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003845 WDI_EnterUapsdReqinfoType
3846 Enter UAPSD parameters passed to WDA from UMAC
3847---------------------------------------------------------------------------*/
3848typedef struct
3849{
3850 wpt_uint8 ucBkDeliveryEnabled:1;
3851 wpt_uint8 ucBeDeliveryEnabled:1;
3852 wpt_uint8 ucViDeliveryEnabled:1;
3853 wpt_uint8 ucVoDeliveryEnabled:1;
3854 wpt_uint8 ucBkTriggerEnabled:1;
3855 wpt_uint8 ucBeTriggerEnabled:1;
3856 wpt_uint8 ucViTriggerEnabled:1;
3857 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003858 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003859}WDI_EnterUapsdReqinfoType;
3860
3861/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003862 WDI_EnterUapsdRspParamsType
3863 Enter UAPSD parameters passed from WDI to WDA
3864---------------------------------------------------------------------------*/
3865typedef struct
3866{
3867 /*Status of the response*/
3868 WDI_Status wdiStatus;
3869
3870 /*BssIDX of the session*/
3871 wpt_uint8 bssIdx;
3872}WDI_EnterUapsdRspParamsType;
3873
3874/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003875 WDI_EnterUapsdReqinfoType
3876 Enter UAPSD parameters passed to WDI from WDA
3877---------------------------------------------------------------------------*/
3878typedef struct
3879{
3880 /*Enter UAPSD Info Type, same as tUapsdParams */
3881 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3882 /*Request status callback offered by UMAC - it is called if the current req
3883 has returned PENDING as status; it delivers the status of sending the message
3884 over the BUS */
3885 WDI_ReqStatusCb wdiReqStatusCB;
3886 /*The user data passed in by UMAC, it will be sent back when the above
3887 function pointer will be called */
3888 void* pUserData;
3889}WDI_EnterUapsdReqParamsType;
3890
3891/*---------------------------------------------------------------------------
3892 WDI_UpdateUapsdReqinfoType
3893 Update UAPSD parameters passed to WDA from UMAC
3894---------------------------------------------------------------------------*/
3895typedef struct
3896{
3897 wpt_uint8 ucSTAIdx;
3898 wpt_uint8 ucUapsdACMask;
3899 wpt_uint32 uMaxSpLen;
3900}WDI_UpdateUapsdReqinfoType;
3901
3902/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003903 WDI_ExitUapsdReqinfoType
3904 Exit UAPSD parameters passed to WDA from UMAC
3905---------------------------------------------------------------------------*/
3906typedef struct
3907{
3908 wpt_uint8 bssIdx;
3909}WDI_ExitUapsdReqinfoType;
3910
3911/*---------------------------------------------------------------------------
3912 WDI_ExitUapsdReqParamsType
3913 Exit UAPSD parameters passed to WDI from WDA
3914---------------------------------------------------------------------------*/
3915typedef struct
3916{
3917 /*Exit UAPSD Info Type, same as tUapsdParams */
3918 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3919 /*Request status callback offered by UMAC - it is called if the current req
3920 has returned PENDING as status; it delivers the status of sending the message
3921 over the BUS */
3922 WDI_ReqStatusCb wdiReqStatusCB;
3923 /*The user data passed in by UMAC, it will be sent back when the above
3924 function pointer will be called */
3925 void* pUserData;
3926}WDI_ExitUapsdReqParamsType;
3927
3928/*---------------------------------------------------------------------------
3929 WDI_ExitUapsdRspParamsType
3930 Exit UAPSD parameters passed from WDI to WDA
3931---------------------------------------------------------------------------*/
3932typedef struct
3933{
3934 /*Status of the response*/
3935 WDI_Status wdiStatus;
3936
3937 /*BssIDX of the session*/
3938 wpt_uint8 bssIdx;
3939}WDI_ExitUapsdRspParamsType;
3940
3941/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003942 WDI_UpdateUapsdReqParamsType
3943 Update UAPSD parameters passed to WDI form WDA
3944---------------------------------------------------------------------------*/
3945typedef struct
3946{
3947 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3948 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3949 /*Request status callback offered by UMAC - it is called if the current req
3950 has returned PENDING as status; it delivers the status of sending the message
3951 over the BUS */
3952 WDI_ReqStatusCb wdiReqStatusCB;
3953 /*The user data passed in by UMAC, it will be sent back when the above
3954 function pointer will be called */
3955 void* pUserData;
3956}WDI_UpdateUapsdReqParamsType;
3957
3958/*---------------------------------------------------------------------------
3959 WDI_ConfigureRxpFilterReqParamsType
3960 RXP filter parameters passed to WDI form WDA
3961---------------------------------------------------------------------------*/
3962typedef struct
3963{
3964 /* Mode of Mcast and Bcast filters configured */
3965 wpt_uint8 ucSetMcstBcstFilterSetting;
3966
3967 /* Mcast Bcast Filters enable/disable*/
3968 wpt_uint8 ucSetMcstBcstFilter;
3969}WDI_RxpFilterReqParamsType;
3970
3971typedef struct
3972{
3973 /* Rxp Filter */
3974 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3975
3976 /*Request status callback offered by UMAC - it is called if the current req
3977 has returned PENDING as status; it delivers the status of sending the message
3978 over the BUS */
3979 WDI_ReqStatusCb wdiReqStatusCB;
3980 /*The user data passed in by UMAC, it will be sent back when the above
3981 function pointer will be called */
3982 void* pUserData;
3983}WDI_ConfigureRxpFilterReqParamsType;
3984
3985/*---------------------------------------------------------------------------
3986 WDI_BeaconFilterInfoType
3987 Beacon Filtering data structures passed to WDA form UMAC
3988---------------------------------------------------------------------------*/
3989typedef struct
3990{
3991 wpt_uint16 usCapabilityInfo;
3992 wpt_uint16 usCapabilityMask;
3993 wpt_uint16 usBeaconInterval;
3994 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003995 wpt_uint8 bssIdx;
3996 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003997}WDI_BeaconFilterInfoType;
3998
3999/*---------------------------------------------------------------------------
4000 WDI_BeaconFilterReqParamsType
4001 Beacon Filtering parameters passed to WDI form WDA
4002---------------------------------------------------------------------------*/
4003typedef struct
4004{
4005 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4006 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4007 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4008 copy of params from WDA to WDI */
4009 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4010 /*Request status callback offered by UMAC - it is called if the current req
4011 has returned PENDING as status; it delivers the status of sending the message
4012 over the BUS */
4013 WDI_ReqStatusCb wdiReqStatusCB;
4014 /*The user data passed in by UMAC, it will be sent back when the above
4015 function pointer will be called */
4016 void* pUserData;
4017}WDI_BeaconFilterReqParamsType;
4018
4019/*---------------------------------------------------------------------------
4020 WDI_RemBeaconFilterInfoType
4021 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4022---------------------------------------------------------------------------*/
4023typedef struct
4024{
4025 wpt_uint8 ucIeCount;
4026 wpt_uint8 ucRemIeId[1];
4027}WDI_RemBeaconFilterInfoType;
4028
4029/*---------------------------------------------------------------------------
4030 WDI_RemBeaconFilterReqParamsType
4031 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4032---------------------------------------------------------------------------*/
4033typedef struct
4034{
4035 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4036 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4037 /*Request status callback offered by UMAC - it is called if the current req
4038 has returned PENDING as status; it delivers the status of sending the message
4039 over the BUS */
4040 WDI_ReqStatusCb wdiReqStatusCB;
4041 /*The user data passed in by UMAC, it will be sent back when the above
4042 function pointer will be called */
4043 void* pUserData;
4044}WDI_RemBeaconFilterReqParamsType;
4045
4046/*---------------------------------------------------------------------------
4047 WDI_RSSIThresholdsType
4048 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4049---------------------------------------------------------------------------*/
4050typedef struct
4051{
4052 wpt_int8 ucRssiThreshold1 : 8;
4053 wpt_int8 ucRssiThreshold2 : 8;
4054 wpt_int8 ucRssiThreshold3 : 8;
4055 wpt_uint8 bRssiThres1PosNotify : 1;
4056 wpt_uint8 bRssiThres1NegNotify : 1;
4057 wpt_uint8 bRssiThres2PosNotify : 1;
4058 wpt_uint8 bRssiThres2NegNotify : 1;
4059 wpt_uint8 bRssiThres3PosNotify : 1;
4060 wpt_uint8 bRssiThres3NegNotify : 1;
4061 wpt_uint8 bReserved10 : 2;
4062} WDI_RSSIThresholdsType;
4063
4064/*---------------------------------------------------------------------------
4065 WDI_SetRSSIThresholdsReqParamsType
4066 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4067---------------------------------------------------------------------------*/
4068typedef struct
4069{
4070 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4071 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4072 /*Request status callback offered by UMAC - it is called if the current req
4073 has returned PENDING as status; it delivers the status of sending the message
4074 over the BUS */
4075 WDI_ReqStatusCb wdiReqStatusCB;
4076 /*The user data passed in by UMAC, it will be sent back when the above
4077 function pointer will be called */
4078 void* pUserData;
4079}WDI_SetRSSIThresholdsReqParamsType;
4080
4081/*---------------------------------------------------------------------------
4082 WDI_HostOffloadReqType
4083 host offload info passed to WDA form UMAC
4084---------------------------------------------------------------------------*/
4085#ifdef WLAN_NS_OFFLOAD
4086typedef struct
4087{
4088 wpt_uint8 srcIPv6Addr[16];
4089 wpt_uint8 selfIPv6Addr[16];
4090 //Only support 2 possible Network Advertisement IPv6 address
4091 wpt_uint8 targetIPv6Addr1[16];
4092 wpt_uint8 targetIPv6Addr2[16];
4093 wpt_uint8 selfMacAddr[6];
4094 wpt_uint8 srcIPv6AddrValid : 1;
4095 wpt_uint8 targetIPv6Addr1Valid : 1;
4096 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304097 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004098} WDI_NSOffloadParams;
4099#endif //WLAN_NS_OFFLOAD
4100
4101typedef struct
4102{
4103 wpt_uint8 ucOffloadType;
4104 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004105 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004106 union
4107 {
4108 wpt_uint8 aHostIpv4Addr [4];
4109 wpt_uint8 aHostIpv6Addr [16];
4110 } params;
4111} WDI_HostOffloadReqType;
4112
4113/*---------------------------------------------------------------------------
4114 WDI_HostOffloadReqParamsType
4115 host offload info passed to WDI form WDA
4116---------------------------------------------------------------------------*/
4117typedef struct
4118{
4119 /*Host offload Info Type, same as tHalHostOffloadReq */
4120 WDI_HostOffloadReqType wdiHostOffloadInfo;
4121#ifdef WLAN_NS_OFFLOAD
4122 WDI_NSOffloadParams wdiNsOffloadParams;
4123#endif //WLAN_NS_OFFLOAD
4124 /*Request status callback offered by UMAC - it is called if the current req
4125 has returned PENDING as status; it delivers the status of sending the message
4126 over the BUS */
4127 WDI_ReqStatusCb wdiReqStatusCB;
4128 /*The user data passed in by UMAC, it will be sent back when the above
4129 function pointer will be called */
4130 void* pUserData;
4131}WDI_HostOffloadReqParamsType;
4132
4133/*---------------------------------------------------------------------------
4134 WDI_KeepAliveReqType
4135 Keep Alive info passed to WDA form UMAC
4136---------------------------------------------------------------------------*/
4137typedef struct
4138{
4139 wpt_uint8 ucPacketType;
4140 wpt_uint32 ucTimePeriod;
4141 wpt_uint8 aHostIpv4Addr[4];
4142 wpt_uint8 aDestIpv4Addr[4];
4143 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004144 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004145} WDI_KeepAliveReqType;
4146
4147/*---------------------------------------------------------------------------
4148 WDI_KeepAliveReqParamsType
4149 Keep Alive passed to WDI form WDA
4150---------------------------------------------------------------------------*/
4151typedef struct
4152{
4153 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4154 WDI_KeepAliveReqType wdiKeepAliveInfo;
4155 /*Request status callback offered by UMAC - it is called if the current req
4156 has returned PENDING as status; it delivers the status of sending the message
4157 over the BUS */
4158 WDI_ReqStatusCb wdiReqStatusCB;
4159 /*The user data passed in by UMAC, it will be sent back when the above
4160 function pointer will be called */
4161 void* pUserData;
4162}WDI_KeepAliveReqParamsType;
4163
4164/*---------------------------------------------------------------------------
4165 WDI_WowlAddBcPtrnInfoType
4166 Wowl add ptrn info passed to WDA form UMAC
4167---------------------------------------------------------------------------*/
4168typedef struct
4169{
4170 wpt_uint8 ucPatternId; // Pattern ID
4171 // Pattern byte offset from beginning of the 802.11 packet to start of the
4172 // wake-up pattern
4173 wpt_uint8 ucPatternByteOffset;
4174 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4175 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4176 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4177 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4178 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4179 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004180 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004181} WDI_WowlAddBcPtrnInfoType;
4182
4183/*---------------------------------------------------------------------------
4184 WDI_WowlAddBcPtrnReqParamsType
4185 Wowl add ptrn info passed to WDI form WDA
4186---------------------------------------------------------------------------*/
4187typedef struct
4188{
4189 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4190 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4191 /*Request status callback offered by UMAC - it is called if the current req
4192 has returned PENDING as status; it delivers the status of sending the message
4193 over the BUS */
4194 WDI_ReqStatusCb wdiReqStatusCB;
4195 /*The user data passed in by UMAC, it will be sent back when the above
4196 function pointer will be called */
4197 void* pUserData;
4198}WDI_WowlAddBcPtrnReqParamsType;
4199
4200/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004201 WDI_WowlAddBcPtrnRspParamsType
4202 Wowl add ptrn info passed from WDI to WDA
4203---------------------------------------------------------------------------*/
4204typedef struct
4205{
4206 /*Status of the response*/
4207 WDI_Status wdiStatus;
4208 /*BssIDX of the session*/
4209 wpt_uint8 bssIdx;
4210}WDI_WowlAddBcPtrnRspParamsType;
4211
4212/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004213 WDI_WowlDelBcPtrnInfoType
4214 Wowl add ptrn info passed to WDA form UMAC
4215---------------------------------------------------------------------------*/
4216typedef struct
4217{
4218 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004219 wpt_uint8 ucPatternId;
4220 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004221} WDI_WowlDelBcPtrnInfoType;
4222
4223/*---------------------------------------------------------------------------
4224 WDI_WowlDelBcPtrnReqParamsType
4225 Wowl add ptrn info passed to WDI form WDA
4226---------------------------------------------------------------------------*/
4227typedef struct
4228{
4229 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4230 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4231 /*Request status callback offered by UMAC - it is called if the current req
4232 has returned PENDING as status; it delivers the status of sending the message
4233 over the BUS */
4234 WDI_ReqStatusCb wdiReqStatusCB;
4235 /*The user data passed in by UMAC, it will be sent back when the above
4236 function pointer will be called */
4237 void* pUserData;
4238}WDI_WowlDelBcPtrnReqParamsType;
4239
4240/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004241 WDI_WowlDelBcPtrnRspParamsType
4242 Wowl Del ptrn info passed from WDI to WDA
4243---------------------------------------------------------------------------*/
4244typedef struct
4245{
4246 /*Status of the response*/
4247 WDI_Status wdiStatus;
4248 /*BssIDX of the session*/
4249 wpt_uint8 bssIdx;
4250}WDI_WowlDelBcPtrnRspParamsType;
4251
4252/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004253 WDI_WowlEnterInfoType
4254 Wowl enter info passed to WDA form UMAC
4255---------------------------------------------------------------------------*/
4256typedef struct
4257{
4258 /* Enables/disables magic packet filtering */
4259 wpt_uint8 ucMagicPktEnable;
4260
4261 /* Magic pattern */
4262 wpt_macAddr magicPtrn;
4263
4264 /* Enables/disables packet pattern filtering in firmware.
4265 Enabling this flag enables broadcast pattern matching
4266 in Firmware. If unicast pattern matching is also desired,
4267 ucUcastPatternFilteringEnable flag must be set tot true
4268 as well
4269 */
4270 wpt_uint8 ucPatternFilteringEnable;
4271
4272 /* Enables/disables unicast packet pattern filtering.
4273 This flag specifies whether we want to do pattern match
4274 on unicast packets as well and not just broadcast packets.
4275 This flag has no effect if the ucPatternFilteringEnable
4276 (main controlling flag) is set to false
4277 */
4278 wpt_uint8 ucUcastPatternFilteringEnable;
4279
4280 /* This configuration is valid only when magicPktEnable=1.
4281 * It requests hardware to wake up when it receives the
4282 * Channel Switch Action Frame.
4283 */
4284 wpt_uint8 ucWowChnlSwitchRcv;
4285
4286 /* This configuration is valid only when magicPktEnable=1.
4287 * It requests hardware to wake up when it receives the
4288 * Deauthentication Frame.
4289 */
4290 wpt_uint8 ucWowDeauthRcv;
4291
4292 /* This configuration is valid only when magicPktEnable=1.
4293 * It requests hardware to wake up when it receives the
4294 * Disassociation Frame.
4295 */
4296 wpt_uint8 ucWowDisassocRcv;
4297
4298 /* This configuration is valid only when magicPktEnable=1.
4299 * It requests hardware to wake up when it has missed
4300 * consecutive beacons. This is a hardware register
4301 * configuration (NOT a firmware configuration).
4302 */
4303 wpt_uint8 ucWowMaxMissedBeacons;
4304
4305 /* This configuration is valid only when magicPktEnable=1.
4306 * This is a timeout value in units of microsec. It requests
4307 * hardware to unconditionally wake up after it has stayed
4308 * in WoWLAN mode for some time. Set 0 to disable this feature.
4309 */
4310 wpt_uint8 ucWowMaxSleepUsec;
4311
4312#ifdef WLAN_WAKEUP_EVENTS
4313 /* This configuration directs the WoW packet filtering to look for EAP-ID
4314 * requests embedded in EAPOL frames and use this as a wake source.
4315 */
4316 wpt_uint8 ucWoWEAPIDRequestEnable;
4317
4318 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4319 * requests and use this as a wake source.
4320 */
4321 wpt_uint8 ucWoWEAPOL4WayEnable;
4322
4323 /* This configuration allows a host wakeup on an network scan offload match.
4324 */
4325 wpt_uint8 ucWowNetScanOffloadMatch;
4326
4327 /* This configuration allows a host wakeup on any GTK rekeying error.
4328 */
4329 wpt_uint8 ucWowGTKRekeyError;
4330
4331 /* This configuration allows a host wakeup on BSS connection loss.
4332 */
4333 wpt_uint8 ucWoWBSSConnLoss;
4334#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004335
4336 /* BSSIDX used to find the current session
4337 */
4338 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004339} WDI_WowlEnterInfoType;
4340
4341/*---------------------------------------------------------------------------
4342 WDI_WowlEnterReqParamsType
4343 Wowl enter info passed to WDI form WDA
4344---------------------------------------------------------------------------*/
4345typedef struct
4346{
4347 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4348 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4349 /*Request status callback offered by UMAC - it is called if the current req
4350 has returned PENDING as status; it delivers the status of sending the message
4351 over the BUS */
4352 WDI_ReqStatusCb wdiReqStatusCB;
4353 /*The user data passed in by UMAC, it will be sent back when the above
4354 function pointer will be called */
4355 void* pUserData;
4356}WDI_WowlEnterReqParamsType;
4357
4358/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004359 WDI_WowlEnterRsqParamsType
4360 Wowl enter info passed from WDI to WDA
4361---------------------------------------------------------------------------*/
4362typedef struct
4363{
4364 /*Status of the response message*/
4365 WDI_Status status;
4366
4367 /* BSSIDX used to find the current session
4368 */
4369 wpt_uint8 bssIdx;
4370}WDI_WowlEnterRspParamsType;
4371
4372/*---------------------------------------------------------------------------
4373 WDI_WowlExitInfoType
4374 Wowl exit info passed to WDA form UMAC
4375 ---------------------------------------------------------------------------*/
4376typedef struct
4377{
4378 /* BSSIDX used to find the current session
4379 */
4380 wpt_uint8 bssIdx;
4381} WDI_WowlExitInfoType;
4382
4383/*---------------------------------------------------------------------------
4384 WDI_WowlExitReqParamsType
4385 Wowl exit info passed to WDI form WDA
4386---------------------------------------------------------------------------*/
4387typedef struct
4388{
4389 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4390 WDI_WowlExitInfoType wdiWowlExitInfo;
4391 /*Request status callback offered by UMAC - it is called if the current req
4392 has returned PENDING as status; it delivers the status of sending the message
4393 over the BUS */
4394 WDI_ReqStatusCb wdiReqStatusCB;
4395 /*The user data passed in by UMAC, it will be sent back when the above
4396 function pointer will be called */
4397 void* pUserData;
4398}WDI_WowlExitReqParamsType;
4399
4400/*---------------------------------------------------------------------------
4401 WDI_WowlExitRspParamsType
4402 Wowl exit info passed from WDI to WDA
4403---------------------------------------------------------------------------*/
4404typedef struct
4405{
4406 /*Status of the response message*/
4407 WDI_Status status;
4408
4409 /* BSSIDX used to find the current session
4410 */
4411 wpt_uint8 bssIdx;
4412}WDI_WowlExitRspParamsType;
4413
4414/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004415 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4416 Apps Cpu Wakeup State parameters passed to WDI form WDA
4417---------------------------------------------------------------------------*/
4418typedef struct
4419{
4420 /*Depicts the state of the Apps CPU */
4421 wpt_boolean bIsAppsAwake;
4422 /*Request status callback offered by UMAC - it is called if the current req
4423 has returned PENDING as status; it delivers the status of sending the message
4424 over the BUS */
4425 WDI_ReqStatusCb wdiReqStatusCB;
4426 /*The user data passed in by UMAC, it will be sent back when the above
4427 function pointer will be called */
4428 void* pUserData;
4429}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4430/*---------------------------------------------------------------------------
4431 WDI_FlushAcReqinfoType
4432---------------------------------------------------------------------------*/
4433typedef struct
4434{
4435 // Message Type
4436 wpt_uint16 usMesgType;
4437
4438 // Message Length
4439 wpt_uint16 usMesgLen;
4440
4441 // Station Index. originates from HAL
4442 wpt_uint8 ucSTAId;
4443
4444 // TID for which the transmit queue is being flushed
4445 wpt_uint8 ucTid;
4446
4447}WDI_FlushAcReqinfoType;
4448
4449/*---------------------------------------------------------------------------
4450 WDI_FlushAcReqParamsType
4451---------------------------------------------------------------------------*/
4452typedef struct
4453{
4454 /*AC Info */
4455 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4456
4457 /*Request status callback offered by UMAC - it is called if the current
4458 req has returned PENDING as status; it delivers the status of sending
4459 the message over the BUS */
4460 WDI_ReqStatusCb wdiReqStatusCB;
4461
4462 /*The user data passed in by UMAC, it will be sent back when the above
4463 function pointer will be called */
4464 void* pUserData;
4465}WDI_FlushAcReqParamsType;
4466
4467/*---------------------------------------------------------------------------
4468 WDI_BtAmpEventinfoType
4469 BT-AMP Event Structure
4470---------------------------------------------------------------------------*/
4471typedef struct
4472{
4473 wpt_uint8 ucBtAmpEventType;
4474
4475} WDI_BtAmpEventinfoType;
4476
4477/*---------------------------------------------------------------------------
4478 WDI_BtAmpEventParamsType
4479---------------------------------------------------------------------------*/
4480typedef struct
4481{
4482 /*BT AMP event Info */
4483 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4484
4485 /*Request status callback offered by UMAC - it is called if the current
4486 req has returned PENDING as status; it delivers the status of sending
4487 the message over the BUS */
4488 WDI_ReqStatusCb wdiReqStatusCB;
4489
4490 /*The user data passed in by UMAC, it will be sent back when the above
4491 function pointer will be called */
4492 void* pUserData;
4493}WDI_BtAmpEventParamsType;
4494
Jeff Johnsone7245742012-09-05 17:12:55 -07004495#ifdef FEATURE_OEM_DATA_SUPPORT
4496
4497#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004498#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004499#endif
4500#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004501#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004502#endif
4503
4504/*----------------------------------------------------------------------------
4505 WDI_oemDataReqInfoType
4506----------------------------------------------------------------------------*/
4507typedef struct
4508{
4509 wpt_macAddr selfMacAddr;
4510 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4511}WDI_oemDataReqInfoType;
4512
4513/*----------------------------------------------------------------------------
4514 WDI_oemDataReqParamsType
4515----------------------------------------------------------------------------*/
4516typedef struct
4517{
4518 /*Request status callback offered by UMAC - it is called if the current
4519 req has returned PENDING as status; it delivers the status of sending
4520 the message over the BUS */
4521 WDI_ReqStatusCb wdiReqStatusCB;
4522
4523 /*The user data passed in by UMAC, it will be sent back when the above
4524 function pointer will be called */
4525 void* pUserData;
4526
4527 /*OEM DATA REQ Info */
4528 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4529
4530}WDI_oemDataReqParamsType;
4531
4532/*----------------------------------------------------------------------------
4533 WDI_oemDataRspParamsType
4534----------------------------------------------------------------------------*/
4535typedef struct
4536{
4537 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4538}WDI_oemDataRspParamsType;
4539
4540#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004541
4542#ifdef WLAN_FEATURE_VOWIFI_11R
4543/*---------------------------------------------------------------------------
4544 WDI_AggrAddTSReqInfoType
4545---------------------------------------------------------------------------*/
4546typedef struct
4547{
4548 /*STA Index*/
4549 wpt_uint8 ucSTAIdx;
4550
4551 /*Identifier for TSpec*/
4552 wpt_uint8 ucTspecIdx;
4553
4554 /*Tspec IE negotiated OTA*/
4555 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4556
4557 /*UAPSD delivery and trigger enabled flags */
4558 wpt_uint8 ucUapsdFlags;
4559
4560 /*SI for each AC*/
4561 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4562
4563 /*Suspend Interval for each AC*/
4564 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4565
4566 /*DI for each AC*/
4567 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4568
4569}WDI_AggrAddTSReqInfoType;
4570
4571
4572/*---------------------------------------------------------------------------
4573 WDI_AggrAddTSReqParamsType
4574---------------------------------------------------------------------------*/
4575typedef struct
4576{
4577 /*TSpec Info */
4578 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4579
4580 /*Request status callback offered by UMAC - it is called if the current
4581 req has returned PENDING as status; it delivers the status of sending
4582 the message over the BUS */
4583 WDI_ReqStatusCb wdiReqStatusCB;
4584
4585 /*The user data passed in by UMAC, it will be sent back when the above
4586 function pointer will be called */
4587 void* pUserData;
4588}WDI_AggrAddTSReqParamsType;
4589
4590#endif /* WLAN_FEATURE_VOWIFI_11R */
4591
Jeff Johnson295189b2012-06-20 16:38:30 -07004592/*---------------------------------------------------------------------------
4593 WDI_FTMCommandReqType
4594---------------------------------------------------------------------------*/
4595typedef struct
4596{
4597 /* FTM Command Body length */
4598 wpt_uint32 bodyLength;
4599 /* Actual FTM Command body */
4600 void *FTMCommandBody;
4601}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004602
4603/*---------------------------------------------------------------------------
4604 WDI_WlanSuspendInfoType
4605---------------------------------------------------------------------------*/
4606typedef struct
4607{
4608 /* Mode of Mcast and Bcast filters configured */
4609 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4610}WDI_WlanSuspendInfoType;
4611
4612/*---------------------------------------------------------------------------
4613 WDI_SuspendParamsType
4614---------------------------------------------------------------------------*/
4615typedef struct
4616{
4617 WDI_WlanSuspendInfoType wdiSuspendParams;
4618
4619 /*Request status callback offered by UMAC - it is called if the current
4620 req has returned PENDING as status; it delivers the status of sending
4621 the message over the BUS */
4622 WDI_ReqStatusCb wdiReqStatusCB;
4623
4624 /*The user data passed in by UMAC, it will be sent back when the above
4625 function pointer will be called */
4626 void* pUserData;
4627
4628}WDI_SuspendParamsType;
4629
4630/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004631 WDI_TrafficStatsType - This is collected for each STA
4632---------------------------------------------------------------------------*/
4633
4634typedef struct
4635{
4636 /* TX stats */
4637 wpt_uint32 txBytesPushed;
4638 wpt_uint32 txPacketsPushed;
4639
4640 /* RX stats */
4641 wpt_uint32 rxBytesRcvd;
4642 wpt_uint32 rxPacketsRcvd;
4643 wpt_uint32 rxTimeTotal;
4644}WDI_TrafficStatsType;
4645
4646typedef struct
4647{
4648 WDI_TrafficStatsType *pTrafficStats;
4649 wpt_uint32 length;
4650 wpt_uint32 duration;
4651
4652 /*Request status callback offered by UMAC - it is called if the current
4653 req has returned PENDING as status; it delivers the status of sending
4654 the message over the BUS */
4655 WDI_ReqStatusCb wdiReqStatusCB;
4656
4657 /*The user data passed in by UMAC, it will be sent back when the above
4658 function pointer will be called */
4659 void* pUserData;
4660}WDI_TrafficStatsIndType;
4661
Chet Lanctot186b5732013-03-18 10:26:30 -07004662#ifdef WLAN_FEATURE_11W
4663typedef struct
4664{
4665
4666 wpt_boolean bExcludeUnencrypt;
4667 wpt_macAddr bssid;
4668 /*Request status callback offered by UMAC - it is called if the current
4669 req has returned PENDING as status; it delivers the status of sending
4670 the message over the BUS */
4671 WDI_ReqStatusCb wdiReqStatusCB;
4672
4673 /*The user data passed in by UMAC, it will be sent back when the above
4674 function pointer will be called */
4675 void* pUserData;
4676}WDI_ExcludeUnencryptIndType;
4677#endif
4678
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004679/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004680 WDI_WlanResumeInfoType
4681---------------------------------------------------------------------------*/
4682typedef struct
4683{
4684 /* Mode of Mcast and Bcast filters configured */
4685 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4686}WDI_WlanResumeInfoType;
4687
4688/*---------------------------------------------------------------------------
4689 WDI_ResumeParamsType
4690---------------------------------------------------------------------------*/
4691typedef struct
4692{
4693 WDI_WlanResumeInfoType wdiResumeParams;
4694
4695 /*Request status callback offered by UMAC - it is called if the current
4696 req has returned PENDING as status; it delivers the status of sending
4697 the message over the BUS */
4698 WDI_ReqStatusCb wdiReqStatusCB;
4699
4700 /*The user data passed in by UMAC, it will be sent back when the above
4701 function pointer will be called */
4702 void* pUserData;
4703
4704}WDI_ResumeParamsType;
4705
4706#ifdef WLAN_FEATURE_GTK_OFFLOAD
4707/*---------------------------------------------------------------------------
4708 * WDI_GTK_OFFLOAD_REQ
4709 *--------------------------------------------------------------------------*/
4710
4711typedef struct
4712{
4713 wpt_uint32 ulFlags; /* optional flags */
4714 wpt_uint8 aKCK[16]; /* Key confirmation key */
4715 wpt_uint8 aKEK[16]; /* key encryption key */
4716 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004717 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004718} WDI_GtkOffloadReqParams;
4719
4720typedef struct
4721{
4722 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4723
4724 /*Request status callback offered by UMAC - it is called if the current
4725 req has returned PENDING as status; it delivers the status of sending
4726 the message over the BUS */
4727 WDI_ReqStatusCb wdiReqStatusCB;
4728
4729 /*The user data passed in by UMAC, it will be sent back when the above
4730 function pointer will be called */
4731 void* pUserData;
4732} WDI_GtkOffloadReqMsg;
4733
4734/*---------------------------------------------------------------------------
4735 * WDI_GTK_OFFLOAD_RSP
4736 *--------------------------------------------------------------------------*/
4737typedef struct
4738{
4739 /* success or failure */
4740 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004741 /*BssIdx of the response */
4742 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004743} WDI_GtkOffloadRspParams;
4744
4745typedef struct
4746{
4747 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4748
4749 /*Request status callback offered by UMAC - it is called if the current
4750 req has returned PENDING as status; it delivers the status of sending
4751 the message over the BUS */
4752 WDI_ReqStatusCb wdiReqStatusCB;
4753
4754 /*The user data passed in by UMAC, it will be sent back when the above
4755 function pointer will be called */
4756 void* pUserData;
4757} WDI_GtkOffloadRspMsg;
4758
4759
4760/*---------------------------------------------------------------------------
4761* WDI_GTK_OFFLOAD_GETINFO_REQ
4762*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004763typedef struct
4764{
4765 /*BssIdx of the response */
4766 wpt_macAddr bssId;
4767} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004768
4769typedef struct
4770{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004771
4772 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004773 /*Request status callback offered by UMAC - it is called if the current
4774 req has returned PENDING as status; it delivers the status of sending
4775 the message over the BUS */
4776 WDI_ReqStatusCb wdiReqStatusCB;
4777
4778 /*The user data passed in by UMAC, it will be sent back when the above
4779 function pointer will be called */
4780 void* pUserData;
4781} WDI_GtkOffloadGetInfoReqMsg;
4782
4783/*---------------------------------------------------------------------------
4784* WDI_GTK_OFFLOAD_GETINFO_RSP
4785*--------------------------------------------------------------------------*/
4786typedef struct
4787{
4788 wpt_uint32 ulStatus; /* success or failure */
4789 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4790 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4791 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4792 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304793 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004794} WDI_GtkOffloadGetInfoRspParams;
4795
4796typedef struct
4797{
4798 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4799
4800 /*Request status callback offered by UMAC - it is called if the current
4801 req has returned PENDING as status; it delivers the status of sending
4802 the message over the BUS */
4803 WDI_ReqStatusCb wdiReqStatusCB;
4804
4805 /*The user data passed in by UMAC, it will be sent back when the above
4806 function pointer will be called */
4807 void* pUserData;
4808} WDI_GtkOffloadGetInfoRspMsg;
4809#endif // WLAN_FEATURE_GTK_OFFLOAD
4810
4811/*---------------------------------------------------------------------------
4812 WDI_SuspendResumeRspParamsType
4813---------------------------------------------------------------------------*/
4814typedef struct
4815{
4816 /*Status of the response*/
4817 WDI_Status wdiStatus;
4818}WDI_SuspendResumeRspParamsType;
4819
Leo Chang9056f462013-08-01 19:21:11 -07004820#ifdef FEATURE_WLAN_LPHB
4821/*---------------------------------------------------------------------------
4822 WDI Low Power Heart Beat Config request
4823 Copy from sirApi.h to avoid compile error
4824---------------------------------------------------------------------------*/
4825#define WDI_LPHB_FILTER_LEN 64
4826
4827typedef enum
4828{
4829 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4830 WDI_LPHB_SET_TCP_PARAMS_INDID,
4831 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4832 WDI_LPHB_SET_UDP_PARAMS_INDID,
4833 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4834 WDI_LPHB_SET_NETWORK_INFO_INDID,
4835} WDI_LPHBIndType;
4836
4837typedef struct
4838{
4839 wpt_uint8 enable;
4840 wpt_uint8 item;
4841 wpt_uint8 session;
4842} WDI_LPHBEnableStruct;
4843
4844typedef struct
4845{
4846 wpt_uint32 srv_ip;
4847 wpt_uint32 dev_ip;
4848 wpt_uint16 src_port;
4849 wpt_uint16 dst_port;
4850 wpt_uint16 timeout;
4851 wpt_uint8 session;
4852 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004853 wpt_uint16 timePeriodSec; // in seconds
4854 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004855} WDI_LPHBTcpParamStruct;
4856
4857typedef struct
4858{
4859 wpt_uint16 length;
4860 wpt_uint8 offset;
4861 wpt_uint8 session;
4862 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4863} WDI_LPHBTcpFilterStruct;
4864
4865typedef struct
4866{
4867 wpt_uint32 srv_ip;
4868 wpt_uint32 dev_ip;
4869 wpt_uint16 src_port;
4870 wpt_uint16 dst_port;
4871 wpt_uint16 interval;
4872 wpt_uint16 timeout;
4873 wpt_uint8 session;
4874 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4875} WDI_LPHBUdpParamStruct;
4876
4877typedef struct
4878{
4879 wpt_uint16 length;
4880 wpt_uint8 offset;
4881 wpt_uint8 session;
4882 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4883} WDI_LPHBUdpFilterStruct;
4884
4885typedef struct
4886{
4887 wpt_uint16 cmd;
4888 wpt_uint16 dummy;
4889 union
4890 {
4891 WDI_LPHBEnableStruct lphbEnableReq;
4892 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4893 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4894 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4895 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4896 } params;
4897} WDI_LPHBReq;
4898#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004899
Jeff Johnson295189b2012-06-20 16:38:30 -07004900/*---------------------------------------------------------------------------
4901 WDI_AuthType
4902---------------------------------------------------------------------------*/
4903typedef enum
4904{
4905 WDI_AUTH_TYPE_ANY = 0,
4906
4907 WDI_AUTH_TYPE_NONE,
4908 WDI_AUTH_TYPE_OPEN_SYSTEM,
4909 WDI_AUTH_TYPE_SHARED_KEY,
4910
4911 WDI_AUTH_TYPE_WPA,
4912 WDI_AUTH_TYPE_WPA_PSK,
4913 WDI_AUTH_TYPE_WPA_NONE,
4914
4915 WDI_AUTH_TYPE_RSN,
4916 WDI_AUTH_TYPE_RSN_PSK,
4917 WDI_AUTH_TYPE_FT_RSN,
4918 WDI_AUTH_TYPE_FT_RSN_PSK,
4919 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4920 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4921 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4922
4923}WDI_AuthType;
4924
4925/*---------------------------------------------------------------------------
4926 WDI_EdType
4927---------------------------------------------------------------------------*/
4928typedef enum
4929{
4930 WDI_ED_ANY = 0,
4931 WDI_ED_NONE,
4932 WDI_ED_WEP40,
4933 WDI_ED_WEP104,
4934 WDI_ED_TKIP,
4935 WDI_ED_CCMP,
4936 WDI_ED_WPI,
4937 WDI_ED_AES_128_CMAC,
4938 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4939} WDI_EdType;
4940
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004941#ifdef FEATURE_WLAN_SCAN_PNO
4942
4943/*Max number of channels for a given network supported by PNO*/
4944#define WDI_PNO_MAX_NETW_CHANNELS 26
4945
4946/*Max number of channels for a given network supported by PNO*/
4947#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4948
4949/*The max number of programable networks for PNO*/
4950#define WDI_PNO_MAX_SUPP_NETWORKS 16
4951
4952/*The max number of scan timers programable in Riva*/
4953#define WDI_PNO_MAX_SCAN_TIMERS 10
4954
4955#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004956
4957/*---------------------------------------------------------------------------
4958 WDI_PNOMode
4959---------------------------------------------------------------------------*/
4960typedef enum
4961{
4962 /*Network offload is to start immediately*/
4963 WDI_PNO_MODE_IMMEDIATE,
4964
4965 /*Network offload is to start on host suspend*/
4966 WDI_PNO_MODE_ON_SUSPEND,
4967
4968 /*Network offload is to start on host resume*/
4969 WDI_PNO_MODE_ON_RESUME,
4970 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4971} WDI_PNOMode;
4972
4973/* SSID broadcast type */
4974typedef enum
4975{
4976 WDI_BCAST_UNKNOWN = 0,
4977 WDI_BCAST_NORMAL = 1,
4978 WDI_BCAST_HIDDEN = 2,
4979
4980 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4981} WDI_SSIDBcastType;
4982
4983/*---------------------------------------------------------------------------
4984 WDI_NetworkType
4985---------------------------------------------------------------------------*/
4986typedef struct
4987{
4988 /*The SSID of the preferred network*/
4989 WDI_MacSSid ssId;
4990
4991 /*The authentication method of the preferred network*/
4992 WDI_AuthType wdiAuth;
4993
4994 /*The encryption method of the preferred network*/
4995 WDI_EdType wdiEncryption;
4996
4997 /*SSID broadcast type, normal, hidden or unknown*/
4998 WDI_SSIDBcastType wdiBcastNetworkType;
4999
5000 /*channel count - 0 for all channels*/
5001 wpt_uint8 ucChannelCount;
5002
5003 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305004 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005005
5006 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5007 wpt_uint8 rssiThreshold;
5008} WDI_NetworkType;
5009
5010
5011/*---------------------------------------------------------------------------
5012 WDI_ScanTimer
5013---------------------------------------------------------------------------*/
5014typedef struct
5015{
5016 /*The timer value*/
5017 wpt_uint32 uTimerValue;
5018
5019 /*The amount of time we should be repeating the interval*/
5020 wpt_uint32 uTimerRepeat;
5021} WDI_ScanTimer;
5022
5023/*---------------------------------------------------------------------------
5024 WDI_ScanTimersType
5025---------------------------------------------------------------------------*/
5026typedef struct
5027{
5028 /*The number of value pair intervals present in the array*/
5029 wpt_uint8 ucScanTimersCount;
5030
5031 /*The time-repeat value pairs*/
5032 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5033} WDI_ScanTimersType;
5034
5035/*---------------------------------------------------------------------------
5036 WDI_PNOScanReqType
5037---------------------------------------------------------------------------*/
5038typedef struct
5039{
5040 /*Enable or disable PNO feature*/
5041 wpt_uint8 bEnable;
5042
5043 /*PNO mode requested*/
5044 WDI_PNOMode wdiModePNO;
5045
5046 /*Network count*/
5047 wpt_uint8 ucNetworksCount;
5048
5049 /*The networks to look for*/
5050 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5051
5052 /*Scan timer intervals*/
5053 WDI_ScanTimersType scanTimers;
5054
5055 /*Probe template for 2.4GHz band*/
5056 wpt_uint16 us24GProbeSize;
5057 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5058
5059 /*Probe template for 5GHz band*/
5060 wpt_uint16 us5GProbeSize;
5061 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5062} WDI_PNOScanReqType;
5063
5064/*---------------------------------------------------------------------------
5065 WDI_PNOScanReqParamsType
5066 PNO info passed to WDI form WDA
5067---------------------------------------------------------------------------*/
5068typedef struct
5069{
5070 /* PNO Info Type, same as tPrefNetwListParams */
5071 WDI_PNOScanReqType wdiPNOScanInfo;
5072 /* Request status callback offered by UMAC - it is called if the current req
5073 has returned PENDING as status; it delivers the status of sending the message
5074 over the BUS */
5075 WDI_ReqStatusCb wdiReqStatusCB;
5076 /* The user data passed in by UMAC, it will be sent back when the above
5077 function pointer will be called */
5078 void* pUserData;
5079} WDI_PNOScanReqParamsType;
5080
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005081/*---------------------------------------------------------------------------
5082 WDI_SetRssiFilterReqParamsType
5083 PNO info passed to WDI form WDA
5084---------------------------------------------------------------------------*/
5085typedef struct
5086{
5087 /* RSSI Threshold */
5088 wpt_uint8 rssiThreshold;
5089 /* Request status callback offered by UMAC - it is called if the current req
5090 has returned PENDING as status; it delivers the status of sending the message
5091 over the BUS */
5092 WDI_ReqStatusCb wdiReqStatusCB;
5093 /* The user data passed in by UMAC, it will be sent back when the above
5094 function pointer will be called */
5095 void* pUserData;
5096} WDI_SetRssiFilterReqParamsType;
5097
5098/*---------------------------------------------------------------------------
5099 WDI_UpdateScanParamsInfo
5100---------------------------------------------------------------------------*/
5101typedef struct
5102{
5103 /*Is 11d enabled*/
5104 wpt_uint8 b11dEnabled;
5105
5106 /*Was UMAc able to find the regulatory domain*/
5107 wpt_uint8 b11dResolved;
5108
5109 /*Number of channel allowed in the regulatory domain*/
5110 wpt_uint8 ucChannelCount;
5111
5112 /*The actual channels allowed in the regulatory domain*/
5113 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5114
5115 /*Passive min channel time*/
5116 wpt_uint16 usPassiveMinChTime;
5117
5118 /*Passive max channel time*/
5119 wpt_uint16 usPassiveMaxChTime;
5120
5121 /*Active min channel time*/
5122 wpt_uint16 usActiveMinChTime;
5123
5124 /*Active max channel time*/
5125 wpt_uint16 usActiveMaxChTime;
5126
5127 /*channel bonding info*/
5128 wpt_uint8 cbState;
5129} WDI_UpdateScanParamsInfo;
5130
5131/*---------------------------------------------------------------------------
5132 WDI_UpdateScanParamsInfoType
5133 UpdateScanParams info passed to WDI form WDA
5134---------------------------------------------------------------------------*/
5135typedef struct
5136{
5137 /* PNO Info Type, same as tUpdateScanParams */
5138 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5139 /* Request status callback offered by UMAC - it is called if the current req
5140 has returned PENDING as status; it delivers the status of sending the message
5141 over the BUS */
5142 WDI_ReqStatusCb wdiReqStatusCB;
5143 /* The user data passed in by UMAC, it will be sent back when the above
5144 function pointer will be called */
5145 void* pUserData;
5146} WDI_UpdateScanParamsInfoType;
5147#endif //FEATURE_WLAN_SCAN_PNO
5148
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005149#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5150
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005151#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005152#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005153
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005154typedef struct
5155{
5156 /*The SSID of the preferred network*/
5157 WDI_MacSSid ssId;
5158 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5159
5160 /*The authentication method of the preferred network*/
5161 WDI_AuthType authentication;
5162
5163 /*The encryption method of the preferred network*/
5164 WDI_EdType encryption;
5165 WDI_EdType mcencryption;
5166
5167 /*SSID broadcast type, normal, hidden or unknown*/
5168 //WDI_SSIDBcastType wdiBcastNetworkType;
5169
5170 /*channel count - 0 for all channels*/
5171 wpt_uint8 ChannelCount;
5172
5173 /*the actual channels*/
5174 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5175
5176} WDI_RoamNetworkType;
5177
5178typedef struct WDIMobilityDomainInfo
5179{
5180 wpt_uint8 mdiePresent;
5181 wpt_uint16 mobilityDomain;
5182} WDI_MobilityDomainInfo;
5183
5184/*---------------------------------------------------------------------------
5185 WDI_RoamOffloadScanInfo
5186---------------------------------------------------------------------------*/
5187typedef struct
5188{
5189 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005190 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005191 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005192 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005193 wpt_uint8 RoamRssiDiff;
5194 wpt_uint8 ChannelCacheType;
5195 wpt_uint8 Command;
5196 wpt_uint8 StartScanReason;
5197 wpt_uint16 NeighborScanTimerPeriod;
5198 wpt_uint16 NeighborRoamScanRefreshPeriod;
5199 wpt_uint16 NeighborScanChannelMinTime;
5200 wpt_uint16 NeighborScanChannelMaxTime;
5201 wpt_uint16 EmptyRefreshScanPeriod;
5202 wpt_uint8 ValidChannelCount;
5203 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005204 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005205 /*Probe template for 2.4GHz band*/
5206 wpt_uint16 us24GProbeSize;
5207 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5208
5209 /*Probe template for 5GHz band*/
5210 wpt_uint16 us5GProbeSize;
5211 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005212 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005213 * As per requirement, later, the following structure can be used as an array of networks.*/
5214 WDI_RoamNetworkType ConnectedNetwork;
5215 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005216 wpt_uint8 nProbes;
5217 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005218} WDI_RoamOffloadScanInfo;
5219
5220typedef struct
5221{
5222 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5223 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5224 /* Request status callback offered by UMAC - it is called if the current req
5225 has returned PENDING as status; it delivers the status of sending the message
5226 over the BUS */
5227 WDI_ReqStatusCb wdiReqStatusCB;
5228 /* The user data passed in by UMAC, it will be sent back when the above
5229 function pointer will be called */
5230 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005231} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005232#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005233
5234/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305235 WDI_HT40ObssScanIndType
5236---------------------------------------------------------------------------*/
5237typedef struct
5238{
5239 wpt_uint8 cmdType;
5240 wpt_uint8 scanType;
5241 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5242 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5243 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5244 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5245 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5246 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5247 wpt_uint16 OBSSScanActivityThreshold;
5248 wpt_uint8 selfStaIdx;
5249 wpt_uint8 bssIdx;
5250 wpt_uint8 fortyMHZIntolerent;
5251 wpt_uint8 channelCount;
5252 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5253 wpt_uint8 currentOperatingClass;
5254 wpt_uint16 ieFieldLen;
5255 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5256} WDI_HT40ObssScanIndType;
5257
5258
5259/*---------------------------------------------------------------------------
5260 WDI_OBSSScanIndParamsType
5261---------------------------------------------------------------------------*/
5262typedef struct
5263{
5264 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5265
5266 /*Request status callback offered by UMAC - it is called if the current
5267 req has returned PENDING as status; it delivers the status of sending
5268 the message over the BUS */
5269 WDI_ReqStatusCb wdiReqStatusCB;
5270
5271 /*The user data passed in by UMAC, it will be sent back when the above
5272 function pointer will be called */
5273 void* pUserData;
5274
5275}WDI_HT40ObssScanParamsType;
5276
5277/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005278 WDI_UpdateScanParamsInfo
5279---------------------------------------------------------------------------*/
5280typedef struct
5281{
5282 /* Ignore DTIM */
5283 wpt_uint32 uIgnoreDTIM;
5284
5285 /*DTIM Period*/
5286 wpt_uint32 uDTIMPeriod;
5287
5288 /* Listen Interval */
5289 wpt_uint32 uListenInterval;
5290
5291 /* Broadcast Multicas Filter */
5292 wpt_uint32 uBcastMcastFilter;
5293
5294 /* Beacon Early Termination */
5295 wpt_uint32 uEnableBET;
5296
5297 /* Beacon Early Termination Interval */
5298 wpt_uint32 uBETInterval;
5299
Yue Mac24062f2013-05-13 17:01:29 -07005300 /* MAX LI for modulated DTIM */
5301 wpt_uint32 uMaxLIModulatedDTIM;
5302
Jeff Johnson295189b2012-06-20 16:38:30 -07005303} WDI_SetPowerParamsInfo;
5304
5305/*---------------------------------------------------------------------------
5306 WDI_UpdateScanParamsInfoType
5307 UpdateScanParams info passed to WDI form WDA
5308---------------------------------------------------------------------------*/
5309typedef struct
5310{
5311 /* Power params Info Type, same as tSetPowerParamsReq */
5312 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5313 /* Request status callback offered by UMAC - it is called if the current req
5314 has returned PENDING as status; it delivers the status of sending the message
5315 over the BUS */
5316 WDI_ReqStatusCb wdiReqStatusCB;
5317 /* The user data passed in by UMAC, it will be sent back when the above
5318 function pointer will be called */
5319 void* pUserData;
5320}WDI_SetPowerParamsReqParamsType;
5321
5322/*---------------------------------------------------------------------------
5323 WDI_SetTxPerTrackingConfType
5324 Wowl add ptrn info passed to WDA form UMAC
5325---------------------------------------------------------------------------*/
5326typedef struct
5327{
5328 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5329 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5330 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5331 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5332} WDI_TxPerTrackingParamType;
5333
5334/*---------------------------------------------------------------------------
5335 WDI_SetTxPerTrackingReqParamsType
5336 Tx PER Tracking parameters passed to WDI from WDA
5337---------------------------------------------------------------------------*/
5338typedef struct
5339{
5340 /* Configurations for Tx PER Tracking */
5341 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5342 /*Request status callback offered by UMAC - it is called if the current req
5343 has returned PENDING as status; it delivers the status of sending the message
5344 over the BUS */
5345 WDI_ReqStatusCb wdiReqStatusCB;
5346 /*The user data passed in by UMAC, it will be sent back when the above
5347 function pointer will be called */
5348 void* pUserData;
5349}WDI_SetTxPerTrackingReqParamsType;
5350
5351#ifdef WLAN_FEATURE_PACKET_FILTERING
5352/*---------------------------------------------------------------------------
5353 Packet Filtering Parameters
5354---------------------------------------------------------------------------*/
5355
5356#define WDI_IPV4_ADDR_LEN 4
5357#define WDI_MAC_ADDR_LEN 6
5358#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5359#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5360#define WDI_MAX_NUM_FILTERS 20
5361#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5362
5363//
5364// Receive Filter Parameters
5365//
5366typedef enum
5367{
5368 WDI_RCV_FILTER_TYPE_INVALID,
5369 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5370 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5371 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5372}WDI_ReceivePacketFilterType;
5373
5374typedef enum
5375{
5376 WDI_FILTER_HDR_TYPE_INVALID,
5377 WDI_FILTER_HDR_TYPE_MAC,
5378 WDI_FILTER_HDR_TYPE_ARP,
5379 WDI_FILTER_HDR_TYPE_IPV4,
5380 WDI_FILTER_HDR_TYPE_IPV6,
5381 WDI_FILTER_HDR_TYPE_UDP,
5382 WDI_FILTER_HDR_TYPE_MAX
5383}WDI_RcvPktFltProtocolType;
5384
5385typedef enum
5386{
5387 WDI_FILTER_CMP_TYPE_INVALID,
5388 WDI_FILTER_CMP_TYPE_EQUAL,
5389 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5390 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5391 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5392 WDI_FILTER_CMP_TYPE_MAX
5393}WDI_RcvPktFltCmpFlagType;
5394
5395typedef struct
5396{
5397 WDI_RcvPktFltProtocolType protocolLayer;
5398 WDI_RcvPktFltCmpFlagType cmpFlag;
5399/* Length of the data to compare */
5400 wpt_uint16 dataLength;
5401/* from start of the respective frame header */
5402 wpt_uint8 dataOffset;
5403 wpt_uint8 reserved; /* Reserved field */
5404/* Data to compare */
5405 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5406/* Mask to be applied on the received packet data before compare */
5407 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5408}WDI_RcvPktFilterFieldParams;
5409
5410typedef struct
5411{
5412 wpt_uint8 filterId;
5413 wpt_uint8 filterType;
5414 wpt_uint32 numFieldParams;
5415 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005416 wpt_macAddr selfMacAddr;
5417 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005418 WDI_RcvPktFilterFieldParams paramsData[1];
5419
Jeff Johnson295189b2012-06-20 16:38:30 -07005420}WDI_RcvPktFilterCfgType;
5421
5422typedef struct
5423{
5424 /*Request status callback offered by UMAC - it is called if the current
5425 req has returned PENDING as status; it delivers the status of sending
5426 the message over the BUS */
5427 WDI_ReqStatusCb wdiReqStatusCB;
5428
5429 /*The user data passed in by UMAC, it will be sent back when the above
5430 function pointer will be called */
5431 void* pUserData;
5432
5433 // Variable length packet filter field params
5434 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5435} WDI_SetRcvPktFilterReqParamsType;
5436
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005437typedef struct
5438{
5439 /*Result of the operation*/
5440 WDI_Status wdiStatus;
5441 /* BSSIDX of the Set Receive Filter
5442 */
5443 wpt_uint8 bssIdx;
5444} WDI_SetRcvPktFilterRspParamsType;
5445
Jeff Johnson295189b2012-06-20 16:38:30 -07005446//
5447// Filter Packet Match Count Parameters
5448//
5449typedef struct
5450{
5451 /*Request status callback offered by UMAC - it is called if the current
5452 req has returned PENDING as status; it delivers the status of sending
5453 the message over the BUS */
5454 WDI_ReqStatusCb wdiReqStatusCB;
5455
5456 /*The user data passed in by UMAC, it will be sent back when the above
5457 function pointer will be called */
5458 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005459
5460 /* BSSID of the Match count
5461 */
5462 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005463} WDI_RcvFltPktMatchCntReqParamsType;
5464
5465typedef struct
5466{
5467 wpt_uint8 filterId;
5468 wpt_uint32 matchCnt;
5469} WDI_RcvFltPktMatchCnt;
5470
5471typedef struct
5472{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005473 /*Result of the operation*/
5474 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005475
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005476 /* BSSIDX of the Match count response
5477 */
5478 wpt_uint8 bssIdx;
5479
Jeff Johnson295189b2012-06-20 16:38:30 -07005480} WDI_RcvFltPktMatchCntRspParamsType;
5481
Jeff Johnson295189b2012-06-20 16:38:30 -07005482//
5483// Receive Filter Clear Parameters
5484//
5485typedef struct
5486{
5487 wpt_uint32 status; /* only valid for response message */
5488 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005489 wpt_macAddr selfMacAddr;
5490 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005491}WDI_RcvFltPktClearParam;
5492
5493typedef struct
5494{
5495 WDI_RcvFltPktClearParam filterClearParam;
5496 /*Request status callback offered by UMAC - it is called if the current
5497 req has returned PENDING as status; it delivers the status of sending
5498 the message over the BUS */
5499 WDI_ReqStatusCb wdiReqStatusCB;
5500
5501 /*The user data passed in by UMAC, it will be sent back when the above
5502 function pointer will be called */
5503 void* pUserData;
5504} WDI_RcvFltPktClearReqParamsType;
5505
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005506typedef struct
5507{
5508 /*Result of the operation*/
5509 WDI_Status wdiStatus;
5510 /* BSSIDX of the Match count response
5511 */
5512 wpt_uint8 bssIdx;
5513
5514} WDI_RcvFltPktClearRspParamsType;
5515
Jeff Johnson295189b2012-06-20 16:38:30 -07005516//
5517// Multicast Address List Parameters
5518//
5519typedef struct
5520{
5521 wpt_uint32 ulMulticastAddrCnt;
5522 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005523 wpt_macAddr selfMacAddr;
5524 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005525} WDI_RcvFltMcAddrListType;
5526
5527typedef struct
5528{
5529 WDI_RcvFltMcAddrListType mcAddrList;
5530 /*Request status callback offered by UMAC - it is called if the current
5531 req has returned PENDING as status; it delivers the status of sending
5532 the message over the BUS */
5533 WDI_ReqStatusCb wdiReqStatusCB;
5534
5535 /*The user data passed in by UMAC, it will be sent back when the above
5536 function pointer will be called */
5537 void* pUserData;
5538} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005539
5540typedef struct
5541{
5542 /*Result of the operation*/
5543 WDI_Status wdiStatus;
5544 /* BSSIDX of the Match count response
5545 */
5546 wpt_uint8 bssIdx;
5547} WDI_RcvFltPktSetMcListRspParamsType;
5548
Jeff Johnson295189b2012-06-20 16:38:30 -07005549#endif // WLAN_FEATURE_PACKET_FILTERING
5550
5551/*---------------------------------------------------------------------------
5552 WDI_HALDumpCmdReqInfoType
5553---------------------------------------------------------------------------*/
5554typedef struct
5555{
5556 /*command*/
5557 wpt_uint32 command;
5558
5559 /*Arguments*/
5560 wpt_uint32 argument1;
5561 wpt_uint32 argument2;
5562 wpt_uint32 argument3;
5563 wpt_uint32 argument4;
5564
5565}WDI_HALDumpCmdReqInfoType;
5566
5567/*---------------------------------------------------------------------------
5568 WDI_HALDumpCmdReqParamsType
5569---------------------------------------------------------------------------*/
5570typedef struct
5571{
5572 /*NV Blob Info*/
5573 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5574
5575 /*Request status callback offered by UMAC - it is called if the current
5576 req has returned PENDING as status; it delivers the status of sending
5577 the message over the BUS */
5578 WDI_ReqStatusCb wdiReqStatusCB;
5579
5580 /*The user data passed in by UMAC, it will be sent back when the above
5581 function pointer will be called */
5582 void* pUserData;
5583
5584}WDI_HALDumpCmdReqParamsType;
5585
5586
5587/*---------------------------------------------------------------------------
5588 WDI_HALDumpCmdRspParamsType
5589---------------------------------------------------------------------------*/
5590typedef struct
5591{
5592 /*Result of the operation*/
5593 WDI_Status wdiStatus;
5594
5595 /* length of the buffer */
5596 wpt_uint16 usBufferLen;
5597
5598 /* Buffer */
5599 wpt_uint8 *pBuffer;
5600}WDI_HALDumpCmdRspParamsType;
5601
5602
5603/*---------------------------------------------------------------------------
5604 WDI_SetTmLevelReqType
5605---------------------------------------------------------------------------*/
5606typedef struct
5607{
5608 wpt_uint16 tmMode;
5609 wpt_uint16 tmLevel;
5610 void* pUserData;
5611}WDI_SetTmLevelReqType;
5612
5613/*---------------------------------------------------------------------------
5614 WDI_SetTmLevelRspType
5615---------------------------------------------------------------------------*/
5616typedef struct
5617{
5618 WDI_Status wdiStatus;
5619 void* pUserData;
5620}WDI_SetTmLevelRspType;
5621
Leo Chang9056f462013-08-01 19:21:11 -07005622#ifdef FEATURE_WLAN_LPHB
5623/*---------------------------------------------------------------------------
5624 WDI_LPHBConfigParamsType
5625---------------------------------------------------------------------------*/
5626typedef struct
5627{
5628 void* pLphsConfIndData;
5629}WDI_LPHBConfigParamsType;
5630#endif /* FEATURE_WLAN_LPHB */
5631
Yue Mab9c86f42013-08-14 15:59:08 -07005632/*---------------------------------------------------------------------------
5633 WDI_AddPeriodicTxPtrnInfoType
5634---------------------------------------------------------------------------*/
5635typedef struct
5636{
5637 /* MAC Address for the adapter */
5638 wpt_macAddr macAddr;
5639
5640 wpt_uint8 ucPtrnId; // Pattern ID
5641 wpt_uint16 ucPtrnSize; // Pattern size
5642 wpt_uint32 usPtrnIntervalMs; // In msec
5643 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5644} WDI_AddPeriodicTxPtrnInfoType;
5645
5646/*---------------------------------------------------------------------------
5647 WDI_DelPeriodicTxPtrnInfoType
5648---------------------------------------------------------------------------*/
5649typedef struct
5650{
5651 /* MAC Address for the adapter */
5652 wpt_macAddr macAddr;
5653
5654 /* Bitmap of pattern IDs that needs to be deleted */
5655 wpt_uint32 ucPatternIdBitmap;
5656} WDI_DelPeriodicTxPtrnInfoType;
5657
5658/*---------------------------------------------------------------------------
5659 WDI_AddPeriodicTxPtrnParamsType
5660---------------------------------------------------------------------------*/
5661typedef struct
5662{
5663 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5664
5665 /*Request status callback offered by UMAC - it is called if the current
5666 req has returned PENDING as status; it delivers the status of sending
5667 the message over the BUS */
5668 WDI_ReqStatusCb wdiReqStatusCB;
5669
5670 /*The user data passed in by UMAC, it will be sent back when the above
5671 function pointer will be called */
5672 void* pUserData;
5673} WDI_AddPeriodicTxPtrnParamsType;
5674
5675/*---------------------------------------------------------------------------
5676 WDI_DelPeriodicTxPtrnParamsType
5677---------------------------------------------------------------------------*/
5678typedef struct
5679{
5680 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5681
5682 /*Request status callback offered by UMAC - it is called if the current
5683 req has returned PENDING as status; it delivers the status of sending
5684 the message over the BUS */
5685 WDI_ReqStatusCb wdiReqStatusCB;
5686
5687 /*The user data passed in by UMAC, it will be sent back when the above
5688 function pointer will be called */
5689 void* pUserData;
5690} WDI_DelPeriodicTxPtrnParamsType;
5691
Dino Mycle41bdc942014-06-10 11:30:24 +05305692#ifdef WLAN_FEATURE_EXTSCAN
5693
5694#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5695#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5696#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5697#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5698
5699typedef enum
5700{
5701 WDI_WIFI_BAND_UNSPECIFIED,
5702 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5703 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5704 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5705 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5706 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5707 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5708
5709 /* Keep it last */
5710 WDI_WIFI_BAND_MAX
5711} WDI_WifiBand;
5712
5713typedef struct
5714{
5715 wpt_uint32 channel; // frequency
5716 wpt_uint32 dwellTimeMs; // dwell time hint
5717 wpt_uint8 passive; // 0 => active,
5718 // 1 => passive scan; ignored for DFS
5719 wpt_uint8 chnlClass;
5720} WDI_WifiScanChannelSpec;
5721
5722typedef struct
5723{
5724 wpt_uint8 bucket; // bucket index, 0 based
5725 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5726
5727 /*
5728 * desired period, in millisecond; if this is too
5729 * low, the firmware should choose to generate results as fast as
5730 * it can instead of failing the command byte
5731 */
5732 wpt_uint32 period;
5733
5734 /*
5735 * 0 => normal reporting (reporting rssi history
5736 * only, when rssi history buffer is % full)
5737 * 1 => same as 0 + report a scan completion event after scanning
5738 * this bucket
5739 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5740 * in real time to HAL
5741 */
5742 wpt_uint8 reportEvents;
5743
5744 wpt_uint8 numChannels;
5745
5746 /*
5747 * channels to scan; these may include DFS channels
5748 */
5749 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5750} WDI_WifiScanBucketSpec;
5751
5752typedef struct
5753{
5754 wpt_uint32 requestId;
5755 wpt_uint8 sessionId;
5756 wpt_uint32 basePeriod; // base timer period
5757 wpt_uint32 maxAPperScan;
5758
5759 /* in %, when buffer is this much full, wake up host */
5760 wpt_uint32 reportThreshold;
5761
5762 wpt_uint8 numBuckets;
5763 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5764} WDI_EXTScanStartReqParams;
5765
5766typedef struct
5767{
5768 wpt_uint32 requestId;
5769 wpt_uint8 sessionId;
5770} WDI_EXTScanStopReqParams;
5771
5772typedef struct
5773{
5774 wpt_uint32 requestId;
5775 wpt_uint8 sessionId;
5776
5777 /*
5778 * 1 return cached results and flush it
5779 * 0 return cached results and do not flush
5780 */
5781 wpt_boolean flush;
5782} WDI_EXTScanGetCachedResultsReqParams;
5783
5784typedef struct
5785{
5786 wpt_uint32 requestId;
5787 wpt_uint8 sessionId;
5788} WDI_EXTScanGetCapabilitiesReqParams;
5789
5790typedef struct
5791{
5792 wpt_uint8 bssid[6]; /* BSSID */
5793 wpt_int32 low; // low threshold
5794 wpt_int32 high; // high threshold
5795 wpt_uint32 channel; // channel hint
5796} WDI_APThresholdParam;
5797
5798typedef struct
5799{
5800 wpt_int32 requestId;
5801 wpt_int8 sessionId; // session Id mapped to vdev_id
5802
5803 wpt_int32 numAp; // number of hotlist APs
5804 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5805} WDI_EXTScanSetBSSIDHotlistReqParams;
5806
5807typedef struct
5808{
5809 wpt_uint32 requestId;
5810 wpt_uint8 sessionId;
5811} WDI_EXTScanResetBSSIDHotlistReqParams;
5812
5813
5814typedef struct
5815{
5816 wpt_int32 requestId;
5817 wpt_int8 sessionId; // session Id mapped to vdev_id
5818
5819 /* number of samples for averaging RSSI */
5820 wpt_int32 rssiSampleSize;
5821
5822 /* number of missed samples to confirm AP loss */
5823 wpt_int32 lostApSampleSize;
5824
5825 /* number of APs breaching threshold required for firmware
5826 * to generate event
5827 */
5828 wpt_int32 minBreaching;
5829
5830 wpt_int32 numAp; // number of hotlist APs
5831 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5832} WDI_EXTScanSetSignfRSSIChangeReqParams;
5833
5834typedef struct
5835{
5836 wpt_uint32 requestId;
5837 wpt_uint8 sessionId;
5838} WDI_EXTScanResetSignfRSSIChangeReqParams;
5839#endif /* WLAN_FEATURE_EXTSCAN */
5840
Sunil Duttbd736ed2014-05-26 21:19:41 +05305841#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5842typedef struct
5843{
5844 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305845 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305846 wpt_uint32 mpduSizeThreshold;
5847 wpt_uint32 aggressiveStatisticsGathering;
5848}WDI_LLStatsSetReqType;
5849
5850typedef struct
5851{
5852 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305853 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305854 wpt_uint32 paramIdMask;
5855}WDI_LLStatsGetReqType;
5856
5857typedef struct
5858{
5859 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305860 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305861 wpt_uint32 statsClearReqMask;
5862 wpt_uint8 stopReq;
5863}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305864
Sunil Duttbd736ed2014-05-26 21:19:41 +05305865#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5866
5867
Jeff Johnson295189b2012-06-20 16:38:30 -07005868/*----------------------------------------------------------------------------
5869 * WDI callback types
5870 *--------------------------------------------------------------------------*/
5871
5872/*---------------------------------------------------------------------------
5873 WDI_StartRspCb
5874
5875 DESCRIPTION
5876
5877 This callback is invoked by DAL when it has received a Start response from
5878 the underlying device.
5879
5880 PARAMETERS
5881
5882 IN
5883 wdiRspParams: response parameters received from HAL
5884 pUserData: user data
5885
5886
5887 RETURN VALUE
5888 The result code associated with performing the operation
5889---------------------------------------------------------------------------*/
5890typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5891 void* pUserData);
5892
5893/*---------------------------------------------------------------------------
5894 WDI_StartRspCb
5895
5896 DESCRIPTION
5897
5898 This callback is invoked by DAL when it has received a Stop response from
5899 the underlying device.
5900
5901 PARAMETERS
5902
5903 IN
5904 wdiStatus: response status received from HAL
5905 pUserData: user data
5906
5907
5908
5909 RETURN VALUE
5910 The result code associated with performing the operation
5911---------------------------------------------------------------------------*/
5912typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5913 void* pUserData);
5914
5915/*---------------------------------------------------------------------------
5916 WDI_StartRspCb
5917
5918 DESCRIPTION
5919
5920 This callback is invoked by DAL when it has received an Init Scan response
5921 from the underlying device.
5922
5923 PARAMETERS
5924
5925 IN
5926 wdiStatus: response status received from HAL
5927 pUserData: user data
5928
5929
5930
5931 RETURN VALUE
5932 The result code associated with performing the operation
5933---------------------------------------------------------------------------*/
5934typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5935 void* pUserData);
5936
5937
5938/*---------------------------------------------------------------------------
5939 WDI_StartRspCb
5940
5941 DESCRIPTION
5942
5943 This callback is invoked by DAL when it has received a StartScan response
5944 from the underlying device.
5945
5946 PARAMETERS
5947
5948 IN
5949 wdiParams: response params received from HAL
5950 pUserData: user data
5951
5952
5953
5954 RETURN VALUE
5955 The result code associated with performing the operation
5956---------------------------------------------------------------------------*/
5957typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5958 void* pUserData);
5959
5960
5961/*---------------------------------------------------------------------------
5962 WDI_StartRspCb
5963
5964 DESCRIPTION
5965
5966 This callback is invoked by DAL when it has received a End Scan response
5967 from the underlying device.
5968
5969 PARAMETERS
5970
5971 IN
5972 wdiStatus: response status received from HAL
5973 pUserData: user data
5974
5975
5976
5977 RETURN VALUE
5978 The result code associated with performing the operation
5979---------------------------------------------------------------------------*/
5980typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5981 void* pUserData);
5982
5983
5984/*---------------------------------------------------------------------------
5985 WDI_StartRspCb
5986
5987 DESCRIPTION
5988
5989 This callback is invoked by DAL when it has received a Finish Scan response
5990 from the underlying device.
5991
5992 PARAMETERS
5993
5994 IN
5995 wdiStatus: response status received from HAL
5996 pUserData: user data
5997
5998
5999
6000 RETURN VALUE
6001 The result code associated with performing the operation
6002---------------------------------------------------------------------------*/
6003typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6004 void* pUserData);
6005
6006
6007/*---------------------------------------------------------------------------
6008 WDI_StartRspCb
6009
6010 DESCRIPTION
6011
6012 This callback is invoked by DAL when it has received a Join response from
6013 the underlying device.
6014
6015 PARAMETERS
6016
6017 IN
6018 wdiStatus: response status received from HAL
6019 pUserData: user data
6020
6021
6022
6023 RETURN VALUE
6024 The result code associated with performing the operation
6025---------------------------------------------------------------------------*/
6026typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6027 void* pUserData);
6028
6029
6030/*---------------------------------------------------------------------------
6031 WDI_StartRspCb
6032
6033 DESCRIPTION
6034
6035 This callback is invoked by DAL when it has received a Config BSS response
6036 from the underlying device.
6037
6038 PARAMETERS
6039
6040 IN
6041 wdiConfigBSSRsp: response parameters received from HAL
6042 pUserData: user data
6043
6044
6045 RETURN VALUE
6046 The result code associated with performing the operation
6047---------------------------------------------------------------------------*/
6048typedef void (*WDI_ConfigBSSRspCb)(
6049 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6050 void* pUserData);
6051
6052
6053/*---------------------------------------------------------------------------
6054 WDI_StartRspCb
6055
6056 DESCRIPTION
6057
6058 This callback is invoked by DAL when it has received a Del BSS response from
6059 the underlying device.
6060
6061 PARAMETERS
6062
6063 IN
6064 wdiDelBSSRsp: response parameters received from HAL
6065 pUserData: user data
6066
6067
6068 RETURN VALUE
6069 The result code associated with performing the operation
6070---------------------------------------------------------------------------*/
6071typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6072 void* pUserData);
6073
6074
6075/*---------------------------------------------------------------------------
6076 WDI_StartRspCb
6077
6078 DESCRIPTION
6079
6080 This callback is invoked by DAL when it has received a Post Assoc response
6081 from the underlying device.
6082
6083 PARAMETERS
6084
6085 IN
6086 wdiRspParams: response parameters received from HAL
6087 pUserData: user data
6088
6089
6090 RETURN VALUE
6091 The result code associated with performing the operation
6092---------------------------------------------------------------------------*/
6093typedef void (*WDI_PostAssocRspCb)(
6094 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6095 void* pUserData);
6096
6097
6098/*---------------------------------------------------------------------------
6099 WDI_StartRspCb
6100
6101 DESCRIPTION
6102
6103 This callback is invoked by DAL when it has received a Del STA response from
6104 the underlying device.
6105
6106 PARAMETERS
6107
6108 IN
6109 wdiDelSTARsp: response parameters received from HAL
6110 pUserData: user data
6111
6112
6113 RETURN VALUE
6114 The result code associated with performing the operation
6115---------------------------------------------------------------------------*/
6116typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6117 void* pUserData);
6118
6119
6120
6121/*---------------------------------------------------------------------------
6122 WDI_StartRspCb
6123
6124 DESCRIPTION
6125
6126 This callback is invoked by DAL when it has received a Set BSS Key response
6127 from the underlying device.
6128
6129 PARAMETERS
6130
6131 IN
6132 wdiStatus: response status received from HAL
6133 pUserData: user data
6134
6135
6136
6137 RETURN VALUE
6138 The result code associated with performing the operation
6139---------------------------------------------------------------------------*/
6140typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6141 void* pUserData);
6142
6143/*---------------------------------------------------------------------------
6144 WDI_StartRspCb
6145
6146 DESCRIPTION
6147
6148 This callback is invoked by DAL when it has received a Remove BSS Key
6149 response from the underlying device.
6150
6151 PARAMETERS
6152
6153 IN
6154 wdiStatus: response status received from HAL
6155 pUserData: user data
6156
6157
6158
6159 RETURN VALUE
6160 The result code associated with performing the operation
6161---------------------------------------------------------------------------*/
6162typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6163 void* pUserData);
6164
6165/*---------------------------------------------------------------------------
6166 WDI_StartRspCb
6167
6168 DESCRIPTION
6169
6170 This callback is invoked by DAL when it has received a Set STA Key response
6171 from the underlying device.
6172
6173 PARAMETERS
6174
6175 IN
6176 wdiStatus: response status received from HAL
6177 pUserData: user data
6178
6179
6180
6181 RETURN VALUE
6182 The result code associated with performing the operation
6183---------------------------------------------------------------------------*/
6184typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6185 void* pUserData);
6186
6187
6188/*---------------------------------------------------------------------------
6189 WDI_StartRspCb
6190
6191 DESCRIPTION
6192
6193 This callback is invoked by DAL when it has received a Remove STA Key
6194 response from the underlying device.
6195
6196 PARAMETERS
6197
6198 IN
6199 wdiStatus: response status received from HAL
6200 pUserData: user data
6201
6202
6203
6204 RETURN VALUE
6205 The result code associated with performing the operation
6206---------------------------------------------------------------------------*/
6207typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6208 void* pUserData);
6209
6210
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006211#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006212/*---------------------------------------------------------------------------
6213 WDI_TsmRspCb
6214
6215 DESCRIPTION
6216
6217 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6218
6219 PARAMETERS
6220
6221 IN
6222 pTSMStats: response status received from HAL
6223 pUserData: user data
6224
6225
6226
6227 RETURN VALUE
6228 The result code associated with performing the operation
6229---------------------------------------------------------------------------*/
6230typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6231 void* pUserData);
6232#endif
6233
6234/*---------------------------------------------------------------------------
6235 WDI_StartRspCb
6236
6237 DESCRIPTION
6238
6239 This callback is invoked by DAL when it has received a Add TS response from
6240 the underlying device.
6241
6242 PARAMETERS
6243
6244 IN
6245 wdiStatus: response status received from HAL
6246 pUserData: user data
6247
6248
6249
6250 RETURN VALUE
6251 The result code associated with performing the operation
6252---------------------------------------------------------------------------*/
6253typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6254 void* pUserData);
6255
6256/*---------------------------------------------------------------------------
6257 WDI_StartRspCb
6258
6259 DESCRIPTION
6260
6261 This callback is invoked by DAL when it has received a Del TS response from
6262 the underlying device.
6263
6264 PARAMETERS
6265
6266 IN
6267 wdiStatus: response status received from HAL
6268 pUserData: user data
6269
6270
6271
6272 RETURN VALUE
6273 The result code associated with performing the operation
6274---------------------------------------------------------------------------*/
6275typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6276 void* pUserData);
6277
6278/*---------------------------------------------------------------------------
6279 WDI_StartRspCb
6280
6281 DESCRIPTION
6282
6283 This callback is invoked by DAL when it has received an Update EDCA Params
6284 response from the underlying device.
6285
6286 PARAMETERS
6287
6288 IN
6289 wdiStatus: response status received from HAL
6290 pUserData: user data
6291
6292
6293
6294 RETURN VALUE
6295 The result code associated with performing the operation
6296---------------------------------------------------------------------------*/
6297typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6298 void* pUserData);
6299
6300/*---------------------------------------------------------------------------
6301 WDI_StartRspCb
6302
6303 DESCRIPTION
6304
6305 This callback is invoked by DAL when it has received a Add BA response from
6306 the underlying device.
6307
6308 PARAMETERS
6309
6310 IN
6311 wdiStatus: response status received from HAL
6312 pUserData: user data
6313
6314
6315
6316 RETURN VALUE
6317 The result code associated with performing the operation
6318---------------------------------------------------------------------------*/
6319typedef void (*WDI_AddBASessionRspCb)(
6320 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6321 void* pUserData);
6322
6323
6324/*---------------------------------------------------------------------------
6325 WDI_StartRspCb
6326
6327 DESCRIPTION
6328
6329 This callback is invoked by DAL when it has received a Del BA response from
6330 the underlying device.
6331
6332 PARAMETERS
6333
6334 IN
6335 wdiStatus: response status received from HAL
6336 pUserData: user data
6337
6338
6339
6340 RETURN VALUE
6341 The result code associated with performing the operation
6342---------------------------------------------------------------------------*/
6343typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6344 void* pUserData);
6345
6346
6347/*---------------------------------------------------------------------------
6348 WDI_StartRspCb
6349
6350 DESCRIPTION
6351
6352 This callback is invoked by DAL when it has received a Switch Ch response
6353 from the underlying device.
6354
6355 PARAMETERS
6356
6357 IN
6358 wdiRspParams: response parameters received from HAL
6359 pUserData: user data
6360
6361
6362 RETURN VALUE
6363 The result code associated with performing the operation
6364---------------------------------------------------------------------------*/
6365typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6366 void* pUserData);
6367
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006368typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6369 void* pUserData);
6370
Jeff Johnson295189b2012-06-20 16:38:30 -07006371
6372/*---------------------------------------------------------------------------
6373 WDI_StartRspCb
6374
6375 DESCRIPTION
6376
6377 This callback is invoked by DAL when it has received a Config STA response
6378 from the underlying device.
6379
6380 PARAMETERS
6381
6382 IN
6383 wdiRspParams: response parameters received from HAL
6384 pUserData: user data
6385
6386
6387 RETURN VALUE
6388 The result code associated with performing the operation
6389---------------------------------------------------------------------------*/
6390typedef void (*WDI_ConfigSTARspCb)(
6391 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6392 void* pUserData);
6393
6394
6395/*---------------------------------------------------------------------------
6396 WDI_StartRspCb
6397
6398 DESCRIPTION
6399
6400 This callback is invoked by DAL when it has received a Set Link State
6401 response from the underlying device.
6402
6403 PARAMETERS
6404
6405 IN
6406 wdiRspParams: response parameters received from HAL
6407 pUserData: user data
6408
6409
6410 RETURN VALUE
6411 The result code associated with performing the operation
6412---------------------------------------------------------------------------*/
6413typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6414 void* pUserData);
6415
6416
6417/*---------------------------------------------------------------------------
6418 WDI_StartRspCb
6419
6420 DESCRIPTION
6421
6422 This callback is invoked by DAL when it has received a Get Stats response
6423 from the underlying device.
6424
6425 PARAMETERS
6426
6427 IN
6428 wdiRspParams: response parameters received from HAL
6429 pUserData: user data
6430
6431
6432 RETURN VALUE
6433 The result code associated with performing the operation
6434---------------------------------------------------------------------------*/
6435typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6436 void* pUserData);
6437
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006438#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006439/*---------------------------------------------------------------------------
6440 WDI_GetRoamRssiRspCb
6441
6442 DESCRIPTION
6443
6444 This callback is invoked by DAL when it has received a Get Roam Rssi response
6445 from the underlying device.
6446
6447 PARAMETERS
6448
6449 IN
6450 wdiRspParams: response parameters received from HAL
6451 pUserData: user data
6452
6453
6454 RETURN VALUE
6455 The result code associated with performing the operation
6456---------------------------------------------------------------------------*/
6457typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6458 void* pUserData);
6459#endif
6460
Jeff Johnson295189b2012-06-20 16:38:30 -07006461
6462/*---------------------------------------------------------------------------
6463 WDI_StartRspCb
6464
6465 DESCRIPTION
6466
6467 This callback is invoked by DAL when it has received a Update Cfg response
6468 from the underlying device.
6469
6470 PARAMETERS
6471
6472 IN
6473 wdiStatus: response status received from HAL
6474 pUserData: user data
6475
6476
6477 RETURN VALUE
6478 The result code associated with performing the operation
6479---------------------------------------------------------------------------*/
6480typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6481 void* pUserData);
6482
6483/*---------------------------------------------------------------------------
6484 WDI_AddBARspCb
6485
6486 DESCRIPTION
6487
6488 This callback is invoked by DAL when it has received a ADD BA response
6489 from the underlying device.
6490
6491 PARAMETERS
6492
6493 IN
6494 wdiStatus: response status received from HAL
6495 pUserData: user data
6496
6497
6498 RETURN VALUE
6499 The result code associated with performing the operation
6500---------------------------------------------------------------------------*/
6501typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6502 void* pUserData);
6503
6504/*---------------------------------------------------------------------------
6505 WDI_TriggerBARspCb
6506
6507 DESCRIPTION
6508
6509 This callback is invoked by DAL when it has received a ADD BA response
6510 from the underlying device.
6511
6512 PARAMETERS
6513
6514 IN
6515 wdiStatus: response status received from HAL
6516 pUserData: user data
6517
6518
6519 RETURN VALUE
6520 The result code associated with performing the operation
6521---------------------------------------------------------------------------*/
6522typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6523 void* pUserData);
6524
6525
6526/*---------------------------------------------------------------------------
6527 WDI_UpdateBeaconParamsRspCb
6528
6529 DESCRIPTION
6530
6531 This callback is invoked by DAL when it has received a Update Beacon Params response from
6532 the underlying device.
6533
6534 PARAMETERS
6535
6536 IN
6537 wdiStatus: response status received from HAL
6538 pUserData: user data
6539
6540
6541
6542 RETURN VALUE
6543 The result code associated with performing the operation
6544---------------------------------------------------------------------------*/
6545typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6546 void* pUserData);
6547
6548/*---------------------------------------------------------------------------
6549 WDI_SendBeaconParamsRspCb
6550
6551 DESCRIPTION
6552
6553 This callback is invoked by DAL when it has received a Send Beacon Params response from
6554 the underlying device.
6555
6556 PARAMETERS
6557
6558 IN
6559 wdiStatus: response status received from HAL
6560 pUserData: user data
6561
6562
6563
6564 RETURN VALUE
6565 The result code associated with performing the operation
6566---------------------------------------------------------------------------*/
6567typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6568 void* pUserData);
6569
6570/*---------------------------------------------------------------------------
6571 WDA_SetMaxTxPowerRspCb
6572
6573 DESCRIPTION
6574
6575 This callback is invoked by DAL when it has received a set max Tx Power response from
6576 the underlying device.
6577
6578 PARAMETERS
6579
6580 IN
6581 wdiStatus: response status received from HAL
6582 pUserData: user data
6583
6584
6585
6586 RETURN VALUE
6587 The result code associated with performing the operation
6588---------------------------------------------------------------------------*/
6589typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6590 void* pUserData);
6591
6592/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006593 WDA_SetMaxTxPowerPerBandRspCb
6594
6595 DESCRIPTION
6596
6597 This callback is invoked by DAL when it has received a
6598 set max Tx Power Per Band response from the underlying device.
6599
6600 PARAMETERS
6601
6602 IN
6603 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6604 pUserData: user data
6605
6606 RETURN VALUE
6607 The result code associated with performing the operation
6608---------------------------------------------------------------------------*/
6609typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6610 *wdiSetMaxTxPowerPerBandRsp,
6611 void* pUserData);
6612
6613/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006614 WDA_SetTxPowerRspCb
6615
6616 DESCRIPTION
6617
6618 This callback is invoked by DAL when it has received a set max Tx Power response from
6619 the underlying device.
6620
6621 PARAMETERS
6622
6623 IN
6624 wdiStatus: response status received from HAL
6625 pUserData: user data
6626
6627 RETURN VALUE
6628 The result code associated with performing the operation
6629---------------------------------------------------------------------------*/
6630typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6631 void* pUserData);
6632
6633/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006634 WDI_UpdateProbeRspTemplateRspCb
6635
6636 DESCRIPTION
6637
6638 This callback is invoked by DAL when it has received a Probe RSP Template
6639 Update response from the underlying device.
6640
6641 PARAMETERS
6642
6643 IN
6644 wdiStatus: response status received from HAL
6645 pUserData: user data
6646
6647
6648
6649 RETURN VALUE
6650 The result code associated with performing the operation
6651---------------------------------------------------------------------------*/
6652typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6653 void* pUserData);
6654
Jeff Johnson295189b2012-06-20 16:38:30 -07006655/*---------------------------------------------------------------------------
6656 WDI_SetP2PGONOAReqParamsRspCb
6657
6658 DESCRIPTION
6659
6660 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6661 the underlying device.
6662
6663 PARAMETERS
6664
6665 IN
6666 wdiStatus: response status received from HAL
6667 pUserData: user data
6668
6669
6670
6671 RETURN VALUE
6672 The result code associated with performing the operation
6673---------------------------------------------------------------------------*/
6674typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6675 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006676
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306677/*---------------------------------------------------------------------------
6678 WDI_SetTDLSLinkEstablishReqParamsRspCb
6679
6680 DESCRIPTION
6681
6682 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6683 the underlying device.
6684
6685 PARAMETERS
6686
6687 IN
6688 wdiStatus: response status received from HAL
6689 pUserData: user data
6690
6691
6692
6693 RETURN VALUE
6694 The result code associated with performing the operation
6695---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306696typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6697 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306698 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006699
6700/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306701 WDI_SetTDLSChanSwitchReqParamsRspCb
6702
6703 DESCRIPTION
6704
6705 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6706 the underlying device.
6707
6708 PARAMETERS
6709
6710 IN
6711 wdiStatus: response status received from HAL
6712 pUserData: user data
6713
6714
6715
6716 RETURN VALUE
6717 The result code associated with performing the operation
6718---------------------------------------------------------------------------*/
6719typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6720 wdiSetTdlsChanSwitchReqRsp,
6721 void* pUserData);
6722/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006723 WDI_SetPwrSaveCfgCb
6724
6725 DESCRIPTION
6726
6727 This callback is invoked by DAL when it has received a set Power Save CFG
6728 response from the underlying device.
6729
6730 PARAMETERS
6731
6732 IN
6733 wdiStatus: response status received from HAL
6734 pUserData: user data
6735
6736
6737
6738 RETURN VALUE
6739 The result code associated with performing the operation
6740---------------------------------------------------------------------------*/
6741typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6742 void* pUserData);
6743
6744/*---------------------------------------------------------------------------
6745 WDI_SetUapsdAcParamsCb
6746
6747 DESCRIPTION
6748
6749 This callback is invoked by DAL when it has received a set UAPSD params
6750 response from the underlying device.
6751
6752 PARAMETERS
6753
6754 IN
6755 wdiStatus: response status received from HAL
6756 pUserData: user data
6757
6758
6759
6760 RETURN VALUE
6761 The result code associated with performing the operation
6762---------------------------------------------------------------------------*/
6763typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6764 void* pUserData);
6765
6766/*---------------------------------------------------------------------------
6767 WDI_EnterImpsRspCb
6768
6769 DESCRIPTION
6770
6771 This callback is invoked by DAL when it has received a Enter IMPS response
6772 from the underlying device.
6773
6774 PARAMETERS
6775
6776 IN
6777 wdiStatus: response status received from HAL
6778 pUserData: user data
6779
6780
6781
6782 RETURN VALUE
6783 The result code associated with performing the operation
6784---------------------------------------------------------------------------*/
6785typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6786 void* pUserData);
6787
6788/*---------------------------------------------------------------------------
6789 WDI_ExitImpsRspCb
6790
6791 DESCRIPTION
6792
6793 This callback is invoked by DAL when it has received a Exit IMPS response
6794 from the underlying device.
6795
6796 PARAMETERS
6797
6798 IN
6799 wdiStatus: response status received from HAL
6800 pUserData: user data
6801
6802
6803
6804 RETURN VALUE
6805 The result code associated with performing the operation
6806---------------------------------------------------------------------------*/
6807typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6808 void* pUserData);
6809
6810/*---------------------------------------------------------------------------
6811 WDI_EnterBmpsRspCb
6812
6813 DESCRIPTION
6814
6815 This callback is invoked by DAL when it has received a enter BMPS response
6816 from the underlying device.
6817
6818 PARAMETERS
6819
6820 IN
6821 wdiStatus: response status received from HAL
6822 pUserData: user data
6823
6824
6825
6826 RETURN VALUE
6827 The result code associated with performing the operation
6828---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006829typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006830 void* pUserData);
6831
6832/*---------------------------------------------------------------------------
6833 WDI_ExitBmpsRspCb
6834
6835 DESCRIPTION
6836
6837 This callback is invoked by DAL when it has received a exit BMPS response
6838 from the underlying device.
6839
6840 PARAMETERS
6841
6842 IN
6843 wdiStatus: response status received from HAL
6844 pUserData: user data
6845
6846
6847
6848 RETURN VALUE
6849 The result code associated with performing the operation
6850---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006851typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006852 void* pUserData);
6853
6854/*---------------------------------------------------------------------------
6855 WDI_EnterUapsdRspCb
6856
6857 DESCRIPTION
6858
6859 This callback is invoked by DAL when it has received a enter UAPSD response
6860 from the underlying device.
6861
6862 PARAMETERS
6863
6864 IN
6865 wdiStatus: response status received from HAL
6866 pUserData: user data
6867
6868
6869
6870 RETURN VALUE
6871 The result code associated with performing the operation
6872---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006873typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006874 void* pUserData);
6875
6876/*---------------------------------------------------------------------------
6877 WDI_ExitUapsdRspCb
6878
6879 DESCRIPTION
6880
6881 This callback is invoked by DAL when it has received a exit UAPSD response
6882 from the underlying device.
6883
6884 PARAMETERS
6885
6886 IN
6887 wdiStatus: response status received from HAL
6888 pUserData: user data
6889
6890
6891
6892 RETURN VALUE
6893 The result code associated with performing the operation
6894---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006895typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006896 void* pUserData);
6897
6898/*---------------------------------------------------------------------------
6899 WDI_UpdateUapsdParamsCb
6900
6901 DESCRIPTION
6902
6903 This callback is invoked by DAL when it has received a update UAPSD params
6904 response from the underlying device.
6905
6906 PARAMETERS
6907
6908 IN
6909 wdiStatus: response status received from HAL
6910 pUserData: user data
6911
6912
6913
6914 RETURN VALUE
6915 The result code associated with performing the operation
6916---------------------------------------------------------------------------*/
6917typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6918 void* pUserData);
6919
6920/*---------------------------------------------------------------------------
6921 WDI_ConfigureRxpFilterCb
6922
6923 DESCRIPTION
6924
6925 This callback is invoked by DAL when it has received a config RXP filter
6926 response from the underlying device.
6927
6928 PARAMETERS
6929
6930 IN
6931 wdiStatus: response status received from HAL
6932 pUserData: user data
6933
6934
6935
6936 RETURN VALUE
6937 The result code associated with performing the operation
6938---------------------------------------------------------------------------*/
6939typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6940 void* pUserData);
6941
6942/*---------------------------------------------------------------------------
6943 WDI_SetBeaconFilterCb
6944
6945 DESCRIPTION
6946
6947 This callback is invoked by DAL when it has received a set beacon filter
6948 response from the underlying device.
6949
6950 PARAMETERS
6951
6952 IN
6953 wdiStatus: response status received from HAL
6954 pUserData: user data
6955
6956
6957
6958 RETURN VALUE
6959 The result code associated with performing the operation
6960---------------------------------------------------------------------------*/
6961typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6962 void* pUserData);
6963
6964/*---------------------------------------------------------------------------
6965 WDI_RemBeaconFilterCb
6966
6967 DESCRIPTION
6968
6969 This callback is invoked by DAL when it has received a remove beacon filter
6970 response from the underlying device.
6971
6972 PARAMETERS
6973
6974 IN
6975 wdiStatus: response status received from HAL
6976 pUserData: user data
6977
6978
6979
6980 RETURN VALUE
6981 The result code associated with performing the operation
6982---------------------------------------------------------------------------*/
6983typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6984 void* pUserData);
6985
6986/*---------------------------------------------------------------------------
6987 WDI_SetRSSIThresholdsCb
6988
6989 DESCRIPTION
6990
6991 This callback is invoked by DAL when it has received a set RSSI thresholds
6992 response from the underlying device.
6993
6994 PARAMETERS
6995
6996 IN
6997 wdiStatus: response status received from HAL
6998 pUserData: user data
6999
7000
7001
7002 RETURN VALUE
7003 The result code associated with performing the operation
7004---------------------------------------------------------------------------*/
7005typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7006 void* pUserData);
7007
7008/*---------------------------------------------------------------------------
7009 WDI_HostOffloadCb
7010
7011 DESCRIPTION
7012
7013 This callback is invoked by DAL when it has received a host offload
7014 response from the underlying device.
7015
7016 PARAMETERS
7017
7018 IN
7019 wdiStatus: response status received from HAL
7020 pUserData: user data
7021
7022
7023
7024 RETURN VALUE
7025 The result code associated with performing the operation
7026---------------------------------------------------------------------------*/
7027typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7028 void* pUserData);
7029
7030/*---------------------------------------------------------------------------
7031 WDI_KeepAliveCb
7032
7033 DESCRIPTION
7034
7035 This callback is invoked by DAL when it has received a Keep Alive
7036 response from the underlying device.
7037
7038 PARAMETERS
7039
7040 IN
7041 wdiStatus: response status received from HAL
7042 pUserData: user data
7043
7044
7045
7046 RETURN VALUE
7047 The result code associated with performing the operation
7048---------------------------------------------------------------------------*/
7049typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7050 void* pUserData);
7051
7052/*---------------------------------------------------------------------------
7053 WDI_WowlAddBcPtrnCb
7054
7055 DESCRIPTION
7056
7057 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7058 response from the underlying device.
7059
7060 PARAMETERS
7061
7062 IN
7063 wdiStatus: response status received from HAL
7064 pUserData: user data
7065
7066
7067
7068 RETURN VALUE
7069 The result code associated with performing the operation
7070---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007071typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007072 void* pUserData);
7073
7074/*---------------------------------------------------------------------------
7075 WDI_WowlDelBcPtrnCb
7076
7077 DESCRIPTION
7078
7079 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7080 response from the underlying device.
7081
7082 PARAMETERS
7083
7084 IN
7085 wdiStatus: response status received from HAL
7086 pUserData: user data
7087
7088
7089
7090 RETURN VALUE
7091 The result code associated with performing the operation
7092---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007093typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007094 void* pUserData);
7095
7096/*---------------------------------------------------------------------------
7097 WDI_WowlEnterReqCb
7098
7099 DESCRIPTION
7100
7101 This callback is invoked by DAL when it has received a Wowl enter
7102 response from the underlying device.
7103
7104 PARAMETERS
7105
7106 IN
7107 wdiStatus: response status received from HAL
7108 pUserData: user data
7109
7110
7111
7112 RETURN VALUE
7113 The result code associated with performing the operation
7114---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007115typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7116 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007117
7118/*---------------------------------------------------------------------------
7119 WDI_WowlExitReqCb
7120
7121 DESCRIPTION
7122
7123 This callback is invoked by DAL when it has received a Wowl exit
7124 response from the underlying device.
7125
7126 PARAMETERS
7127
7128 IN
7129 wdiStatus: response status received from HAL
7130 pUserData: user data
7131
7132
7133
7134 RETURN VALUE
7135 The result code associated with performing the operation
7136---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007137typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007138 void* pUserData);
7139
7140/*---------------------------------------------------------------------------
7141 WDI_ConfigureAppsCpuWakeupStateCb
7142
7143 DESCRIPTION
7144
7145 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7146 State response from the underlying device.
7147
7148 PARAMETERS
7149
7150 IN
7151 wdiStatus: response status received from HAL
7152 pUserData: user data
7153
7154
7155
7156 RETURN VALUE
7157 The result code associated with performing the operation
7158---------------------------------------------------------------------------*/
7159typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7160 void* pUserData);
7161/*---------------------------------------------------------------------------
7162 WDI_NvDownloadRspCb
7163
7164 DESCRIPTION
7165
7166 This callback is invoked by DAL when it has received a NV Download response
7167 from the underlying device.
7168
7169 PARAMETERS
7170
7171 IN
7172 wdiStatus:response status received from HAL
7173 pUserData:user data
7174
7175 RETURN VALUE
7176 The result code associated with performing the operation
7177---------------------------------------------------------------------------*/
7178typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7179 void* pUserData);
7180/*---------------------------------------------------------------------------
7181 WDI_FlushAcRspCb
7182
7183 DESCRIPTION
7184
7185 This callback is invoked by DAL when it has received a Flush AC response from
7186 the underlying device.
7187
7188 PARAMETERS
7189
7190 IN
7191 wdiStatus: response status received from HAL
7192 pUserData: user data
7193
7194
7195
7196 RETURN VALUE
7197 The result code associated with performing the operation
7198---------------------------------------------------------------------------*/
7199typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7200 void* pUserData);
7201
7202/*---------------------------------------------------------------------------
7203 WDI_BtAmpEventRspCb
7204
7205 DESCRIPTION
7206
7207 This callback is invoked by DAL when it has received a Bt AMP event response
7208 from the underlying device.
7209
7210 PARAMETERS
7211
7212 IN
7213 wdiStatus: response status received from HAL
7214 pUserData: user data
7215
7216
7217
7218 RETURN VALUE
7219 The result code associated with performing the operation
7220---------------------------------------------------------------------------*/
7221typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7222 void* pUserData);
7223
Jeff Johnsone7245742012-09-05 17:12:55 -07007224#ifdef FEATURE_OEM_DATA_SUPPORT
7225/*---------------------------------------------------------------------------
7226 WDI_oemDataRspCb
7227
7228 DESCRIPTION
7229
7230 This callback is invoked by DAL when it has received a Start oem data response from
7231 the underlying device.
7232
7233 PARAMETERS
7234
7235 IN
7236 wdiStatus: response status received from HAL
7237 pUserData: user data
7238
7239
7240
7241 RETURN VALUE
7242 The result code associated with performing the operation
7243---------------------------------------------------------------------------*/
7244typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7245 void* pUserData);
7246
7247#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007248
7249/*---------------------------------------------------------------------------
7250 WDI_HostResumeEventRspCb
7251
7252 DESCRIPTION
7253
7254 This callback is invoked by DAL when it has received a Bt AMP event response
7255 from the underlying device.
7256
7257 PARAMETERS
7258
7259 IN
7260 wdiStatus: response status received from HAL
7261 pUserData: user data
7262
7263
7264
7265 RETURN VALUE
7266 The result code associated with performing the operation
7267---------------------------------------------------------------------------*/
7268typedef void (*WDI_HostResumeEventRspCb)(
7269 WDI_SuspendResumeRspParamsType *resumeRspParams,
7270 void* pUserData);
7271
7272
7273#ifdef WLAN_FEATURE_VOWIFI_11R
7274/*---------------------------------------------------------------------------
7275 WDI_AggrAddTsRspCb
7276
7277 DESCRIPTION
7278
7279 This callback is invoked by DAL when it has received a Aggregated Add TS
7280 response from the underlying device.
7281
7282 PARAMETERS
7283
7284 IN
7285 wdiStatus: response status received from HAL
7286 pUserData: user data
7287
7288
7289
7290 RETURN VALUE
7291 The result code associated with performing the operation
7292---------------------------------------------------------------------------*/
7293typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7294 void* pUserData);
7295#endif /* WLAN_FEATURE_VOWIFI_11R */
7296
Jeff Johnson295189b2012-06-20 16:38:30 -07007297/*---------------------------------------------------------------------------
7298 WDI_FTMCommandRspCb
7299
7300 DESCRIPTION
7301
7302 FTM Command response CB
7303
7304 PARAMETERS
7305
7306 IN
7307 ftmCMDRspdata: FTM response data from HAL
7308 pUserData: user data
7309
7310
7311 RETURN VALUE
7312 NONE
7313---------------------------------------------------------------------------*/
7314typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7315 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007316
7317/*---------------------------------------------------------------------------
7318 WDI_AddSTASelfParamsRspCb
7319
7320 DESCRIPTION
7321
7322 This callback is invoked by DAL when it has received a Add Sta Self Params
7323 response from the underlying device.
7324
7325 PARAMETERS
7326
7327 IN
7328 wdiAddSelfSTARsp: response status received from HAL
7329 pUserData: user data
7330
7331
7332
7333 RETURN VALUE
7334 The result code associated with performing the operation
7335---------------------------------------------------------------------------*/
7336typedef void (*WDI_AddSTASelfParamsRspCb)(
7337 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7338 void* pUserData);
7339
7340
7341/*---------------------------------------------------------------------------
7342 WDI_DelSTASelfRspCb
7343
7344 DESCRIPTION
7345
7346 This callback is invoked by DAL when it has received a host offload
7347 response from the underlying device.
7348
7349 PARAMETERS
7350
7351 IN
7352 wdiStatus: response status received from HAL
7353 pUserData: user data
7354
7355
7356
7357 RETURN VALUE
7358 The result code associated with performing the operation
7359---------------------------------------------------------------------------*/
7360typedef void (*WDI_DelSTASelfRspCb)
7361(
7362WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7363void* pUserData
7364);
7365
7366#ifdef FEATURE_WLAN_SCAN_PNO
7367/*---------------------------------------------------------------------------
7368 WDI_PNOScanCb
7369
7370 DESCRIPTION
7371
7372 This callback is invoked by DAL when it has received a Set PNO
7373 response from the underlying device.
7374
7375 PARAMETERS
7376
7377 IN
7378 wdiStatus: response status received from HAL
7379 pUserData: user data
7380
7381
7382
7383 RETURN VALUE
7384 The result code associated with performing the operation
7385---------------------------------------------------------------------------*/
7386typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7387 void* pUserData);
7388
7389/*---------------------------------------------------------------------------
7390 WDI_PNOScanCb
7391
7392 DESCRIPTION
7393
7394 This callback is invoked by DAL when it has received a Set PNO
7395 response from the underlying device.
7396
7397 PARAMETERS
7398
7399 IN
7400 wdiStatus: response status received from HAL
7401 pUserData: user data
7402
7403
7404
7405 RETURN VALUE
7406 The result code associated with performing the operation
7407---------------------------------------------------------------------------*/
7408typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7409 void* pUserData);
7410
7411/*---------------------------------------------------------------------------
7412 WDI_UpdateScanParamsCb
7413
7414 DESCRIPTION
7415
7416 This callback is invoked by DAL when it has received a Update Scan Params
7417 response from the underlying device.
7418
7419 PARAMETERS
7420
7421 IN
7422 wdiStatus: response status received from HAL
7423 pUserData: user data
7424
7425
7426
7427 RETURN VALUE
7428 The result code associated with performing the operation
7429---------------------------------------------------------------------------*/
7430typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7431 void* pUserData);
7432#endif // FEATURE_WLAN_SCAN_PNO
7433
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007434typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7435 void* pUserData);
7436
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007437#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7438/*---------------------------------------------------------------------------
7439 WDI_RoamOffloadScanCb
7440
7441 DESCRIPTION
7442
7443 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7444 response from the underlying device.
7445
7446 PARAMETERS
7447
7448 IN
7449 wdiStatus: response status received from HAL
7450 pUserData: user data
7451
7452
7453
7454 RETURN VALUE
7455 The result code associated with performing the operation
7456---------------------------------------------------------------------------*/
7457typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7458 void* pUserData);
7459
7460#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007461/*---------------------------------------------------------------------------
7462 WDI_SetTxPerTrackingRspCb
7463
7464 DESCRIPTION
7465
7466 This callback is invoked by DAL when it has received a Tx PER Tracking
7467 response from the underlying device.
7468
7469 PARAMETERS
7470
7471 IN
7472 wdiStatus: response status received from HAL
7473 pUserData: user data
7474
7475
7476
7477 RETURN VALUE
7478 The result code associated with performing the operation
7479---------------------------------------------------------------------------*/
7480typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7481 void* pUserData);
7482
7483#ifdef WLAN_FEATURE_PACKET_FILTERING
7484/*---------------------------------------------------------------------------
7485 WDI_8023MulticastListCb
7486
7487 DESCRIPTION
7488
7489 This callback is invoked by DAL when it has received a 8023 Multicast List
7490 response from the underlying device.
7491
7492 PARAMETERS
7493
7494 IN
7495 wdiStatus: response status received from HAL
7496 pUserData: user data
7497
7498
7499
7500 RETURN VALUE
7501 The result code associated with performing the operation
7502---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007503typedef void (*WDI_8023MulticastListCb)(
7504 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7505 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007506
7507/*---------------------------------------------------------------------------
7508 WDI_ReceiveFilterSetFilterCb
7509
7510 DESCRIPTION
7511
7512 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7513 response from the underlying device.
7514
7515 PARAMETERS
7516
7517 IN
7518 wdiStatus: response status received from HAL
7519 pUserData: user data
7520
7521
7522
7523 RETURN VALUE
7524 The result code associated with performing the operation
7525---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007526typedef void (*WDI_ReceiveFilterSetFilterCb)(
7527 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7528 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007529
7530/*---------------------------------------------------------------------------
7531 WDI_FilterMatchCountCb
7532
7533 DESCRIPTION
7534
7535 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7536 response from the underlying device.
7537
7538 PARAMETERS
7539
7540 IN
7541 wdiStatus: response status received from HAL
7542 pUserData: user data
7543
7544
7545
7546 RETURN VALUE
7547 The result code associated with performing the operation
7548---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007549typedef void (*WDI_FilterMatchCountCb)(
7550 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7551 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007552
7553/*---------------------------------------------------------------------------
7554 WDI_ReceiveFilterClearFilterCb
7555
7556 DESCRIPTION
7557
7558 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7559 response from the underlying device.
7560
7561 PARAMETERS
7562
7563 IN
7564 wdiStatus: response status received from HAL
7565 pUserData: user data
7566
7567
7568
7569 RETURN VALUE
7570 The result code associated with performing the operation
7571---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007572typedef void (*WDI_ReceiveFilterClearFilterCb)(
7573 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7574 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007575#endif // WLAN_FEATURE_PACKET_FILTERING
7576
7577/*---------------------------------------------------------------------------
7578 WDI_HALDumpCmdRspCb
7579
7580 DESCRIPTION
7581
7582 This callback is invoked by DAL when it has received a HAL DUMP Command
7583response from
7584 the HAL layer.
7585
7586 PARAMETERS
7587
7588 IN
7589 wdiHalDumpCmdRsp: response status received from HAL
7590 pUserData: user data
7591
7592
7593
7594 RETURN VALUE
7595 The result code associated with performing the operation
7596---------------------------------------------------------------------------*/
7597typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7598 void* pUserData);
7599
7600/*---------------------------------------------------------------------------
7601 WDI_SetPowerParamsCb
7602
7603 DESCRIPTION
7604
7605 This callback is invoked by DAL when it has received a Set Power Param
7606 response from the underlying device.
7607
7608 PARAMETERS
7609
7610 IN
7611 wdiStatus: response status received from HAL
7612 pUserData: user data
7613
7614
7615
7616 RETURN VALUE
7617 The result code associated with performing the operation
7618---------------------------------------------------------------------------*/
7619typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7620 void* pUserData);
7621
7622#ifdef WLAN_FEATURE_GTK_OFFLOAD
7623/*---------------------------------------------------------------------------
7624 WDI_GtkOffloadCb
7625
7626 DESCRIPTION
7627
7628 This callback is invoked by DAL when it has received a GTK offload
7629 response from the underlying device.
7630
7631 PARAMETERS
7632
7633 IN
7634 wdiStatus: response status received from HAL
7635 pUserData: user data
7636
7637
7638
7639 RETURN VALUE
7640 The result code associated with performing the operation
7641---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007642typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007643 void* pUserData);
7644
7645/*---------------------------------------------------------------------------
7646 WDI_GtkOffloadGetInfoCb
7647
7648 DESCRIPTION
7649
7650 This callback is invoked by DAL when it has received a GTK offload
7651 information response from the underlying device.
7652
7653 PARAMETERS
7654
7655 IN
7656 wdiStatus: response status received from HAL
7657 pUserData: user data
7658
7659
7660
7661 RETURN VALUE
7662 The result code associated with performing the operation
7663---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007664typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007665 void* pUserData);
7666#endif // WLAN_FEATURE_GTK_OFFLOAD
7667
7668/*---------------------------------------------------------------------------
7669 WDI_SetTmLevelCb
7670
7671 DESCRIPTION
7672
7673 This callback is invoked by DAL when it has received a Set New TM Level
7674 done response from the underlying device.
7675
7676 PARAMETERS
7677
7678 IN
7679 wdiStatus: response status received from HAL
7680 pUserData: user data
7681
7682
7683
7684 RETURN VALUE
7685 The result code associated with performing the operation
7686---------------------------------------------------------------------------*/
7687typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7688 void* pUserData);
7689
7690/*---------------------------------------------------------------------------
7691 WDI_featureCapsExchangeCb
7692
7693 DESCRIPTION
7694
7695 This callback is invoked by DAL when it has received a HAL Feature Capbility
7696 Exchange Response the HAL layer. This callback is put to mantain code
7697 similarity and is not being used right now.
7698
7699 PARAMETERS
7700
7701 IN
7702 wdiFeatCapRspParams: response parameters received from HAL
7703 pUserData: user data
7704
7705 RETURN VALUE
7706 The result code associated with performing the operation
7707---------------------------------------------------------------------------*/
7708typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7709 void* pUserData);
7710
Mohit Khanna4a70d262012-09-11 16:30:12 -07007711#ifdef WLAN_FEATURE_11AC
7712typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7713 void* pUserData);
7714#endif
7715
Leo Chang9056f462013-08-01 19:21:11 -07007716#ifdef FEATURE_WLAN_LPHB
7717typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7718 void* pUserData);
7719#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007720
Rajeev79dbe4c2013-10-05 11:03:42 +05307721#ifdef FEATURE_WLAN_BATCH_SCAN
7722/*---------------------------------------------------------------------------
7723 WDI_SetBatchScanCb
7724
7725 DESCRIPTION
7726
7727 This callback is invoked by DAL when it has received a get batch scan
7728 response from the underlying device.
7729
7730 PARAMETERS
7731
7732 IN
7733 wdiStatus: response status received from HAL
7734 pUserData: user data
7735
7736
7737
7738 RETURN VALUE
7739 The result code associated with performing the operation
7740---------------------------------------------------------------------------*/
7741typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7742
7743#endif
7744
c_hpothu92367912014-05-01 15:18:17 +05307745typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7746 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307747
Dino Mycle41bdc942014-06-10 11:30:24 +05307748#ifdef WLAN_FEATURE_EXTSCAN
7749typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7750 void *pUserData);
7751typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7752 void *pUserData);
7753typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7754 void *pUserData);
7755typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7756 void *pUserData);
7757typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7758 void *pUserData);
7759typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7760 void *pUserData);
7761typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7762 void *pUserData);
7763typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7764 void *pUserData);
7765#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307766
7767#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7768typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7769 void *pUserData);
7770typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7771 void *pUserData);
7772typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7773 void *pUserData);
7774#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Jeff Johnson295189b2012-06-20 16:38:30 -07007775/*========================================================================
7776 * Function Declarations and Documentation
7777 ==========================================================================*/
7778
7779/*========================================================================
7780
7781 INITIALIZATION APIs
7782
7783==========================================================================*/
7784
7785/**
7786 @brief WDI_Init is used to initialize the DAL.
7787
7788 DAL will allocate all the resources it needs. It will open PAL, it will also
7789 open both the data and the control transport which in their turn will open
7790 DXE/SMD or any other drivers that they need.
7791
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307792 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007793 ppWDIGlobalCtx: output pointer of Global Context
7794 pWdiDevCapability: output pointer of device capability
7795
7796 @return Result of the function call
7797*/
7798WDI_Status
7799WDI_Init
7800(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307801 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007802 void** ppWDIGlobalCtx,
7803 WDI_DeviceCapabilityType* pWdiDevCapability,
7804 unsigned int driverType
7805);
7806
7807/**
7808 @brief WDI_Start will be called when the upper MAC is ready to
7809 commence operation with the WLAN Device. Upon the call
7810 of this API the WLAN DAL will pack and send a HAL Start
7811 message to the lower RIVA sub-system if the SMD channel
7812 has been fully opened and the RIVA subsystem is up.
7813
7814 If the RIVA sub-system is not yet up and running DAL
7815 will queue the request for Open and will wait for the
7816 SMD notification before attempting to send down the
7817 message to HAL.
7818
7819 WDI_Init must have been called.
7820
7821 @param wdiStartParams: the start parameters as specified by
7822 the Device Interface
7823
7824 wdiStartRspCb: callback for passing back the response of
7825 the start operation received from the device
7826
7827 pUserData: user data will be passed back with the
7828 callback
7829
7830 @see WDI_Start
7831 @return Result of the function call
7832*/
7833WDI_Status
7834WDI_Start
7835(
7836 WDI_StartReqParamsType* pwdiStartParams,
7837 WDI_StartRspCb wdiStartRspCb,
7838 void* pUserData
7839);
7840
7841
7842/**
7843 @brief WDI_Stop will be called when the upper MAC is ready to
7844 stop any operation with the WLAN Device. Upon the call
7845 of this API the WLAN DAL will pack and send a HAL Stop
7846 message to the lower RIVA sub-system if the DAL Core is
7847 in started state.
7848
7849 In state BUSY this request will be queued.
7850
7851 Request will not be accepted in any other state.
7852
7853 WDI_Start must have been called.
7854
7855 @param wdiStopParams: the stop parameters as specified by
7856 the Device Interface
7857
7858 wdiStopRspCb: callback for passing back the response of
7859 the stop operation received from the device
7860
7861 pUserData: user data will be passed back with the
7862 callback
7863
7864 @see WDI_Start
7865 @return Result of the function call
7866*/
7867WDI_Status
7868WDI_Stop
7869(
7870 WDI_StopReqParamsType* pwdiStopParams,
7871 WDI_StopRspCb wdiStopRspCb,
7872 void* pUserData
7873);
7874
7875/**
7876 @brief WDI_Close will be called when the upper MAC no longer
7877 needs to interract with DAL. DAL will free its control
7878 block.
7879
7880 It is only accepted in state STOPPED.
7881
7882 WDI_Stop must have been called.
7883
7884 @param none
7885
7886 @see WDI_Stop
7887 @return Result of the function call
7888*/
7889WDI_Status
7890WDI_Close
7891(
7892 void
7893);
7894
7895
7896/**
7897 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7898 This will do most of the WDI stop & close
7899 operations without doing any handshake with Riva
7900
7901 This will also make sure that the control transport
7902 will NOT be closed.
7903
7904 This request will not be queued.
7905
7906
7907 WDI_Start must have been called.
7908
7909 @param closeTransport: Close control channel if this is set
7910
7911 @return Result of the function call
7912*/
7913WDI_Status
7914WDI_Shutdown
7915(
7916 wpt_boolean closeTransport
7917);
7918
7919/*========================================================================
7920
7921 SCAN APIs
7922
7923==========================================================================*/
7924
7925/**
7926 @brief WDI_InitScanReq will be called when the upper MAC wants
7927 the WLAN Device to get ready for a scan procedure. Upon
7928 the call of this API the WLAN DAL will pack and send a
7929 HAL Init Scan request message to the lower RIVA
7930 sub-system if DAL is in state STARTED.
7931
7932 In state BUSY this request will be queued. Request won't
7933 be allowed in any other state.
7934
7935 WDI_Start must have been called.
7936
7937 @param wdiInitScanParams: the init scan parameters as specified
7938 by the Device Interface
7939
7940 wdiInitScanRspCb: callback for passing back the response
7941 of the init scan operation received from the device
7942
7943 pUserData: user data will be passed back with the
7944 callback
7945
7946 @see WDI_Start
7947 @return Result of the function call
7948*/
7949WDI_Status
7950WDI_InitScanReq
7951(
7952 WDI_InitScanReqParamsType* pwdiInitScanParams,
7953 WDI_InitScanRspCb wdiInitScanRspCb,
7954 void* pUserData
7955);
7956
7957/**
7958 @brief WDI_StartScanReq will be called when the upper MAC
7959 wishes to change the Scan channel on the WLAN Device.
7960 Upon the call of this API the WLAN DAL will pack and
7961 send a HAL Start Scan request message to the lower RIVA
7962 sub-system if DAL is in state STARTED.
7963
7964 In state BUSY this request will be queued. Request won't
7965 be allowed in any other state.
7966
7967 WDI_InitScanReq must have been called.
7968
7969 @param wdiStartScanParams: the start scan parameters as
7970 specified by the Device Interface
7971
7972 wdiStartScanRspCb: callback for passing back the
7973 response of the start scan operation received from the
7974 device
7975
7976 pUserData: user data will be passed back with the
7977 callback
7978
7979 @see WDI_InitScanReq
7980 @return Result of the function call
7981*/
7982WDI_Status
7983WDI_StartScanReq
7984(
7985 WDI_StartScanReqParamsType* pwdiStartScanParams,
7986 WDI_StartScanRspCb wdiStartScanRspCb,
7987 void* pUserData
7988);
7989
7990
7991/**
7992 @brief WDI_EndScanReq will be called when the upper MAC is
7993 wants to end scanning for a particular channel that it
7994 had set before by calling Scan Start on the WLAN Device.
7995 Upon the call of this API the WLAN DAL will pack and
7996 send a HAL End Scan request message to the lower RIVA
7997 sub-system if DAL is in state STARTED.
7998
7999 In state BUSY this request will be queued. Request won't
8000 be allowed in any other state.
8001
8002 WDI_StartScanReq must have been called.
8003
8004 @param wdiEndScanParams: the end scan parameters as specified
8005 by the Device Interface
8006
8007 wdiEndScanRspCb: callback for passing back the response
8008 of the end scan operation received from the device
8009
8010 pUserData: user data will be passed back with the
8011 callback
8012
8013 @see WDI_StartScanReq
8014 @return Result of the function call
8015*/
8016WDI_Status
8017WDI_EndScanReq
8018(
8019 WDI_EndScanReqParamsType* pwdiEndScanParams,
8020 WDI_EndScanRspCb wdiEndScanRspCb,
8021 void* pUserData
8022);
8023
8024
8025/**
8026 @brief WDI_FinishScanReq will be called when the upper MAC has
8027 completed the scan process on the WLAN Device. Upon the
8028 call of this API the WLAN DAL will pack and send a HAL
8029 Finish Scan Request request message to the lower RIVA
8030 sub-system if DAL is in state STARTED.
8031
8032 In state BUSY this request will be queued. Request won't
8033 be allowed in any other state.
8034
8035 WDI_InitScanReq must have been called.
8036
8037 @param wdiFinishScanParams: the finish scan parameters as
8038 specified by the Device Interface
8039
8040 wdiFinishScanRspCb: callback for passing back the
8041 response of the finish scan operation received from the
8042 device
8043
8044 pUserData: user data will be passed back with the
8045 callback
8046
8047 @see WDI_InitScanReq
8048 @return Result of the function call
8049*/
8050WDI_Status
8051WDI_FinishScanReq
8052(
8053 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8054 WDI_FinishScanRspCb wdiFinishScanRspCb,
8055 void* pUserData
8056);
8057
8058/*========================================================================
8059
8060 ASSOCIATION APIs
8061
8062==========================================================================*/
8063
8064/**
8065 @brief WDI_JoinReq will be called when the upper MAC is ready
8066 to start an association procedure to a BSS. Upon the
8067 call of this API the WLAN DAL will pack and send a HAL
8068 Join request message to the lower RIVA sub-system if
8069 DAL is in state STARTED.
8070
8071 In state BUSY this request will be queued. Request won't
8072 be allowed in any other state.
8073
8074 WDI_Start must have been called.
8075
8076 @param wdiJoinParams: the join parameters as specified by
8077 the Device Interface
8078
8079 wdiJoinRspCb: callback for passing back the response of
8080 the join operation received from the device
8081
8082 pUserData: user data will be passed back with the
8083 callback
8084
8085 @see WDI_Start
8086 @return Result of the function call
8087*/
8088WDI_Status
8089WDI_JoinReq
8090(
8091 WDI_JoinReqParamsType* pwdiJoinParams,
8092 WDI_JoinRspCb wdiJoinRspCb,
8093 void* pUserData
8094);
8095
8096/**
8097 @brief WDI_ConfigBSSReq will be called when the upper MAC
8098 wishes to configure the newly acquired or in process of
8099 being acquired BSS to the HW . Upon the call of this API
8100 the WLAN DAL will pack and send a HAL Config BSS request
8101 message to the lower RIVA sub-system if DAL is in state
8102 STARTED.
8103
8104 In state BUSY this request will be queued. Request won't
8105 be allowed in any other state.
8106
8107 WDI_JoinReq must have been called.
8108
8109 @param wdiConfigBSSParams: the config BSS parameters as
8110 specified by the Device Interface
8111
8112 wdiConfigBSSRspCb: callback for passing back the
8113 response of the config BSS operation received from the
8114 device
8115
8116 pUserData: user data will be passed back with the
8117 callback
8118
8119 @see WDI_JoinReq
8120 @return Result of the function call
8121*/
8122WDI_Status
8123WDI_ConfigBSSReq
8124(
8125 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8126 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8127 void* pUserData
8128);
8129
8130/**
8131 @brief WDI_DelBSSReq will be called when the upper MAC is
8132 dissasociating from the BSS and wishes to notify HW.
8133 Upon the call of this API the WLAN DAL will pack and
8134 send a HAL Del BSS request message to the lower RIVA
8135 sub-system if DAL is in state STARTED.
8136
8137 In state BUSY this request will be queued. Request won't
8138 be allowed in any other state.
8139
8140 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8141
8142 @param wdiDelBSSParams: the del BSS parameters as specified by
8143 the Device Interface
8144
8145 wdiDelBSSRspCb: callback for passing back the response
8146 of the del bss operation received from the device
8147
8148 pUserData: user data will be passed back with the
8149 callback
8150
8151 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8152 @return Result of the function call
8153*/
8154WDI_Status
8155WDI_DelBSSReq
8156(
8157 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8158 WDI_DelBSSRspCb wdiDelBSSRspCb,
8159 void* pUserData
8160);
8161
8162/**
8163 @brief WDI_PostAssocReq will be called when the upper MAC has
8164 associated to a BSS and wishes to configure HW for
8165 associated state. Upon the call of this API the WLAN DAL
8166 will pack and send a HAL Post Assoc request message to
8167 the lower RIVA sub-system if DAL is in state STARTED.
8168
8169 In state BUSY this request will be queued. Request won't
8170 be allowed in any other state.
8171
8172 WDI_JoinReq must have been called.
8173
8174 @param wdiPostAssocReqParams: the assoc parameters as specified
8175 by the Device Interface
8176
8177 wdiPostAssocRspCb: callback for passing back the
8178 response of the post assoc operation received from the
8179 device
8180
8181 pUserData: user data will be passed back with the
8182 callback
8183
8184 @see WDI_JoinReq
8185 @return Result of the function call
8186*/
8187WDI_Status
8188WDI_PostAssocReq
8189(
8190 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8191 WDI_PostAssocRspCb wdiPostAssocRspCb,
8192 void* pUserData
8193);
8194
8195/**
8196 @brief WDI_DelSTAReq will be called when the upper MAC when an
8197 association with another STA has ended and the station
8198 must be deleted from HW. Upon the call of this API the
8199 WLAN DAL will pack and send a HAL Del STA request
8200 message to the lower RIVA sub-system if DAL is in state
8201 STARTED.
8202
8203 In state BUSY this request will be queued. Request won't
8204 be allowed in any other state.
8205
8206 WDI_PostAssocReq must have been called.
8207
8208 @param wdiDelSTAParams: the Del STA parameters as specified by
8209 the Device Interface
8210
8211 wdiDelSTARspCb: callback for passing back the response
8212 of the del STA operation received from the device
8213
8214 pUserData: user data will be passed back with the
8215 callback
8216
8217 @see WDI_PostAssocReq
8218 @return Result of the function call
8219*/
8220WDI_Status
8221WDI_DelSTAReq
8222(
8223 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8224 WDI_DelSTARspCb wdiDelSTARspCb,
8225 void* pUserData
8226);
8227
8228/*========================================================================
8229
8230 SECURITY APIs
8231
8232==========================================================================*/
8233
8234/**
8235 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8236 install a BSS encryption key on the HW. Upon the call of
8237 this API the WLAN DAL will pack and send a HAL Start
8238 request message to the lower RIVA sub-system if DAL is
8239 in state STARTED.
8240
8241 In state BUSY this request will be queued. Request won't
8242 be allowed in any other state.
8243
8244 WDI_PostAssocReq must have been called.
8245
8246 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8247 specified by the Device Interface
8248
8249 wdiSetBSSKeyRspCb: callback for passing back the
8250 response of the set BSS Key operation received from the
8251 device
8252
8253 pUserData: user data will be passed back with the
8254 callback
8255
8256 @see WDI_PostAssocReq
8257 @return Result of the function call
8258*/
8259WDI_Status
8260WDI_SetBSSKeyReq
8261(
8262 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8263 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8264 void* pUserData
8265);
8266
8267
8268/**
8269 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8270 uninstall a BSS key from HW. Upon the call of this API
8271 the WLAN DAL will pack and send a HAL Remove BSS Key
8272 request message to the lower RIVA sub-system if DAL is
8273 in state STARTED.
8274
8275 In state BUSY this request will be queued. Request won't
8276 be allowed in any other state.
8277
8278 WDI_SetBSSKeyReq must have been called.
8279
8280 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8281 specified by the Device Interface
8282
8283 wdiRemoveBSSKeyRspCb: callback for passing back the
8284 response of the remove BSS key operation received from
8285 the device
8286
8287 pUserData: user data will be passed back with the
8288 callback
8289
8290 @see WDI_SetBSSKeyReq
8291 @return Result of the function call
8292*/
8293WDI_Status
8294WDI_RemoveBSSKeyReq
8295(
8296 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8297 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8298 void* pUserData
8299);
8300
8301
8302/**
8303 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8304 ready to install a STA(ast) encryption key in HW. Upon
8305 the call of this API the WLAN DAL will pack and send a
8306 HAL Set STA Key request message to the lower RIVA
8307 sub-system if DAL is in state STARTED.
8308
8309 In state BUSY this request will be queued. Request won't
8310 be allowed in any other state.
8311
8312 WDI_PostAssocReq must have been called.
8313
8314 @param wdiSetSTAKeyParams: the set STA key parameters as
8315 specified by the Device Interface
8316
8317 wdiSetSTAKeyRspCb: callback for passing back the
8318 response of the set STA key operation received from the
8319 device
8320
8321 pUserData: user data will be passed back with the
8322 callback
8323
8324 @see WDI_PostAssocReq
8325 @return Result of the function call
8326*/
8327WDI_Status
8328WDI_SetSTAKeyReq
8329(
8330 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8331 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8332 void* pUserData
8333);
8334
8335
8336/**
8337 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8338 wants to unistall a previously set STA key in HW. Upon
8339 the call of this API the WLAN DAL will pack and send a
8340 HAL Remove STA Key request message to the lower RIVA
8341 sub-system if DAL is in state STARTED.
8342
8343 In state BUSY this request will be queued. Request won't
8344 be allowed in any other state.
8345
8346 WDI_SetSTAKeyReq must have been called.
8347
8348 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8349 specified by the Device Interface
8350
8351 wdiRemoveSTAKeyRspCb: callback for passing back the
8352 response of the remove STA key operation received from
8353 the device
8354
8355 pUserData: user data will be passed back with the
8356 callback
8357
8358 @see WDI_SetSTAKeyReq
8359 @return Result of the function call
8360*/
8361WDI_Status
8362WDI_RemoveSTAKeyReq
8363(
8364 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8365 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8366 void* pUserData
8367);
8368
8369/**
8370 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8371 wants to install a STA Bcast encryption key on the HW.
8372 Upon the call of this API the WLAN DAL will pack and
8373 send a HAL Start request message to the lower RIVA
8374 sub-system if DAL is in state STARTED.
8375
8376 In state BUSY this request will be queued. Request won't
8377 be allowed in any other state.
8378
8379 WDI_PostAssocReq must have been called.
8380
8381 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8382 specified by the Device Interface
8383
8384 wdiSetSTABcastKeyRspCb: callback for passing back the
8385 response of the set BSS Key operation received from the
8386 device
8387
8388 pUserData: user data will be passed back with the
8389 callback
8390
8391 @see WDI_PostAssocReq
8392 @return Result of the function call
8393*/
8394WDI_Status
8395WDI_SetSTABcastKeyReq
8396(
8397 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8398 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8399 void* pUserData
8400);
8401
8402
8403/**
8404 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8405 MAC to uninstall a STA Bcast key from HW. Upon the call
8406 of this API the WLAN DAL will pack and send a HAL Remove
8407 STA Bcast Key request message to the lower RIVA
8408 sub-system if DAL is in state STARTED.
8409
8410 In state BUSY this request will be queued. Request won't
8411 be allowed in any other state.
8412
8413 WDI_SetSTABcastKeyReq must have been called.
8414
8415 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8416 parameters as specified by the Device
8417 Interface
8418
8419 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8420 response of the remove STA Bcast key operation received
8421 from the device
8422
8423 pUserData: user data will be passed back with the
8424 callback
8425
8426 @see WDI_SetSTABcastKeyReq
8427 @return Result of the function call
8428*/
8429WDI_Status
8430WDI_RemoveSTABcastKeyReq
8431(
8432 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8433 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8434 void* pUserData
8435);
8436
schang86c22c42013-03-13 18:41:24 -07008437
8438/**
8439 @brief WDI_SetTxPowerReq will be called when the upper
8440 MAC wants to set Tx Power to HW.
8441 In state BUSY this request will be queued. Request won't
8442 be allowed in any other state.
8443
8444
8445 @param pwdiSetTxPowerParams: set TS Power parameters
8446 BSSID and target TX Power with dbm included
8447
8448 wdiReqStatusCb: callback for passing back the response
8449
8450 pUserData: user data will be passed back with the
8451 callback
8452
8453 @return Result of the function call
8454*/
8455WDI_Status
8456WDI_SetTxPowerReq
8457(
8458 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8459 WDA_SetTxPowerRspCb wdiReqStatusCb,
8460 void* pUserData
8461);
8462
Jeff Johnson295189b2012-06-20 16:38:30 -07008463/**
8464 @brief WDI_SetMaxTxPowerReq will be called when the upper
8465 MAC wants to set Max Tx Power to HW. Upon the
8466 call of this API the WLAN DAL will pack and send a HAL
8467 Remove STA Bcast Key request message to the lower RIVA
8468 sub-system if DAL is in state STARTED.
8469
8470 In state BUSY this request will be queued. Request won't
8471 be allowed in any other state.
8472
8473 WDI_SetSTABcastKeyReq must have been called.
8474
8475 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8476 parameters as specified by the Device
8477 Interface
8478
8479 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8480 response of the remove STA Bcast key operation received
8481 from the device
8482
8483 pUserData: user data will be passed back with the
8484 callback
8485
8486 @see WDI_SetMaxTxPowerReq
8487 @return Result of the function call
8488*/
8489WDI_Status
8490WDI_SetMaxTxPowerReq
8491(
8492 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8493 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8494 void* pUserData
8495);
8496
Arif Hussaina5ebce02013-08-09 15:09:58 -07008497/**
8498 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8499 MAC wants to set Max Tx Power to HW for specific band. Upon the
8500 call of this API the WLAN DAL will pack and send a HAL
8501 Set Max Tx Power Per Band request message to the lower RIVA
8502 sub-system if DAL is in state STARTED.
8503
8504 In state BUSY this request will be queued. Request won't
8505 be allowed in any other state.
8506
8507
8508 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8509
8510 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8511 when it has received a set max Tx Power Per Band response from
8512 the underlying device.
8513
8514 pUserData: user data will be passed back with the
8515 callback
8516
8517 @see WDI_SetMaxTxPowerPerBandReq
8518 @return Result of the function call
8519*/
8520WDI_Status
8521WDI_SetMaxTxPowerPerBandReq
8522(
8523 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8524 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8525 void* pUserData
8526);
8527
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008528#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008529/**
8530 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8531 Traffic Stream metrics.
8532 In state BUSY this request will be queued. Request won't
8533 be allowed in any other state.
8534
8535 @param wdiAddTsReqParams: the add TS parameters as specified by
8536 the Device Interface
8537
8538 wdiAddTsRspCb: callback for passing back the response of
8539 the add TS operation received from the device
8540
8541 pUserData: user data will be passed back with the
8542 callback
8543
8544 @see WDI_PostAssocReq
8545 @return Result of the function call
8546*/
8547WDI_Status
8548WDI_TSMStatsReq
8549(
8550 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8551 WDI_TsmRspCb wdiTsmStatsRspCb,
8552 void* pUserData
8553);
8554
8555
8556#endif
8557
8558/*========================================================================
8559
8560 QoS and BA APIs
8561
8562==========================================================================*/
8563
8564/**
8565 @brief WDI_AddTSReq will be called when the upper MAC to inform
8566 the device of a successful add TSpec negotiation. HW
8567 needs to receive the TSpec Info from the UMAC in order
8568 to configure properly the QoS data traffic. Upon the
8569 call of this API the WLAN DAL will pack and send a HAL
8570 Add TS request message to the lower RIVA sub-system if
8571 DAL is in state STARTED.
8572
8573 In state BUSY this request will be queued. Request won't
8574 be allowed in any other state.
8575
8576 WDI_PostAssocReq must have been called.
8577
8578 @param wdiAddTsReqParams: the add TS parameters as specified by
8579 the Device Interface
8580
8581 wdiAddTsRspCb: callback for passing back the response of
8582 the add TS operation received from the device
8583
8584 pUserData: user data will be passed back with the
8585 callback
8586
8587 @see WDI_PostAssocReq
8588 @return Result of the function call
8589*/
8590WDI_Status
8591WDI_AddTSReq
8592(
8593 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8594 WDI_AddTsRspCb wdiAddTsRspCb,
8595 void* pUserData
8596);
8597
8598
8599
8600/**
8601 @brief WDI_DelTSReq will be called when the upper MAC has ended
8602 admission on a specific AC. This is to inform HW that
8603 QoS traffic parameters must be rest. Upon the call of
8604 this API the WLAN DAL will pack and send a HAL Del TS
8605 request message to the lower RIVA sub-system if DAL is
8606 in state STARTED.
8607
8608 In state BUSY this request will be queued. Request won't
8609 be allowed in any other state.
8610
8611 WDI_AddTSReq must have been called.
8612
8613 @param wdiDelTsReqParams: the del TS parameters as specified by
8614 the Device Interface
8615
8616 wdiDelTsRspCb: callback for passing back the response of
8617 the del TS operation received from the device
8618
8619 pUserData: user data will be passed back with the
8620 callback
8621
8622 @see WDI_AddTSReq
8623 @return Result of the function call
8624*/
8625WDI_Status
8626WDI_DelTSReq
8627(
8628 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8629 WDI_DelTsRspCb wdiDelTsRspCb,
8630 void* pUserData
8631);
8632
8633
8634
8635/**
8636 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8637 wishes to update the EDCA parameters used by HW for QoS
8638 data traffic. Upon the call of this API the WLAN DAL
8639 will pack and send a HAL Update EDCA Params request
8640 message to the lower RIVA sub-system if DAL is in state
8641 STARTED.
8642
8643 In state BUSY this request will be queued. Request won't
8644 be allowed in any other state.
8645
8646 WDI_PostAssocReq must have been called.
8647
8648 @param wdiUpdateEDCAParams: the start parameters as specified
8649 by the Device Interface
8650
8651 wdiUpdateEDCAParamsRspCb: callback for passing back the
8652 response of the start operation received from the device
8653
8654 pUserData: user data will be passed back with the
8655 callback
8656
8657 @see WDI_PostAssocReq
8658 @return Result of the function call
8659*/
8660WDI_Status
8661WDI_UpdateEDCAParams
8662(
8663 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8664 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8665 void* pUserData
8666);
8667
8668
8669
8670/**
8671 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8672 successfully a BA session and needs to notify the HW for
8673 the appropriate settings to take place. Upon the call of
8674 this API the WLAN DAL will pack and send a HAL Add BA
8675 request message to the lower RIVA sub-system if DAL is
8676 in state STARTED.
8677
8678 In state BUSY this request will be queued. Request won't
8679 be allowed in any other state.
8680
8681 WDI_PostAssocReq must have been called.
8682
8683 @param wdiAddBAReqParams: the add BA parameters as specified by
8684 the Device Interface
8685
8686 wdiAddBARspCb: callback for passing back the response of
8687 the add BA operation received from the device
8688
8689 pUserData: user data will be passed back with the
8690 callback
8691
8692 @see WDI_PostAssocReq
8693 @return Result of the function call
8694*/
8695WDI_Status
8696WDI_AddBASessionReq
8697(
8698 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8699 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8700 void* pUserData
8701);
8702
8703
8704/**
8705 @brief WDI_DelBAReq will be called when the upper MAC wants to
8706 inform HW that it has deleted a previously created BA
8707 session. Upon the call of this API the WLAN DAL will
8708 pack and send a HAL Del BA request message to the lower
8709 RIVA sub-system if DAL is in state STARTED.
8710
8711 In state BUSY this request will be queued. Request won't
8712 be allowed in any other state.
8713
8714 WDI_AddBAReq must have been called.
8715
8716 @param wdiDelBAReqParams: the del BA parameters as specified by
8717 the Device Interface
8718
8719 wdiDelBARspCb: callback for passing back the response of
8720 the del BA operation received from the device
8721
8722 pUserData: user data will be passed back with the
8723 callback
8724
8725 @see WDI_AddBAReq
8726 @return Result of the function call
8727*/
8728WDI_Status
8729WDI_DelBAReq
8730(
8731 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8732 WDI_DelBARspCb wdiDelBARspCb,
8733 void* pUserData
8734);
8735
8736/**
8737 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8738 inform HW that there is a change in the beacon parameters
8739 Upon the call of this API the WLAN DAL will
8740 pack and send a UpdateBeacon Params message to the lower
8741 RIVA sub-system if DAL is in state STARTED.
8742
8743 In state BUSY this request will be queued. Request won't
8744 be allowed in any other state.
8745
8746 WDI_UpdateBeaconParamsReq must have been called.
8747
8748 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8749 the Device Interface
8750
8751 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8752 the Update Beacon Params operation received from the device
8753
8754 pUserData: user data will be passed back with the
8755 callback
8756
8757 @see WDI_AddBAReq
8758 @return Result of the function call
8759*/
8760
8761WDI_Status
8762WDI_UpdateBeaconParamsReq
8763(
8764 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8765 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8766 void* pUserData
8767);
8768
8769
8770/**
8771 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8772 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8773 Upon the call of this API the WLAN DAL will
8774 pack and send the beacon Template message to the lower
8775 RIVA sub-system if DAL is in state STARTED.
8776
8777 In state BUSY this request will be queued. Request won't
8778 be allowed in any other state.
8779
8780 WDI_SendBeaconParamsReq must have been called.
8781
8782 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8783 the Device Interface
8784
8785 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8786 the Send Beacon Params operation received from the device
8787
8788 pUserData: user data will be passed back with the
8789 callback
8790
8791 @see WDI_AddBAReq
8792 @return Result of the function call
8793*/
8794
8795WDI_Status
8796WDI_SendBeaconParamsReq
8797(
8798 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8799 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8800 void* pUserData
8801);
8802
8803
8804/**
8805 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8806 upper MAC wants to update the probe response template to
8807 be transmitted as Soft AP
8808 Upon the call of this API the WLAN DAL will
8809 pack and send the probe rsp template message to the
8810 lower RIVA sub-system if DAL is in state STARTED.
8811
8812 In state BUSY this request will be queued. Request won't
8813 be allowed in any other state.
8814
8815
8816 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8817 specified by the Device Interface
8818
8819 wdiSendBeaconParamsRspCb: callback for passing back the
8820 response of the Send Beacon Params operation received
8821 from the device
8822
8823 pUserData: user data will be passed back with the
8824 callback
8825
8826 @see WDI_AddBAReq
8827 @return Result of the function call
8828*/
8829
8830WDI_Status
8831WDI_UpdateProbeRspTemplateReq
8832(
8833 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8834 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8835 void* pUserData
8836);
8837
Jeff Johnson295189b2012-06-20 16:38:30 -07008838/**
8839 @brief WDI_SetP2PGONOAReq will be called when the
8840 upper MAC wants to send Notice of Absence
8841 Upon the call of this API the WLAN DAL will
8842 pack and send the probe rsp template message to the
8843 lower RIVA sub-system if DAL is in state STARTED.
8844
8845 In state BUSY this request will be queued. Request won't
8846 be allowed in any other state.
8847
8848
8849 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8850 specified by the Device Interface
8851
8852 wdiSendBeaconParamsRspCb: callback for passing back the
8853 response of the Send Beacon Params operation received
8854 from the device
8855
8856 pUserData: user data will be passed back with the
8857 callback
8858
8859 @see WDI_AddBAReq
8860 @return Result of the function call
8861*/
8862WDI_Status
8863WDI_SetP2PGONOAReq
8864(
8865 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8866 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8867 void* pUserData
8868);
Jeff Johnson295189b2012-06-20 16:38:30 -07008869
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308870/**
8871 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8872 upper MAC wants to send TDLS Link Establish Request Parameters
8873 Upon the call of this API the WLAN DAL will
8874 pack and send the TDLS Link Establish Request message to the
8875 lower RIVA sub-system if DAL is in state STARTED.
8876
8877 In state BUSY this request will be queued. Request won't
8878 be allowed in any other state.
8879
8880
8881 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8882 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8883
8884 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8885 response of the TDLS Link Establish request received
8886 from the device
8887
8888 pUserData: user data will be passed back with the
8889 callback
8890
8891 @see
8892 @return Result of the function call
8893*/
8894WDI_Status
8895WDI_SetTDLSLinkEstablishReq
8896(
8897 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8898 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8899 void* pUserData
8900);
Jeff Johnson295189b2012-06-20 16:38:30 -07008901
Atul Mittalc0f739f2014-07-31 13:47:47 +05308902WDI_Status
8903WDI_SetTDLSChanSwitchReq
8904(
8905 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
8906 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
8907 void* pUserData
8908);
Jeff Johnson295189b2012-06-20 16:38:30 -07008909/*========================================================================
8910
8911 Power Save APIs
8912
8913==========================================================================*/
8914
8915/**
8916 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8917 wants to set the power save related configurations of
8918 the WLAN Device. Upon the call of this API the WLAN DAL
8919 will pack and send a HAL Update CFG request message to
8920 the lower RIVA sub-system if DAL is in state STARTED.
8921
8922 In state BUSY this request will be queued. Request won't
8923 be allowed in any other state.
8924
8925 WDI_Start must have been called.
8926
8927 @param pwdiPowerSaveCfg: the power save cfg parameters as
8928 specified by the Device Interface
8929
8930 wdiSetPwrSaveCfgCb: callback for passing back the
8931 response of the set power save cfg operation received
8932 from the device
8933
8934 pUserData: user data will be passed back with the
8935 callback
8936
8937 @see WDI_Start
8938 @return Result of the function call
8939*/
8940WDI_Status
8941WDI_SetPwrSaveCfgReq
8942(
8943 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8944 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8945 void* pUserData
8946);
8947
8948/**
8949 @brief WDI_EnterImpsReq will be called when the upper MAC to
8950 request the device to get into IMPS power state. Upon
8951 the call of this API the WLAN DAL will send a HAL Enter
8952 IMPS request message to the lower RIVA sub-system if DAL
8953 is in state STARTED.
8954
8955 In state BUSY this request will be queued. Request won't
8956 be allowed in any other state.
8957
8958
8959 @param wdiEnterImpsRspCb: callback for passing back the
8960 response of the Enter IMPS operation received from the
8961 device
8962
8963 pUserData: user data will be passed back with the
8964 callback
8965
8966 @see WDI_Start
8967 @return Result of the function call
8968*/
8969WDI_Status
8970WDI_EnterImpsReq
8971(
Mihir Shetea4306052014-03-25 00:02:54 +05308972 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008973 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8974 void* pUserData
8975);
8976
8977/**
8978 @brief WDI_ExitImpsReq will be called when the upper MAC to
8979 request the device to get out of IMPS power state. Upon
8980 the call of this API the WLAN DAL will send a HAL Exit
8981 IMPS request message to the lower RIVA sub-system if DAL
8982 is in state STARTED.
8983
8984 In state BUSY this request will be queued. Request won't
8985 be allowed in any other state.
8986
8987
8988
8989 @param wdiExitImpsRspCb: callback for passing back the response
8990 of the Exit IMPS operation received from the device
8991
8992 pUserData: user data will be passed back with the
8993 callback
8994
8995 @see WDI_Start
8996 @return Result of the function call
8997*/
8998WDI_Status
8999WDI_ExitImpsReq
9000(
9001 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9002 void* pUserData
9003);
9004
9005/**
9006 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9007 request the device to get into BMPS power state. Upon
9008 the call of this API the WLAN DAL will pack and send a
9009 HAL Enter BMPS request message to the lower RIVA
9010 sub-system if DAL is in state STARTED.
9011
9012 In state BUSY this request will be queued. Request won't
9013 be allowed in any other state.
9014
9015 WDI_PostAssocReq must have been called.
9016
9017 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9018 specified by the Device Interface
9019
9020 wdiEnterBmpsRspCb: callback for passing back the
9021 response of the Enter BMPS operation received from the
9022 device
9023
9024 pUserData: user data will be passed back with the
9025 callback
9026
9027 @see WDI_PostAssocReq
9028 @return Result of the function call
9029*/
9030WDI_Status
9031WDI_EnterBmpsReq
9032(
9033 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9034 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9035 void* pUserData
9036);
9037
9038/**
9039 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9040 request the device to get out of BMPS power state. Upon
9041 the call of this API the WLAN DAL will pack and send a
9042 HAL Exit BMPS request message to the lower RIVA
9043 sub-system if DAL is in state STARTED.
9044
9045 In state BUSY this request will be queued. Request won't
9046 be allowed in any other state.
9047
9048 WDI_PostAssocReq must have been called.
9049
9050 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9051 specified by the Device Interface
9052
9053 wdiExitBmpsRspCb: callback for passing back the response
9054 of the Exit BMPS operation received from the device
9055
9056 pUserData: user data will be passed back with the
9057 callback
9058
9059 @see WDI_PostAssocReq
9060 @return Result of the function call
9061*/
9062WDI_Status
9063WDI_ExitBmpsReq
9064(
9065 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9066 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9067 void* pUserData
9068);
9069
9070/**
9071 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9072 request the device to get into UAPSD power state. Upon
9073 the call of this API the WLAN DAL will pack and send a
9074 HAL Enter UAPSD request message to the lower RIVA
9075 sub-system if DAL is in state STARTED.
9076
9077 In state BUSY this request will be queued. Request won't
9078 be allowed in any other state.
9079
9080 WDI_PostAssocReq must have been called.
9081 WDI_SetUapsdAcParamsReq must have been called.
9082
9083 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9084 specified by the Device Interface
9085
9086 wdiEnterUapsdRspCb: callback for passing back the
9087 response of the Enter UAPSD operation received from the
9088 device
9089
9090 pUserData: user data will be passed back with the
9091 callback
9092
9093 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9094 @return Result of the function call
9095*/
9096WDI_Status
9097WDI_EnterUapsdReq
9098(
9099 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9100 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9101 void* pUserData
9102);
9103
9104/**
9105 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9106 request the device to get out of UAPSD power state. Upon
9107 the call of this API the WLAN DAL will send a HAL Exit
9108 UAPSD request message to the lower RIVA sub-system if
9109 DAL is in state STARTED.
9110
9111 In state BUSY this request will be queued. Request won't
9112 be allowed in any other state.
9113
9114 WDI_PostAssocReq must have been called.
9115
9116 @param wdiExitUapsdRspCb: callback for passing back the
9117 response of the Exit UAPSD operation received from the
9118 device
9119
9120 pUserData: user data will be passed back with the
9121 callback
9122
9123 @see WDI_PostAssocReq
9124 @return Result of the function call
9125*/
9126WDI_Status
9127WDI_ExitUapsdReq
9128(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009129 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009130 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9131 void* pUserData
9132);
9133
9134/**
9135 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9136 MAC wants to set the UAPSD related configurations
9137 of an associated STA (while acting as an AP) to the WLAN
9138 Device. Upon the call of this API the WLAN DAL will pack
9139 and send a HAL Update UAPSD params request message to
9140 the lower RIVA sub-system if DAL is in state STARTED.
9141
9142 In state BUSY this request will be queued. Request won't
9143 be allowed in any other state.
9144
9145 WDI_ConfigBSSReq must have been called.
9146
9147 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9148 as specified by the Device Interface
9149
9150 wdiUpdateUapsdParamsCb: callback for passing back the
9151 response of the update UAPSD params operation received
9152 from the device
9153
9154 pUserData: user data will be passed back with the
9155 callback
9156
9157 @see WDI_ConfigBSSReq
9158 @return Result of the function call
9159*/
9160WDI_Status
9161WDI_UpdateUapsdParamsReq
9162(
9163 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9164 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9165 void* pUserData
9166);
9167
9168/**
9169 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9170 MAC wants to set the UAPSD related configurations before
9171 requesting for enter UAPSD power state to the WLAN
9172 Device. Upon the call of this API the WLAN DAL will pack
9173 and send a HAL Set UAPSD params request message to
9174 the lower RIVA sub-system if DAL is in state STARTED.
9175
9176 In state BUSY this request will be queued. Request won't
9177 be allowed in any other state.
9178
9179 WDI_PostAssocReq must have been called.
9180
9181 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9182 the Device Interface
9183
9184 wdiSetUapsdAcParamsCb: callback for passing back the
9185 response of the set UAPSD params operation received from
9186 the device
9187
9188 pUserData: user data will be passed back with the
9189 callback
9190
9191 @see WDI_PostAssocReq
9192 @return Result of the function call
9193*/
9194WDI_Status
9195WDI_SetUapsdAcParamsReq
9196(
9197 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9198 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9199 void* pUserData
9200);
9201
9202/**
9203 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9204 MAC wants to set/reset the RXP filters for received pkts
9205 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9206 and send a HAL configure RXP filter request message to
9207 the lower RIVA sub-system.
9208
9209 In state BUSY this request will be queued. Request won't
9210 be allowed in any other state.
9211
9212
9213 @param pwdiConfigureRxpFilterReqParams: the RXP
9214 filter as specified by the Device
9215 Interface
9216
9217 wdiConfigureRxpFilterCb: callback for passing back the
9218 response of the configure RXP filter operation received
9219 from the device
9220
9221 pUserData: user data will be passed back with the
9222 callback
9223
9224 @return Result of the function call
9225*/
9226WDI_Status
9227WDI_ConfigureRxpFilterReq
9228(
9229 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9230 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9231 void* pUserData
9232);
9233
9234/**
9235 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9236 wants to set the beacon filters while in power save.
9237 Upon the call of this API the WLAN DAL will pack and
9238 send a Beacon filter request message to the
9239 lower RIVA sub-system.
9240
9241 In state BUSY this request will be queued. Request won't
9242 be allowed in any other state.
9243
9244
9245 @param pwdiBeaconFilterReqParams: the beacon
9246 filter as specified by the Device
9247 Interface
9248
9249 wdiBeaconFilterCb: callback for passing back the
9250 response of the set beacon filter operation received
9251 from the device
9252
9253 pUserData: user data will be passed back with the
9254 callback
9255
9256 @return Result of the function call
9257*/
9258WDI_Status
9259WDI_SetBeaconFilterReq
9260(
9261 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9262 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9263 void* pUserData
9264);
9265
9266/**
9267 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9268 wants to remove the beacon filter for perticular IE
9269 while in power save. Upon the call of this API the WLAN
9270 DAL will pack and send a remove Beacon filter request
9271 message to the lower RIVA sub-system.
9272
9273 In state BUSY this request will be queued. Request won't
9274 be allowed in any other state.
9275
9276
9277 @param pwdiBeaconFilterReqParams: the beacon
9278 filter as specified by the Device
9279 Interface
9280
9281 wdiBeaconFilterCb: callback for passing back the
9282 response of the remove beacon filter operation received
9283 from the device
9284
9285 pUserData: user data will be passed back with the
9286 callback
9287
9288 @return Result of the function call
9289*/
9290WDI_Status
9291WDI_RemBeaconFilterReq
9292(
9293 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9294 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9295 void* pUserData
9296);
9297
9298/**
9299 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9300 MAC wants to set the RSSI thresholds related
9301 configurations while in power save. Upon the call of
9302 this API the WLAN DAL will pack and send a HAL Set RSSI
9303 thresholds request message to the lower RIVA
9304 sub-system if DAL is in state STARTED.
9305
9306 In state BUSY this request will be queued. Request won't
9307 be allowed in any other state.
9308
9309 WDI_PostAssocReq must have been called.
9310
9311 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9312 the Device Interface
9313
9314 wdiSetUapsdAcParamsCb: callback for passing back the
9315 response of the set UAPSD params operation received from
9316 the device
9317
9318 pUserData: user data will be passed back with the
9319 callback
9320
9321 @see WDI_PostAssocReq
9322 @return Result of the function call
9323*/
9324WDI_Status
9325WDI_SetRSSIThresholdsReq
9326(
9327 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9328 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9329 void* pUserData
9330);
9331
9332/**
9333 @brief WDI_HostOffloadReq will be called when the upper MAC
9334 wants to set the filter to minimize unnecessary host
9335 wakeup due to broadcast traffic while in power save.
9336 Upon the call of this API the WLAN DAL will pack and
9337 send a HAL host offload request message to the
9338 lower RIVA sub-system if DAL is in state STARTED.
9339
9340 In state BUSY this request will be queued. Request won't
9341 be allowed in any other state.
9342
9343 WDI_PostAssocReq must have been called.
9344
9345 @param pwdiHostOffloadParams: the host offload as specified
9346 by the Device Interface
9347
9348 wdiHostOffloadCb: callback for passing back the response
9349 of the host offload operation received from the
9350 device
9351
9352 pUserData: user data will be passed back with the
9353 callback
9354
9355 @see WDI_PostAssocReq
9356 @return Result of the function call
9357*/
9358WDI_Status
9359WDI_HostOffloadReq
9360(
9361 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9362 WDI_HostOffloadCb wdiHostOffloadCb,
9363 void* pUserData
9364);
9365
9366/**
9367 @brief WDI_KeepAliveReq will be called when the upper MAC
9368 wants to set the filter to send NULL or unsolicited ARP responses
9369 and minimize unnecessary host wakeups due to while in power save.
9370 Upon the call of this API the WLAN DAL will pack and
9371 send a HAL Keep Alive request message to the
9372 lower RIVA sub-system if DAL is in state STARTED.
9373
9374 In state BUSY this request will be queued. Request won't
9375 be allowed in any other state.
9376
9377 WDI_PostAssocReq must have been called.
9378
9379 @param pwdiKeepAliveParams: the Keep Alive as specified
9380 by the Device Interface
9381
9382 wdiKeepAliveCb: callback for passing back the response
9383 of the Keep Alive operation received from the
9384 device
9385
9386 pUserData: user data will be passed back with the
9387 callback
9388
9389 @see WDI_PostAssocReq
9390 @return Result of the function call
9391*/
9392WDI_Status
9393WDI_KeepAliveReq
9394(
9395 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9396 WDI_KeepAliveCb wdiKeepAliveCb,
9397 void* pUserData
9398);
9399
9400/**
9401 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9402 wants to set the Wowl Bcast ptrn to minimize unnecessary
9403 host wakeup due to broadcast traffic while in power
9404 save. Upon the call of this API the WLAN DAL will pack
9405 and send a HAL Wowl Bcast ptrn request message to the
9406 lower RIVA sub-system if DAL is in state STARTED.
9407
9408 In state BUSY this request will be queued. Request won't
9409 be allowed in any other state.
9410
9411 WDI_PostAssocReq must have been called.
9412
9413 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9414 specified by the Device Interface
9415
9416 wdiWowlAddBcPtrnCb: callback for passing back the
9417 response of the add Wowl bcast ptrn operation received
9418 from the device
9419
9420 pUserData: user data will be passed back with the
9421 callback
9422
9423 @see WDI_PostAssocReq
9424 @return Result of the function call
9425*/
9426WDI_Status
9427WDI_WowlAddBcPtrnReq
9428(
9429 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9430 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9431 void* pUserData
9432);
9433
9434/**
9435 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9436 wants to clear the Wowl Bcast ptrn. Upon the call of
9437 this API the WLAN DAL will pack and send a HAL delete
9438 Wowl Bcast ptrn request message to the lower RIVA
9439 sub-system if DAL is in state STARTED.
9440
9441 In state BUSY this request will be queued. Request won't
9442 be allowed in any other state.
9443
9444 WDI_WowlAddBcPtrnReq must have been called.
9445
9446 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9447 specified by the Device Interface
9448
9449 wdiWowlDelBcPtrnCb: callback for passing back the
9450 response of the del Wowl bcast ptrn operation received
9451 from the device
9452
9453 pUserData: user data will be passed back with the
9454 callback
9455
9456 @see WDI_WowlAddBcPtrnReq
9457 @return Result of the function call
9458*/
9459WDI_Status
9460WDI_WowlDelBcPtrnReq
9461(
9462 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9463 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9464 void* pUserData
9465);
9466
9467/**
9468 @brief WDI_WowlEnterReq will be called when the upper MAC
9469 wants to enter the Wowl state to minimize unnecessary
9470 host wakeup while in power save. Upon the call of this
9471 API the WLAN DAL will pack and send a HAL Wowl enter
9472 request message to the lower RIVA sub-system if DAL is
9473 in state STARTED.
9474
9475 In state BUSY this request will be queued. Request won't
9476 be allowed in any other state.
9477
9478 WDI_PostAssocReq must have been called.
9479
9480 @param pwdiWowlEnterReqParams: the Wowl enter info as
9481 specified by the Device Interface
9482
9483 wdiWowlEnterReqCb: callback for passing back the
9484 response of the enter Wowl operation received from the
9485 device
9486
9487 pUserData: user data will be passed back with the
9488 callback
9489
9490 @see WDI_PostAssocReq
9491 @return Result of the function call
9492*/
9493WDI_Status
9494WDI_WowlEnterReq
9495(
9496 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9497 WDI_WowlEnterReqCb wdiWowlEnterCb,
9498 void* pUserData
9499);
9500
9501/**
9502 @brief WDI_WowlExitReq will be called when the upper MAC
9503 wants to exit the Wowl state. Upon the call of this API
9504 the WLAN DAL will pack and send a HAL Wowl exit request
9505 message to the lower RIVA sub-system if DAL is in state
9506 STARTED.
9507
9508 In state BUSY this request will be queued. Request won't
9509 be allowed in any other state.
9510
9511 WDI_WowlEnterReq must have been called.
9512
9513 @param pwdiWowlExitReqParams: the Wowl exit info as
9514 specified by the Device Interface
9515
9516 wdiWowlExitReqCb: callback for passing back the response
9517 of the exit Wowl operation received from the device
9518
9519 pUserData: user data will be passed back with the
9520 callback
9521
9522 @see WDI_WowlEnterReq
9523 @return Result of the function call
9524*/
9525WDI_Status
9526WDI_WowlExitReq
9527(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009528 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009529 WDI_WowlExitReqCb wdiWowlExitCb,
9530 void* pUserData
9531);
9532
9533/**
9534 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9535 the upper MAC wants to dynamically adjusts the listen
9536 interval based on the WLAN/MSM activity. Upon the call
9537 of this API the WLAN DAL will pack and send a HAL
9538 configure Apps Cpu Wakeup State request message to the
9539 lower RIVA sub-system.
9540
9541 In state BUSY this request will be queued. Request won't
9542 be allowed in any other state.
9543
9544
9545 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9546 Apps Cpu Wakeup State as specified by the
9547 Device Interface
9548
9549 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9550 back the response of the configure Apps Cpu Wakeup State
9551 operation received from the device
9552
9553 pUserData: user data will be passed back with the
9554 callback
9555
9556 @return Result of the function call
9557*/
9558WDI_Status
9559WDI_ConfigureAppsCpuWakeupStateReq
9560(
9561 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9562 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9563 void* pUserData
9564);
9565/**
9566 @brief WDI_FlushAcReq will be called when the upper MAC wants
9567 to to perform a flush operation on a given AC. Upon the
9568 call of this API the WLAN DAL will pack and send a HAL
9569 Flush AC request message to the lower RIVA sub-system if
9570 DAL is in state STARTED.
9571
9572 In state BUSY this request will be queued. Request won't
9573 be allowed in any other state.
9574
9575
9576 @param pwdiFlushAcReqParams: the Flush AC parameters as
9577 specified by the Device Interface
9578
9579 wdiFlushAcRspCb: callback for passing back the response
9580 of the Flush AC operation received from the device
9581
9582 pUserData: user data will be passed back with the
9583 callback
9584
9585 @return Result of the function call
9586*/
9587WDI_Status
9588WDI_FlushAcReq
9589(
9590 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9591 WDI_FlushAcRspCb wdiFlushAcRspCb,
9592 void* pUserData
9593);
9594
9595/**
9596 @brief WDI_BtAmpEventReq will be called when the upper MAC
9597 wants to notify the lower mac on a BT AMP event. This is
9598 to inform BTC-SLM that some BT AMP event occurred. Upon
9599 the call of this API the WLAN DAL will pack and send a
9600 HAL BT AMP event request message to the lower RIVA
9601 sub-system if DAL is in state STARTED.
9602
9603 In state BUSY this request will be queued. Request won't
9604 be allowed in any other state.
9605
9606
9607 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9608 specified by the Device Interface
9609
9610 wdiBtAmpEventRspCb: callback for passing back the
9611 response of the BT AMP event operation received from the
9612 device
9613
9614 pUserData: user data will be passed back with the
9615 callback
9616
9617 @return Result of the function call
9618*/
9619WDI_Status
9620WDI_BtAmpEventReq
9621(
9622 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9623 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9624 void* pUserData
9625);
9626
Jeff Johnsone7245742012-09-05 17:12:55 -07009627#ifdef FEATURE_OEM_DATA_SUPPORT
9628/**
9629 @brief WDI_Start oem data Req will be called when the upper MAC
9630 wants to notify the lower mac on a oem data Req event.Upon
9631 the call of this API the WLAN DAL will pack and send a
9632 HAL OEM Data Req event request message to the lower RIVA
9633 sub-system if DAL is in state STARTED.
9634
9635 In state BUSY this request will be queued. Request won't
9636 be allowed in any other state.
9637
9638
9639 @param pWdiOemDataReqParams: the oem data req parameters as
9640 specified by the Device Interface
9641
9642 wdiStartOemDataRspCb: callback for passing back the
9643 response of the Oem Data Req received from the
9644 device
9645
9646 pUserData: user data will be passed back with the
9647 callback
9648
9649 @return Result of the function call
9650*/
9651WDI_Status
9652WDI_StartOemDataReq
9653(
9654 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9655 WDI_oemDataRspCb wdiOemDataRspCb,
9656 void* pUserData
9657);
9658#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009659
9660/*========================================================================
9661
9662 CONTROL APIs
9663
9664==========================================================================*/
9665/**
9666 @brief WDI_SwitchChReq will be called when the upper MAC wants
9667 the WLAN HW to change the current channel of operation.
9668 Upon the call of this API the WLAN DAL will pack and
9669 send a HAL Start request message to the lower RIVA
9670 sub-system if DAL is in state STARTED.
9671
9672 In state BUSY this request will be queued. Request won't
9673 be allowed in any other state.
9674
9675 WDI_Start must have been called.
9676
9677 @param wdiSwitchChReqParams: the switch ch parameters as
9678 specified by the Device Interface
9679
9680 wdiSwitchChRspCb: callback for passing back the response
9681 of the switch ch operation received from the device
9682
9683 pUserData: user data will be passed back with the
9684 callback
9685
9686 @see WDI_Start
9687 @return Result of the function call
9688*/
9689WDI_Status
9690WDI_SwitchChReq
9691(
9692 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9693 WDI_SwitchChRspCb wdiSwitchChRspCb,
9694 void* pUserData
9695);
9696
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009697/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009698 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9699 it also send type source for the channel change.
9700 WDI_Start must have been called.
9701
9702 @param wdiSwitchChReqParams: the switch ch parameters as
9703 specified by the Device Interface
9704
9705 wdiSwitchChRspCb: callback for passing back the response
9706 of the switch ch operation received from the device
9707
9708 pUserData: user data will be passed back with the
9709 callback
9710
9711 @see WDI_Start
9712 @return Result of the function call
9713*/
9714
9715WDI_Status
9716WDI_SwitchChReq_V1
9717(
9718 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9719 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9720 void* pUserData
9721);
9722
9723/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009724 @brief WDI_UpdateChannelReq will be called when the upper MAC
9725 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009726 In state BUSY this request will be queued. Request won't
9727 be allowed in any other state.
9728
9729 WDI_UpdateChannelReq must have been called.
9730
9731 @param wdiUpdateChannelReqParams: the updated channel parameters
9732 as specified by the Device Interface
9733
9734 wdiUpdateChannelRspCb: callback for passing back the
9735 response of the update channel operation received from
9736 the device
9737
9738 pUserData: user data will be passed back with the
9739 callback
9740
9741 @return Result of the function call
9742*/
9743WDI_Status
9744WDI_UpdateChannelReq
9745(
9746 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9747 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9748 void* pUserData
9749);
Jeff Johnson295189b2012-06-20 16:38:30 -07009750
9751/**
9752 @brief WDI_ConfigSTAReq will be called when the upper MAC
9753 wishes to add or update a STA in HW. Upon the call of
9754 this API the WLAN DAL will pack and send a HAL Start
9755 message request message to the lower RIVA sub-system if
9756 DAL is in state STARTED.
9757
9758 In state BUSY this request will be queued. Request won't
9759 be allowed in any other state.
9760
9761 WDI_Start must have been called.
9762
9763 @param wdiConfigSTAReqParams: the config STA parameters as
9764 specified by the Device Interface
9765
9766 wdiConfigSTARspCb: callback for passing back the
9767 response of the config STA operation received from the
9768 device
9769
9770 pUserData: user data will be passed back with the
9771 callback
9772
9773 @see WDI_Start
9774 @return Result of the function call
9775*/
9776WDI_Status
9777WDI_ConfigSTAReq
9778(
9779 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9780 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9781 void* pUserData
9782);
9783
9784/**
9785 @brief WDI_SetLinkStateReq will be called when the upper MAC
9786 wants to change the state of an ongoing link. Upon the
9787 call of this API the WLAN DAL will pack and send a HAL
9788 Start message request message to the lower RIVA
9789 sub-system if DAL is in state STARTED.
9790
9791 In state BUSY this request will be queued. Request won't
9792 be allowed in any other state.
9793
9794 WDI_JoinReq must have been called.
9795
9796 @param wdiSetLinkStateReqParams: the set link state parameters
9797 as specified by the Device Interface
9798
9799 wdiSetLinkStateRspCb: callback for passing back the
9800 response of the set link state operation received from
9801 the device
9802
9803 pUserData: user data will be passed back with the
9804 callback
9805
9806 @see WDI_JoinStartReq
9807 @return Result of the function call
9808*/
9809WDI_Status
9810WDI_SetLinkStateReq
9811(
9812 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9813 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9814 void* pUserData
9815);
9816
9817
9818/**
9819 @brief WDI_GetStatsReq will be called when the upper MAC wants
9820 to get statistics (MIB counters) from the device. Upon
9821 the call of this API the WLAN DAL will pack and send a
9822 HAL Start request message to the lower RIVA sub-system
9823 if DAL is in state STARTED.
9824
9825 In state BUSY this request will be queued. Request won't
9826 be allowed in any other state.
9827
9828 WDI_Start must have been called.
9829
9830 @param wdiGetStatsReqParams: the stats parameters to get as
9831 specified by the Device Interface
9832
9833 wdiGetStatsRspCb: callback for passing back the response
9834 of the get stats operation received from the device
9835
9836 pUserData: user data will be passed back with the
9837 callback
9838
9839 @see WDI_Start
9840 @return Result of the function call
9841*/
9842WDI_Status
9843WDI_GetStatsReq
9844(
9845 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9846 WDI_GetStatsRspCb wdiGetStatsRspCb,
9847 void* pUserData
9848);
9849
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009850#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009851/**
9852 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9853 to get roam rssi from the device. Upon
9854 the call of this API the WLAN DAL will pack and send a
9855 HAL Start request message to the lower RIVA sub-system
9856 if DAL is in state STARTED.
9857
9858 In state BUSY this request will be queued. Request won't
9859 be allowed in any other state.
9860
9861 WDI_Start must have been called.
9862
9863 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9864 specified by the Device Interface
9865
9866 wdiGetRoamRssispCb: callback for passing back the response
9867 of the get stats operation received from the device
9868
9869 pUserData: user data will be passed back with the
9870 callback
9871
9872 @see WDI_Start
9873 @return Result of the function call
9874*/
9875WDI_Status
9876WDI_GetRoamRssiReq
9877(
9878 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9879 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9880 void* pUserData
9881);
9882#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009883
9884/**
9885 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9886 it wishes to change the configuration of the WLAN
9887 Device. Upon the call of this API the WLAN DAL will pack
9888 and send a HAL Update CFG request message to the lower
9889 RIVA sub-system if DAL is in state STARTED.
9890
9891 In state BUSY this request will be queued. Request won't
9892 be allowed in any other state.
9893
9894 WDI_Start must have been called.
9895
9896 @param wdiUpdateCfgReqParams: the update cfg parameters as
9897 specified by the Device Interface
9898
9899 wdiUpdateCfgsRspCb: callback for passing back the
9900 response of the update cfg operation received from the
9901 device
9902
9903 pUserData: user data will be passed back with the
9904 callback
9905
9906 @see WDI_Start
9907 @return Result of the function call
9908*/
9909WDI_Status
9910WDI_UpdateCfgReq
9911(
9912 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9913 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9914 void* pUserData
9915);
9916
9917/**
9918 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9919 to the NV memory.
9920
9921 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9922 the Device Interface
9923
9924 wdiNvDownloadRspCb: callback for passing back the response of
9925 the NV Download operation received from the device
9926
9927 pUserData: user data will be passed back with the
9928 callback
9929
9930 @see WDI_PostAssocReq
9931 @return Result of the function call
9932*/
9933WDI_Status
9934WDI_NvDownloadReq
9935(
9936 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9937 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9938 void* pUserData
9939);
9940/**
9941 @brief WDI_AddBAReq will be called when the upper MAC has setup
9942 successfully a BA session and needs to notify the HW for
9943 the appropriate settings to take place. Upon the call of
9944 this API the WLAN DAL will pack and send a HAL Add BA
9945 request message to the lower RIVA sub-system if DAL is
9946 in state STARTED.
9947
9948 In state BUSY this request will be queued. Request won't
9949 be allowed in any other state.
9950
9951 WDI_PostAssocReq must have been called.
9952
9953 @param wdiAddBAReqParams: the add BA parameters as specified by
9954 the Device Interface
9955
9956 wdiAddBARspCb: callback for passing back the response of
9957 the add BA operation received from the device
9958
9959 pUserData: user data will be passed back with the
9960 callback
9961
9962 @see WDI_PostAssocReq
9963 @return Result of the function call
9964*/
9965WDI_Status
9966WDI_AddBAReq
9967(
9968 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9969 WDI_AddBARspCb wdiAddBARspCb,
9970 void* pUserData
9971);
9972
9973/**
9974 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9975 successfully a BA session and needs to notify the HW for
9976 the appropriate settings to take place. Upon the call of
9977 this API the WLAN DAL will pack and send a HAL Add BA
9978 request message to the lower RIVA sub-system if DAL is
9979 in state STARTED.
9980
9981 In state BUSY this request will be queued. Request won't
9982 be allowed in any other state.
9983
9984 WDI_PostAssocReq must have been called.
9985
9986 @param wdiAddBAReqParams: the add BA parameters as specified by
9987 the Device Interface
9988
9989 wdiAddBARspCb: callback for passing back the response of
9990 the add BA operation received from the device
9991
9992 pUserData: user data will be passed back with the
9993 callback
9994
9995 @see WDI_PostAssocReq
9996 @return Result of the function call
9997*/
9998WDI_Status
9999WDI_TriggerBAReq
10000(
10001 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10002 WDI_TriggerBARspCb wdiTriggerBARspCb,
10003 void* pUserData
10004);
10005
10006
10007/**
10008 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10009 frame xtl is enabled for a particular STA.
10010
10011 WDI_PostAssocReq must have been called.
10012
10013 @param uSTAIdx: STA index
10014
10015 @see WDI_PostAssocReq
10016 @return Result of the function call
10017*/
10018wpt_boolean WDI_IsHwFrameTxTranslationCapable
10019(
10020 wpt_uint8 uSTAIdx
10021);
10022
Katya Nigam6201c3e2014-05-27 17:51:42 +053010023
10024/**
10025 @brief WDI_IsSelfSTA - check if staid is self sta index
10026
10027 @param pWDICtx: pointer to the WLAN DAL context
10028 ucSTAIdx: station index
10029
10030 @return Result of the function call
10031*/
10032
10033wpt_boolean
10034WDI_IsSelfSTA
10035(
10036 void* pWDICtx,
10037 wpt_uint8 ucSTAIdx
10038);
10039
10040
Jeff Johnson295189b2012-06-20 16:38:30 -070010041#ifdef WLAN_FEATURE_VOWIFI_11R
10042/**
10043 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10044 the device of a successful add TSpec negotiation for 11r. HW
10045 needs to receive the TSpec Info from the UMAC in order
10046 to configure properly the QoS data traffic. Upon the
10047 call of this API the WLAN DAL will pack and send a HAL
10048 Aggregated Add TS request message to the lower RIVA sub-system if
10049 DAL is in state STARTED.
10050
10051 In state BUSY this request will be queued. Request won't
10052 be allowed in any other state.
10053
10054 WDI_PostAssocReq must have been called.
10055
10056 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10057 the Device Interface
10058
10059 wdiAggrAddTsRspCb: callback for passing back the response of
10060 the add TS operation received from the device
10061
10062 pUserData: user data will be passed back with the
10063 callback
10064
10065 @see WDI_PostAssocReq
10066 @return Result of the function call
10067*/
10068WDI_Status
10069WDI_AggrAddTSReq
10070(
10071 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10072 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10073 void* pUserData
10074);
10075#endif /* WLAN_FEATURE_VOWIFI_11R */
10076/**
10077 @brief WDI_STATableInit - Initializes the STA tables.
10078 Allocates the necesary memory.
10079
10080
10081 @param pWDICtx: pointer to the WLAN DAL context
10082
10083 @see
10084 @return Result of the function call
10085*/
10086
10087WDI_Status WDI_StubRunTest
10088(
10089 wpt_uint8 ucTestNo
10090);
10091
Jeff Johnson295189b2012-06-20 16:38:30 -070010092/**
10093 @brief WDI_FTMCommandReq -
10094 Route FTMRequest Command to HAL
10095
10096 @param ftmCommandReq: FTM request command body
10097 @param ftmCommandRspCb: Response CB
10098 @param pUserData: User data will be included with CB
10099
10100 @return Result of the function call
10101*/
10102WDI_Status WDI_FTMCommandReq
10103(
10104 WDI_FTMCommandReqType *ftmCommandReq,
10105 WDI_FTMCommandRspCb ftmCommandRspCb,
10106 void *pUserData
10107);
Jeff Johnson295189b2012-06-20 16:38:30 -070010108
10109/**
10110 @brief WDI_HostResumeReq will be called
10111
10112 In state BUSY this request will be queued. Request won't
10113 be allowed in any other state.
10114
10115
10116 @param pwdiResumeReqParams: as specified by
10117 the Device Interface
10118
10119 wdiResumeReqRspCb: callback for passing back the response of
10120 the Resume Req received from the device
10121
10122 pUserData: user data will be passed back with the
10123 callback
10124
10125 @see WDI_PostAssocReq
10126 @return Result of the function call
10127*/
10128WDI_Status
10129WDI_HostResumeReq
10130(
10131 WDI_ResumeParamsType* pwdiResumeReqParams,
10132 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10133 void* pUserData
10134);
10135
10136/**
10137 @brief WDI_GetAvailableResCount - Function to get the available resource
10138 for data and managemnt frames.
10139
10140 @param pContext: pointer to the WDI context
10141 @param wdiResPool: type of resource pool requesting
10142 @see
10143 @return Result of the function call
10144*/
10145
10146wpt_uint32 WDI_GetAvailableResCount
10147(
10148 void *pContext,
10149 WDI_ResPoolType wdiResPool
10150);
10151
10152/**
10153 @brief WDI_SetAddSTASelfReq will be called when the
10154 UMAC wanted to add self STA while opening any new session
10155 In state BUSY this request will be queued. Request won't
10156 be allowed in any other state.
10157
10158
10159 @param pwdiAddSTASelfParams: the add self sta parameters as
10160 specified by the Device Interface
10161
10162 pUserData: user data will be passed back with the
10163 callback
10164
10165 @see
10166 @return Result of the function call
10167*/
10168WDI_Status
10169WDI_AddSTASelfReq
10170(
10171 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10172 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10173 void* pUserData
10174);
10175
10176
10177/**
10178 @brief WDI_DelSTASelfReq will be called .
10179
10180 @param WDI_DelSTASelfReqParamsType
10181
10182 WDI_DelSTASelfRspCb: callback for passing back the
10183 response of the del sta self operation received from the
10184 device
10185
10186 pUserData: user data will be passed back with the
10187 callback
10188
10189 @see WDI_PostAssocReq
10190 @return Result of the function call
10191*/
10192WDI_Status
10193WDI_DelSTASelfReq
10194(
10195 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10196 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10197 void* pUserData
10198);
10199
10200/**
10201 @brief WDI_HostSuspendInd
10202
10203 Suspend Indication from the upper layer will be sent
10204 down to HAL
10205
10206 @param WDI_SuspendParamsType
10207
10208 @see
10209
10210 @return Status of the request
10211*/
10212WDI_Status
10213WDI_HostSuspendInd
10214(
10215 WDI_SuspendParamsType* pwdiSuspendIndParams
10216);
10217
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010218/**
10219 @brief WDI_TrafficStatsInd
10220
10221 Traffic Stats from the upper layer will be sent
10222 down to HAL
10223
10224 @param WDI_TrafficStatsIndType
10225
10226 @see
10227
10228 @return Status of the request
10229*/
10230WDI_Status
10231WDI_TrafficStatsInd
10232(
10233 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10234);
10235
Chet Lanctot186b5732013-03-18 10:26:30 -070010236#ifdef WLAN_FEATURE_11W
10237/**
10238 @brief WDI_ExcludeUnencryptedInd
10239 Register with HAL to receive/drop unencrypted frames
10240
10241 @param WDI_ExcludeUnencryptIndType
10242
10243 @see
10244
10245 @return Status of the request
10246*/
10247WDI_Status
10248WDI_ExcludeUnencryptedInd
10249(
10250 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10251);
10252#endif
10253
Yue Mab9c86f42013-08-14 15:59:08 -070010254/**
10255 @brief WDI_AddPeriodicTxPtrnInd
10256
10257 @param WDI_AddPeriodicTxPtrnParamsType
10258
10259 @see
10260
10261 @return Status of the request
10262*/
10263WDI_Status
10264WDI_AddPeriodicTxPtrnInd
10265(
10266 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10267);
10268
10269/**
10270 @brief WDI_DelPeriodicTxPtrnInd
10271
10272 @param WDI_DelPeriodicTxPtrnParamsType
10273
10274 @see
10275
10276 @return Status of the request
10277*/
10278WDI_Status
10279WDI_DelPeriodicTxPtrnInd
10280(
10281 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10282);
10283
Jeff Johnson295189b2012-06-20 16:38:30 -070010284#ifdef FEATURE_WLAN_SCAN_PNO
10285/**
10286 @brief WDI_SetPreferredNetworkList
10287
10288 @param pwdiPNOScanReqParams: the Set PNO as specified
10289 by the Device Interface
10290
10291 wdiPNOScanCb: callback for passing back the response
10292 of the Set PNO operation received from the
10293 device
10294
10295 pUserData: user data will be passed back with the
10296 callback
10297
10298 @see WDI_PostAssocReq
10299 @return Result of the function call
10300*/
10301WDI_Status
10302WDI_SetPreferredNetworkReq
10303(
10304 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10305 WDI_PNOScanCb wdiPNOScanCb,
10306 void* pUserData
10307);
10308
10309/**
10310 @brief WDI_SetRssiFilterReq
10311
10312 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10313 specified by the Device Interface
10314
10315 wdiRssiFilterCb: callback for passing back the response
10316 of the Set RSSI Filter operation received from the
10317 device
10318
10319 pUserData: user data will be passed back with the
10320 callback
10321
10322 @see WDI_PostAssocReq
10323 @return Result of the function call
10324*/
10325WDI_Status
10326WDI_SetRssiFilterReq
10327(
10328 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10329 WDI_RssiFilterCb wdiRssiFilterCb,
10330 void* pUserData
10331);
10332
10333/**
10334 @brief WDI_UpdateScanParams
10335
10336 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10337 by the Device Interface
10338
10339 wdiUpdateScanParamsCb: callback for passing back the response
10340 of the Set PNO operation received from the
10341 device
10342
10343 pUserData: user data will be passed back with the
10344 callback
10345
10346 @see WDI_PostAssocReq
10347 @return Result of the function call
10348*/
10349WDI_Status
10350WDI_UpdateScanParamsReq
10351(
10352 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10353 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10354 void* pUserData
10355);
10356#endif // FEATURE_WLAN_SCAN_PNO
10357
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010358#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10359/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010360 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010361
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010362 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010363 by the Device Interface
10364
10365 wdiRoamOffloadScanCb: callback for passing back the response
10366 of the Start Roam Candidate Lookup operation received from the
10367 device
10368
10369 pUserData: user data will be passed back with the
10370 callback
10371
10372 @return Result of the function call
10373*/
10374WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010375WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010376(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010377 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010378 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10379 void* pUserData
10380);
10381#endif
10382
Jeff Johnson295189b2012-06-20 16:38:30 -070010383/**
10384 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10385 wants to set the Tx Per Tracking configurations.
10386 Upon the call of this API the WLAN DAL will pack
10387 and send a HAL Set Tx Per Tracking request message to the
10388 lower RIVA sub-system if DAL is in state STARTED.
10389
10390 In state BUSY this request will be queued. Request won't
10391 be allowed in any other state.
10392
10393 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10394 specified by the Device Interface
10395
10396 wdiSetTxPerTrackingCb: callback for passing back the
10397 response of the set Tx PER Tracking configurations operation received
10398 from the device
10399
10400 pUserData: user data will be passed back with the
10401 callback
10402
10403 @return Result of the function call
10404*/
10405WDI_Status
10406WDI_SetTxPerTrackingReq
10407(
10408 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10409 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10410 void* pUserData
10411);
10412
10413/**
10414 @brief WDI_SetTmLevelReq
10415 If HW Thermal condition changed, driver should react based on new
10416 HW thermal condition.
10417
10418 @param pwdiSetTmLevelReq: New thermal condition information
10419
10420 pwdiSetTmLevelRspCb: callback
10421
10422 usrData: user data will be passed back with the
10423 callback
10424
10425 @return Result of the function call
10426*/
10427WDI_Status
10428WDI_SetTmLevelReq
10429(
10430 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10431 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10432 void *usrData
10433);
10434
10435#ifdef WLAN_FEATURE_PACKET_FILTERING
10436/**
10437 @brief WDI_8023MulticastListReq
10438
10439 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10440 List as specified by the Device Interface
10441
10442 wdi8023MulticastListCallback: callback for passing back
10443 the response of the Set 8023 Multicast List operation
10444 received from the device
10445
10446 pUserData: user data will be passed back with the
10447 callback
10448
10449 @see WDI_PostAssocReq
10450 @return Result of the function call
10451*/
10452WDI_Status
10453WDI_8023MulticastListReq
10454(
10455 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10456 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10457 void* pUserData
10458);
10459
10460/**
10461 @brief WDI_ReceiveFilterSetFilterReq
10462
10463 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10464 specified by the Device Interface
10465
10466 wdiReceiveFilterSetFilterReqCallback: callback for
10467 passing back the response of the Set Receive Filter
10468 operation received from the device
10469
10470 pUserData: user data will be passed back with the
10471 callback
10472
10473 @see WDI_PostAssocReq
10474 @return Result of the function call
10475*/
10476WDI_Status
10477WDI_ReceiveFilterSetFilterReq
10478(
10479 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10480 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10481 void* pUserData
10482);
10483
10484/**
10485 @brief WDI_PCFilterMatchCountReq
10486
10487 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10488 Count
10489
10490 wdiPCFilterMatchCountCallback: callback for passing back
10491 the response of the D0 PC Filter Match Count operation
10492 received from the device
10493
10494 pUserData: user data will be passed back with the
10495 callback
10496
10497 @see WDI_PostAssocReq
10498 @return Result of the function call
10499*/
10500WDI_Status
10501WDI_FilterMatchCountReq
10502(
10503 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10504 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10505 void* pUserData
10506);
10507
10508/**
10509 @brief WDI_ReceiveFilterClearFilterReq
10510
10511 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10512 specified by the Device Interface
10513
10514 wdiReceiveFilterClearFilterCallback: callback for
10515 passing back the response of the Clear Filter
10516 operation received from the device
10517
10518 pUserData: user data will be passed back with the
10519 callback
10520
10521 @see WDI_PostAssocReq
10522 @return Result of the function call
10523*/
10524WDI_Status
10525WDI_ReceiveFilterClearFilterReq
10526(
10527 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10528 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10529 void* pUserData
10530);
10531#endif // WLAN_FEATURE_PACKET_FILTERING
10532
10533/**
10534 @brief WDI_HALDumpCmdReq
10535 Post HAL DUMP Command Event
10536
10537 @param halDumpCmdReqParams: Hal Dump Command Body
10538 @param halDumpCmdRspCb: callback for passing back the
10539 response
10540 @param pUserData: Client Data
10541
10542 @see
10543 @return Result of the function call
10544*/
10545WDI_Status WDI_HALDumpCmdReq(
10546 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10547 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10548 void *pUserData
10549);
10550
10551
10552/**
10553 @brief WDI_SetPowerParamsReq
10554
10555 @param pwdiPowerParamsReqParams: the Set Power Params as
10556 specified by the Device Interface
10557
10558 wdiPowerParamsCb: callback for passing back the response
10559 of the Set Power Params operation received from the
10560 device
10561
10562 pUserData: user data will be passed back with the
10563 callback
10564
10565 @return Result of the function call
10566*/
10567WDI_Status
10568WDI_SetPowerParamsReq
10569(
10570 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10571 WDI_SetPowerParamsCb wdiPowerParamsCb,
10572 void* pUserData
10573);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010574/**
10575 @brief WDI_dhcpStartInd
10576 Forward the DHCP Start event
10577
10578 @param
10579
10580 wdiDHCPInd: device mode and MAC address is passed
10581
10582 @see
10583 @return Result of the function call
10584*/
10585
10586WDI_Status
10587WDI_dhcpStartInd
10588(
10589 WDI_DHCPInd *wdiDHCPInd
10590);
10591/**
10592 @brief WDI_dhcpStopReq
10593 Forward the DHCP Stop event
10594
10595 @param
10596
10597 wdiDHCPInd: device mode and MAC address is passed
10598
10599 @see
10600 @return Result of the function call
10601*/
10602
10603WDI_Status
10604WDI_dhcpStopInd
10605(
10606 WDI_DHCPInd *wdiDHCPInd
10607);
Jeff Johnson295189b2012-06-20 16:38:30 -070010608
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010609/**
10610 @brief WDI_RateUpdateInd will be called when the upper MAC
10611 requests the device to update rates.
10612
10613 In state BUSY this request will be queued. Request won't
10614 be allowed in any other state.
10615
10616
10617 @param wdiRateUpdateIndParams
10618
10619
10620 @see WDI_Start
10621 @return Result of the function call
10622*/
10623WDI_Status
10624WDI_RateUpdateInd
10625(
10626 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10627);
10628
Jeff Johnson295189b2012-06-20 16:38:30 -070010629#ifdef WLAN_FEATURE_GTK_OFFLOAD
10630/**
10631 @brief WDI_GTKOffloadReq will be called when the upper MAC
10632 wants to set GTK Rekey Counter while in power save. Upon
10633 the call of this API the WLAN DAL will pack and send a
10634 HAL GTK offload request message to the lower RIVA
10635 sub-system if DAL is in state STARTED.
10636
10637 In state BUSY this request will be queued. Request won't
10638 be allowed in any other state.
10639
10640 WDI_PostAssocReq must have been called.
10641
10642 @param pwdiGtkOffloadParams: the GTK offload as specified
10643 by the Device Interface
10644
10645 wdiGtkOffloadCb: callback for passing back the response
10646 of the GTK offload operation received from the device
10647
10648 pUserData: user data will be passed back with the
10649 callback
10650
10651 @see WDI_PostAssocReq
10652 @return Result of the function call
10653*/
10654WDI_Status
10655WDI_GTKOffloadReq
10656(
10657 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10658 WDI_GtkOffloadCb wdiGtkOffloadCb,
10659 void* pUserData
10660);
10661
10662/**
10663 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10664 MAC wants to get GTK Rekey Counter while in power save.
10665 Upon the call of this API the WLAN DAL will pack and
10666 send a HAL GTK offload request message to the lower RIVA
10667 sub-system if DAL is in state STARTED.
10668
10669 In state BUSY this request will be queued. Request won't
10670 be allowed in any other state.
10671
10672 WDI_PostAssocReq must have been called.
10673
10674 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10675 Information Message as specified by the
10676 Device Interface
10677
10678 wdiGtkOffloadGetInfoCb: callback for passing back the
10679 response of the GTK offload operation received from the
10680 device
10681
10682 pUserData: user data will be passed back with the
10683 callback
10684
10685 @see WDI_PostAssocReq
10686 @return Result of the function call
10687*/
10688WDI_Status
10689WDI_GTKOffloadGetInfoReq
10690(
10691 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10692 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10693 void* pUserData
10694);
10695#endif // WLAN_FEATURE_GTK_OFFLOAD
10696
10697/**
10698 @brief WDI_featureCapsExchangeReq
10699 Post feature capability bitmap exchange event.
10700 Host will send its own capability to FW in this req and
10701 expect FW to send its capability back as a bitmap in Response
10702
10703 @param
10704
10705 wdiFeatCapsExcRspCb: callback called on getting the response.
10706 It is kept to mantain similarity between WDI reqs and if needed, can
10707 be used in future. Currently, It is set to NULL
10708
10709 pUserData: user data will be passed back with the
10710 callback
10711
10712 @see
10713 @return Result of the function call
10714*/
10715WDI_Status
10716WDI_featureCapsExchangeReq
10717(
10718 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10719 void* pUserData
10720);
10721
10722/**
Yathish9f22e662012-12-10 14:21:35 -080010723 @brief Disable Active mode offload in Host
10724
10725 @param void
10726 @see
10727 @return void
10728*/
10729void
10730WDI_disableCapablityFeature(wpt_uint8 feature_index);
10731
10732
10733/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010734 @brief WDI_getHostWlanFeatCaps
10735 WDI API that returns whether the feature passed to it as enum value in
10736 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10737 variable storing host capability bitmap to find this. This can be used by
10738 other moduels to decide certain things like call different APIs based on
10739 whether a particular feature is supported.
10740
10741 @param
10742
10743 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10744
10745 @see
10746 @return
10747 0 - if the feature is NOT supported in host
10748 any non-zero value - if the feature is SUPPORTED in host.
10749*/
10750wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10751
10752/**
10753 @brief WDI_getFwWlanFeatCaps
10754 WDI API that returns whether the feature passed to it as enum value in
10755 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10756 variable storing host capability bitmap to find this. This can be used by
10757 other moduels to decide certain things like call different APIs based on
10758 whether a particular feature is supported.
10759
10760 @param
10761
Jeff Johnsone7245742012-09-05 17:12:55 -070010762 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10763 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010764
10765 @see
10766 @return
10767 0 - if the feature is NOT supported in FW
10768 any non-zero value - if the feature is SUPPORTED in FW.
10769*/
10770wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10771
10772/**
10773 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10774 api version
10775
10776 @param WDI_WlanVersionType: Wlan version structure
10777 @see
10778 @return none
10779*/
10780
10781void WDI_GetWcnssCompiledApiVersion
10782(
10783 WDI_WlanVersionType *pWcnssApiVersion
10784);
10785
Mohit Khanna4a70d262012-09-11 16:30:12 -070010786#ifdef WLAN_FEATURE_11AC
10787WDI_Status
10788WDI_UpdateVHTOpModeReq
10789(
10790 WDI_UpdateVHTOpMode *pData,
10791 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10792 void* pUserData
10793);
Jeff Johnson295189b2012-06-20 16:38:30 -070010794
Mohit Khanna4a70d262012-09-11 16:30:12 -070010795#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010796
10797/**
10798 @brief WDI_TransportChannelDebug -
10799 Display DXE Channel debugging information
10800 User may request to display DXE channel snapshot
10801 Or if host driver detects any abnormal stcuk may display
10802
Jeff Johnsonb88db982012-12-10 13:34:59 -080010803 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010804 @param debugFlags : Enable stall detect features
10805 defined by WPAL_DeviceDebugFlags
10806 These features may effect
10807 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010808 @see
10809 @return none
10810*/
10811void WDI_TransportChannelDebug
10812(
10813 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010814 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010815);
10816
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010817/**
10818 @brief WDI_SsrTimerCB
10819 Callback function for SSR timer, if this is called then the graceful
10820 shutdown for Riva did not happen.
10821
10822 @param pUserData : user data to timer
10823
10824 @see
10825 @return none
10826*/
10827void
10828WDI_SsrTimerCB
10829(
10830 void *pUserData
10831);
10832
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010833/**
10834 @brief WDI_SetEnableSSR -
10835 This API is called to enable/disable SSR on WDI timeout.
10836
10837 @param enableSSR : enable/disable SSR
10838
10839 @see
10840 @return none
10841*/
10842void WDI_SetEnableSSR(wpt_boolean enableSSR);
10843
Leo Chang9056f462013-08-01 19:21:11 -070010844#ifdef FEATURE_WLAN_LPHB
10845/**
10846 @brief WDI_LPHBConfReq
10847 This API is called to config FW LPHB rule
10848
10849 @param lphbconfParam : LPHB rule should config to FW
10850 usrData : Client context
10851 lphbCfgCb : Configuration status callback
10852 @see
10853 @return SUCCESS or FAIL
10854*/
10855WDI_Status WDI_LPHBConfReq
10856(
10857 void *lphbconfParam,
10858 void *usrData,
10859 WDI_LphbCfgCb lphbCfgCb
10860);
10861#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010862
Dino Mycle41bdc942014-06-10 11:30:24 +053010863#ifdef WLAN_FEATURE_EXTSCAN
10864/**
10865 @brief WDI_EXTScanStartReq
10866 This API is called to send EXTScan start request to FW
10867
10868 @param pwdiEXTScanStartReqParams : pointer to the request params.
10869 wdiEXTScanStartRspCb : callback on getting the response.
10870 usrData : Client context
10871 @see
10872 @return SUCCESS or FAIL
10873*/
10874WDI_Status WDI_EXTScanStartReq
10875(
10876 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
10877 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
10878 void* pUserData
10879);
10880
10881/**
10882 @brief WDI_EXTScanStopReq
10883 This API is called to stop the EXTScan operations in the FW
10884
10885 @param pwdiEXTScanStopReqParams : pointer to the request params.
10886 wdiEXTScanStopRspCb : callback on getting the response.
10887 usrData : Client context
10888 @see
10889 @return SUCCESS or FAIL
10890*/
10891WDI_Status WDI_EXTScanStopReq
10892(
10893 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
10894 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
10895 void* pUserData
10896);
10897
10898/**
10899 @brief WDI_EXTScanGetCachedResultsReq
10900 This API is called to send get link layer stats request in FW
10901
10902 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10903 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10904 usrData : Client context
10905 @see
10906 @return SUCCESS or FAIL
10907*/
10908WDI_Status WDI_EXTScanGetCachedResultsReq
10909(
10910 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
10911 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
10912 void* pUserData
10913);
10914
10915/**
10916 @brief WDI_EXTScanGetCapabilitiesReq
10917 This API is called to send get EXTScan capabilities from FW
10918
10919 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10920 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10921 usrData : Client context
10922 @see
10923 @return SUCCESS or FAIL
10924*/
10925WDI_Status WDI_EXTScanGetCapabilitiesReq
10926(
10927 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
10928 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
10929 void* pUserData
10930);
10931
10932/**
10933 @brief WDI_EXTScanSetBSSIDHotlistReq
10934 This API is called to send Set BSSID Hotlist Request FW
10935
10936 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
10937 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
10938 usrData : Client context
10939 @see
10940 @return SUCCESS or FAIL
10941*/
10942WDI_Status WDI_EXTScanSetBSSIDHotlistReq
10943(
10944 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
10945 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
10946 void* pUserData
10947);
10948
10949/**
10950 @brief WDI_EXTScanResetBSSIDHotlistReq
10951 This API is called to send Reset BSSID Hotlist Request FW
10952
10953 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
10954 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10955 usrData : Client context
10956 @see
10957 @return SUCCESS or FAIL
10958*/
10959WDI_Status WDI_EXTScanResetBSSIDHotlistReq
10960(
10961 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
10962 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
10963 void* pUserData
10964);
10965
10966/**
10967 @brief WDI_EXTScanSetSignfRSSIChangeReq
10968 This API is called to send Set Significant RSSI Request FW
10969
10970 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
10971 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
10972 usrData : Client context
10973 @see
10974 @return SUCCESS or FAIL
10975*/
10976WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
10977(
10978 WDI_EXTScanSetSignfRSSIChangeReqParams*
10979 pwdiEXTScanSetSignfRSSIChangeReqParams,
10980 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
10981 void* pUserData
10982);
10983
10984/**
10985 @brief WDI_EXTScanResetSignfRSSIChangeReq
10986 This API is called to send Reset BSSID Hotlist Request FW
10987
10988 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
10989 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
10990 usrData : Client context
10991 @see
10992 @return SUCCESS or FAIL
10993*/
10994WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
10995(
10996 WDI_EXTScanResetSignfRSSIChangeReqParams*
10997 pwdiEXTScanResetSignfRSSIChangeReqParams,
10998 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
10999 void* pUserData
11000);
11001#endif /* WLAN_FEATURE_EXTSCAN */
11002
Sunil Duttbd736ed2014-05-26 21:19:41 +053011003#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11004/**
11005 @brief WDI_LLStatsSetReq
11006 This API is called to send set link layer stats request to FW
11007
11008 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11009 wdiLLStatsSetRspCb : set link layer stats response callback
11010 usrData : Client context
11011 @see
11012 @return SUCCESS or FAIL
11013*/
11014WDI_Status WDI_LLStatsSetReq
11015(
11016 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11017 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11018 void* pUserData
11019);
11020
11021/**
11022 @brief WDI_LLStatsGetReq
11023 This API is called to send get link layer stats request in FW
11024
11025 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11026 wdiLLStatsGetRspCb : get link layer stats response callback
11027 usrData : Client context
11028 @see
11029 @return SUCCESS or FAIL
11030*/
11031WDI_Status WDI_LLStatsGetReq
11032(
11033 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11034 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11035 void* pUserData
11036);
11037
11038/**
11039 @brief WDI_LLStatsClearReq
11040 This API is called to set clear link layer stats request in FW
11041
11042 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11043 iwdiLLStatsClearRspCb : clear link layer stats response callback
11044 usrData : Client context
11045 @see
11046 @return SUCCESS or FAIL
11047*/
11048WDI_Status WDI_LLStatsClearReq
11049(
11050 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11051 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11052 void* pUserData
11053);
11054#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11055
Rajeev79dbe4c2013-10-05 11:03:42 +053011056#ifdef FEATURE_WLAN_BATCH_SCAN
11057/**
11058 @brief WDI_SetBatchScanReq
11059 This API is called to set batch scan request in FW
11060
11061 @param pBatchScanReqParam : pointer to set batch scan re param
11062 usrData : Client context
11063 setBatchScanRspCb : set batch scan resp callback
11064 @see
11065 @return SUCCESS or FAIL
11066*/
11067WDI_Status WDI_SetBatchScanReq
11068(
11069 void *pBatchScanReqParam,
11070 void *usrData,
11071 WDI_SetBatchScanCb setBatchScanRspCb
11072);
11073
11074/**
11075 @brief WDI_StopBatchScanInd
11076
11077 @param none
11078
11079 @see
11080
11081 @return Status of the request
11082*/
11083WDI_Status
11084WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11085
11086/**
11087 @brief WDI_TriggerBatchScanResultInd
11088 This API is called to pull batch scan result from FW
11089
11090 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11091 usrData : Client context
11092 setBatchScanRspCb : get batch scan resp callback
11093 @see
11094 @return SUCCESS or FAIL
11095*/
11096WDI_Status
11097WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11098
11099
11100#endif /*FEATURE_WLAN_BATCH_SCAN*/
11101
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011102/**
11103 @brief wdi_HT40OBSSScanInd
11104 This API is called to start OBSS scan
11105
11106 @param pWdiReq : pointer to get ind param
11107 @see
11108 @return SUCCESS or FAIL
11109*/
11110
11111WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11112
11113/**
11114 @brief wdi_HT40OBSSStopScanInd
11115 This API is called to stop OBSS scan
11116
11117 @param bssIdx : bssIdx to stop
11118 @see
11119 @return SUCCESS or FAIL
11120*/
11121
11122WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11123
c_hpothu92367912014-05-01 15:18:17 +053011124
11125WDI_Status WDI_GetBcnMissRate( void *pUserData,
11126 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11127 wpt_uint8 *bssid
11128 );
11129
Jeff Johnson295189b2012-06-20 16:38:30 -070011130#ifdef __cplusplus
11131 }
11132#endif
11133
Jeff Johnson295189b2012-06-20 16:38:30 -070011134#endif /* #ifndef WLAN_QCT_WDI_H */